@ued_fpi/data-visual 1.2.10 → 1.2.12

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 (93) hide show
  1. package/dist/es/aims/src/AirQualityCalendar/index.vue.mjs +70 -52
  2. package/dist/es/aims/src/AirQualityLevelMonthRatio/index.vue.mjs +13 -10
  3. package/dist/es/aims/src/AirQualityLevelYearRatio/index.vue.mjs +3 -3
  4. package/dist/es/aims/src/AirQualityPresentSituation/index.vue.mjs +3 -3
  5. package/dist/es/aims/src/AirQualityRealTimeAndDay/index.vue.mjs +1 -1
  6. package/dist/es/aims/src/AirTimeSeriesAnalysis/index.vue.mjs +10 -10
  7. package/dist/es/aims/src/CieqContributionMonthRatio/index.vue.mjs +18 -17
  8. package/dist/es/aims/src/CieqContributionYearRatio/index.vue.mjs +15 -12
  9. package/dist/es/aims/src/FactorRealTimeRankChart/index.vue.mjs +34 -8
  10. package/dist/es/aims/src/FactorRealTimeRankList/index.vue.mjs +19 -9
  11. package/dist/es/aims/src/MainPollutionMonthRatio/index.vue.mjs +5 -5
  12. package/dist/es/aims/src/MainPollutionYearRatio/index.vue.mjs +2 -2
  13. package/dist/es/aims/src/MainPollutionYearRatioList/api/index.d.ts +123 -0
  14. package/dist/es/aims/src/MainPollutionYearRatioList/api/index.mjs +11 -0
  15. package/dist/es/aims/src/MainPollutionYearRatioList/index.d.ts +125 -0
  16. package/dist/es/aims/src/MainPollutionYearRatioList/index.mjs +7 -0
  17. package/dist/es/aims/src/MainPollutionYearRatioList/index.vue.d.ts +35 -0
  18. package/dist/es/aims/src/MainPollutionYearRatioList/index.vue.mjs +98 -0
  19. package/dist/es/aims/src/MainPollutionYearRatioList/index.vue2.mjs +3 -0
  20. package/dist/es/aims/src/MainPollutionYearRatioList/index.vue3.mjs +6 -0
  21. package/dist/es/aims/src/MulGridAirQualityLevelMonthRatio/index.vue.mjs +13 -10
  22. package/dist/es/aims/src/MulGridCieqContributionMonthRatio/index.vue.mjs +22 -18
  23. package/dist/es/aims/src/TbHbAnalysis/index.vue.mjs +11 -9
  24. package/dist/es/aims/src/WeatherCondition/images/white_humidity.svg.mjs +3 -0
  25. package/dist/es/aims/src/WeatherCondition/images/white_precipitation.svg.mjs +3 -0
  26. package/dist/es/aims/src/WeatherCondition/images/white_pressure.svg.mjs +3 -0
  27. package/dist/es/aims/src/WeatherCondition/images/white_temperature.svg.mjs +3 -0
  28. package/dist/es/aims/src/WeatherCondition/images/white_wind_direction.svg.mjs +3 -0
  29. package/dist/es/aims/src/WeatherCondition/images/white_wind_speed.svg.mjs +3 -0
  30. package/dist/es/aims/src/WeatherCondition/index.vue.mjs +24 -9
  31. package/dist/es/aims/src/common/BasicNoData/index.d.ts +90 -0
  32. package/dist/es/aims/src/common/BasicNoData/index.mjs +6 -0
  33. package/dist/es/aims/src/common/BasicNoData/index.vue.d.ts +2 -0
  34. package/dist/es/aims/src/common/BasicNoData/index.vue.mjs +14 -0
  35. package/dist/es/aims/src/common/BasicNoData/index.vue2.mjs +3 -0
  36. package/dist/es/aims/src/index.d.ts +2 -0
  37. package/dist/es/aims/src/index.mjs +2 -0
  38. package/dist/es/aims/utils/tools.d.ts +4 -0
  39. package/dist/es/aims/utils/tools.mjs +25 -1
  40. package/dist/es/index.mjs +2 -0
  41. package/dist/es/style.css +1 -1
  42. package/dist/lib/aims/index.js +4 -4
  43. package/dist/lib/aims/src/AirQualityCalendar/index.vue.js +70 -52
  44. package/dist/lib/aims/src/AirQualityLevelMonthRatio/index.vue.js +14 -11
  45. package/dist/lib/aims/src/AirQualityLevelYearRatio/index.vue.js +3 -3
  46. package/dist/lib/aims/src/AirQualityPresentSituation/index.vue.js +3 -3
  47. package/dist/lib/aims/src/AirQualityRealTimeAndDay/index.vue.js +1 -1
  48. package/dist/lib/aims/src/AirTimeSeriesAnalysis/index.vue.js +10 -10
  49. package/dist/lib/aims/src/CieqContributionMonthRatio/index.vue.js +18 -17
  50. package/dist/lib/aims/src/CieqContributionYearRatio/index.vue.js +15 -12
  51. package/dist/lib/aims/src/FactorRealTimeRankChart/index.vue.js +32 -6
  52. package/dist/lib/aims/src/FactorRealTimeRankList/index.vue.js +20 -10
  53. package/dist/lib/aims/src/MainPollutionMonthRatio/index.vue.js +5 -5
  54. package/dist/lib/aims/src/MainPollutionYearRatio/index.vue.js +2 -2
  55. package/dist/lib/aims/src/MainPollutionYearRatioList/api/index.d.ts +123 -0
  56. package/dist/lib/aims/src/MainPollutionYearRatioList/api/index.js +15 -0
  57. package/dist/lib/aims/src/MainPollutionYearRatioList/index.d.ts +125 -0
  58. package/dist/lib/aims/src/MainPollutionYearRatioList/index.js +12 -0
  59. package/dist/lib/aims/src/MainPollutionYearRatioList/index.vue.d.ts +35 -0
  60. package/dist/lib/aims/src/MainPollutionYearRatioList/index.vue.js +102 -0
  61. package/dist/lib/aims/src/MainPollutionYearRatioList/index.vue2.js +7 -0
  62. package/dist/lib/aims/src/MainPollutionYearRatioList/index.vue3.js +10 -0
  63. package/dist/lib/aims/src/MulGridAirQualityLevelMonthRatio/index.vue.js +14 -11
  64. package/dist/lib/aims/src/MulGridCieqContributionMonthRatio/index.vue.js +23 -19
  65. package/dist/lib/aims/src/TbHbAnalysis/index.vue.js +11 -9
  66. package/dist/lib/aims/src/WeatherCondition/images/white_humidity.svg.js +7 -0
  67. package/dist/lib/aims/src/WeatherCondition/images/white_precipitation.svg.js +7 -0
  68. package/dist/lib/aims/src/WeatherCondition/images/white_pressure.svg.js +7 -0
  69. package/dist/lib/aims/src/WeatherCondition/images/white_temperature.svg.js +7 -0
  70. package/dist/lib/aims/src/WeatherCondition/images/white_wind_direction.svg.js +7 -0
  71. package/dist/lib/aims/src/WeatherCondition/images/white_wind_speed.svg.js +7 -0
  72. package/dist/lib/aims/src/WeatherCondition/index.vue.js +23 -8
  73. package/dist/lib/aims/src/common/BasicNoData/index.d.ts +90 -0
  74. package/dist/lib/aims/src/common/BasicNoData/index.js +11 -0
  75. package/dist/lib/aims/src/common/BasicNoData/index.vue.d.ts +2 -0
  76. package/dist/lib/aims/src/common/BasicNoData/index.vue.js +18 -0
  77. package/dist/lib/aims/src/common/BasicNoData/index.vue2.js +7 -0
  78. package/dist/lib/aims/src/index.d.ts +2 -0
  79. package/dist/lib/aims/src/index.js +40 -36
  80. package/dist/lib/aims/utils/tools.d.ts +4 -0
  81. package/dist/lib/aims/utils/tools.js +25 -0
  82. package/dist/lib/index.js +154 -150
  83. package/dist/lib/style.css +1 -1
  84. package/dist/style/style-aims.css +1 -1
  85. package/package.json +2 -2
  86. package/dist/es/aims/src/AirQualityCalendar/images/left-arrow-double.png.mjs +0 -3
  87. package/dist/es/aims/src/AirQualityCalendar/images/left-arrow.png.mjs +0 -3
  88. package/dist/es/aims/src/AirQualityCalendar/images/right-arrow-double.png.mjs +0 -3
  89. package/dist/es/aims/src/AirQualityCalendar/images/right-arrow.png.mjs +0 -3
  90. package/dist/lib/aims/src/AirQualityCalendar/images/left-arrow-double.png.js +0 -7
  91. package/dist/lib/aims/src/AirQualityCalendar/images/left-arrow.png.js +0 -7
  92. package/dist/lib/aims/src/AirQualityCalendar/images/right-arrow-double.png.js +0 -7
  93. package/dist/lib/aims/src/AirQualityCalendar/images/right-arrow.png.js +0 -7
@@ -11,6 +11,7 @@ const index = require('./api/index.js');
11
11
  const index_vue_vue_type_script_setup_true_lang = require('../common/BasicEcharts/index.vue.js');
12
12
  require('../common/BasicEcharts/index.vue2.js');
13
13
 
14
+ const _hoisted_1 = { class: "text" };
14
15
  const clsfix = "dv-aims-factor-realtime-rank-chart";
15
16
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
16
17
  __name: "index",
@@ -39,10 +40,19 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
39
40
  const selectName = vue.computed(() => {
40
41
  return selectOptions.find((c) => c.code === selectCode.value)?.name;
41
42
  });
43
+ const lengendOptions = fpiTgFactorTools.FACTOR_LEVEL_TEXT.map((item) => {
44
+ return {
45
+ name: item.label.length > 1 ? `${item.label}污染` : item.label,
46
+ color: item.color
47
+ };
48
+ });
49
+ const time = vue.ref(20);
42
50
  const chartWidth = vue.ref(370);
43
51
  const isLoadChartWidth = vue.ref(false);
44
52
  const chartsFullOptions = vue.ref({ options: null });
45
53
  const generateOption = (list) => {
54
+ if (list.length)
55
+ time.value = list.length * 1.5;
46
56
  return {
47
57
  options: {
48
58
  grid: {
@@ -66,7 +76,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
66
76
  show: false
67
77
  },
68
78
  axisLabel: {
69
- color: "#FFF",
79
+ color: "var(--dv-color-text-primary)",
70
80
  fontSize: 12
71
81
  },
72
82
  data: list.map((item) => {
@@ -77,7 +87,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
77
87
  type: "value",
78
88
  name: selectUnit.value,
79
89
  nameTextStyle: {
80
- color: "rgba(255, 255, 255, 0.5)",
90
+ color: "var(--dv-color-text-secondary)",
81
91
  padding: [0, 30, 0, 0]
82
92
  },
83
93
  splitNumber: 3,
@@ -89,12 +99,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
89
99
  },
90
100
  axisLabel: {
91
101
  show: true,
92
- color: "rgba(255, 255, 255, 0.5)"
102
+ color: "var(--dv-color-text-secondary)"
93
103
  },
94
104
  splitLine: {
95
105
  show: true,
96
106
  lineStyle: {
97
- color: ["rgba(255, 255, 255, 0.3)"]
107
+ color: ["var(--dv-color-border-light)"]
98
108
  }
99
109
  }
100
110
  },
@@ -163,9 +173,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
163
173
  }, [
164
174
  isLoadChartWidth.value ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlusExpand.FpiElRolling), {
165
175
  key: 0,
176
+ style: { "height": "calc(100% - 27px)" },
166
177
  direction: "x",
167
178
  "scroll-able": "",
168
- time: 20
179
+ time: time.value
169
180
  }, {
170
181
  default: vue.withCtx(() => [
171
182
  vue.createElementVNode("div", {
@@ -180,7 +191,22 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
180
191
  ], 2)
181
192
  ]),
182
193
  _: 1
183
- })) : vue.createCommentVNode("", true)
194
+ }, 8, ["time"])) : vue.createCommentVNode("", true),
195
+ vue.createElementVNode("ul", {
196
+ class: vue.normalizeClass(`${clsfix}-lengend`)
197
+ }, [
198
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(lengendOptions), (item) => {
199
+ return vue.openBlock(), vue.createElementBlock("li", {
200
+ key: item.color
201
+ }, [
202
+ vue.createElementVNode("span", {
203
+ class: "border",
204
+ style: vue.normalizeStyle({ backgroundColor: item.color })
205
+ }, null, 4),
206
+ vue.createElementVNode("span", _hoisted_1, vue.toDisplayString(item.name), 1)
207
+ ]);
208
+ }), 128))
209
+ ], 2)
184
210
  ], 2);
185
211
  };
186
212
  }
@@ -6,7 +6,10 @@ const vue = require('vue');
6
6
  const elementPlusExpand = require('@ued_fpi/element-plus-expand');
7
7
  const fpiTgFactorTools = require('fpi-tg-factor-tools');
8
8
  const dayjs = require('dayjs');
9
- const index = require('./api/index.js');
9
+ require('../common/BasicNoData/index.js');
10
+ const tools = require('../../utils/tools.js');
11
+ const index$1 = require('./api/index.js');
12
+ const index = require('../common/BasicNoData/index.vue.js');
10
13
 
11
14
  const _hoisted_1 = /* @__PURE__ */ vue.createElementVNode("li", null, null, -1);
12
15
  const _hoisted_2 = { class: "rank" };
@@ -32,6 +35,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
32
35
  },
33
36
  setup(__props) {
34
37
  const props = __props;
38
+ const time = vue.ref(10);
35
39
  const showList = vue.shallowRef([]);
36
40
  const isLoaded = vue.ref(false);
37
41
  const findMaxValue = (list) => {
@@ -44,7 +48,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
44
48
  return maxValue;
45
49
  };
46
50
  const fetchData = () => {
47
- index.getSiteRank({ ...props.apiParams, factorCode: props.factorCode }).then((res) => {
51
+ index$1.getSiteRank({ ...props.apiParams, factorCode: props.factorCode }).then((res) => {
48
52
  if (res.data && res.data.entries) {
49
53
  const key = fpiTgFactorTools.BASE_FACTOR.find((c) => c.code === props.factorCode)?.name;
50
54
  const list = res.data.entries.map((item) => {
@@ -58,13 +62,16 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
58
62
  });
59
63
  const maxValue = findMaxValue(list);
60
64
  showList.value = list.map((item) => {
65
+ const color = fpiTgFactorTools.factorToColor(props.factorCode, item.value, "hour");
61
66
  return {
62
67
  ...item,
63
68
  progress: item.value / maxValue * 100,
64
- color: fpiTgFactorTools.factorToColor(props.factorCode, item.value, "hour"),
69
+ color,
70
+ bgColor: `linear-gradient(270deg, ${color} 0%, ${tools.getHexOpacityColor(color, 0.2)} 100%)`,
65
71
  showBar: Number(item.value) > 0
66
72
  };
67
73
  });
74
+ time.value = showList.value.length * 1.2;
68
75
  isLoaded.value = true;
69
76
  }
70
77
  });
@@ -88,6 +95,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
88
95
  showBar: Number(item.value) > 0
89
96
  };
90
97
  });
98
+ time.value = showList.value.length * 1.2;
91
99
  isLoaded.value = true;
92
100
  }
93
101
  });
@@ -95,7 +103,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
95
103
  return vue.openBlock(), vue.createElementBlock("div", {
96
104
  class: vue.normalizeClass(`${clsfix}-container`)
97
105
  }, [
98
- vue.createElementVNode("ul", {
106
+ isLoaded.value && showList.value.length ? (vue.openBlock(), vue.createElementBlock("ul", {
107
+ key: 0,
99
108
  class: vue.normalizeClass(`${clsfix}-header`)
100
109
  }, [
101
110
  _hoisted_1,
@@ -103,13 +112,13 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
103
112
  vue.createElementVNode("span", null, vue.toDisplayString(_ctx.columnNames[0]), 1)
104
113
  ]),
105
114
  vue.createElementVNode("li", null, vue.toDisplayString(_ctx.columnNames[1]), 1)
106
- ], 2),
107
- isLoaded.value ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlusExpand.FpiElRolling), {
108
- key: 0,
115
+ ], 2)) : vue.createCommentVNode("", true),
116
+ isLoaded.value && showList.value.length ? (vue.openBlock(), vue.createBlock(vue.unref(elementPlusExpand.FpiElRolling), {
117
+ key: 1,
109
118
  style: { "height": "calc(100% - 26px)" },
110
119
  direction: "y",
111
120
  "scroll-able": "",
112
- time: 10
121
+ time: time.value
113
122
  }, {
114
123
  default: vue.withCtx(() => [
115
124
  vue.createElementVNode("ul", {
@@ -126,7 +135,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
126
135
  vue.createElementVNode("span", _hoisted_5, [
127
136
  vue.withDirectives(vue.createElementVNode("span", {
128
137
  class: "progress-bar",
129
- style: vue.normalizeStyle({ width: `${item.progress}%`, backgroundColor: item.color })
138
+ style: vue.normalizeStyle({ width: `${item.progress}%`, background: item.bgColor })
130
139
  }, null, 4), [
131
140
  [vue.vShow, item.showBar]
132
141
  ])
@@ -141,7 +150,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
141
150
  ], 2)
142
151
  ]),
143
152
  _: 1
144
- })) : vue.createCommentVNode("", true)
153
+ }, 8, ["time"])) : vue.createCommentVNode("", true),
154
+ !isLoaded.value || !showList.value.length ? (vue.openBlock(), vue.createBlock(vue.unref(index.default), { key: 2 })) : vue.createCommentVNode("", true)
145
155
  ], 2);
146
156
  };
147
157
  }
@@ -67,7 +67,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
67
67
  show: false
68
68
  },
69
69
  axisLabel: {
70
- color: "#FFF",
70
+ color: "var(--dv-color-text-primary)",
71
71
  fontSize: 12,
72
72
  interval: 0,
73
73
  formatter: (value) => value.substr(5)
@@ -78,7 +78,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
78
78
  type: "value",
79
79
  name: "天",
80
80
  nameTextStyle: {
81
- color: "rgba(255, 255, 255, 0.5)",
81
+ color: "var(--dv-color-text-secondary)",
82
82
  padding: [0, 30, 0, 0]
83
83
  },
84
84
  splitNumber: 3,
@@ -90,12 +90,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
90
90
  },
91
91
  axisLabel: {
92
92
  show: true,
93
- color: "rgba(255, 255, 255, 0.5)"
93
+ color: "var(--dv-color-text-secondary)"
94
94
  },
95
95
  splitLine: {
96
96
  show: true,
97
97
  lineStyle: {
98
- color: ["rgba(255, 255, 255, 0.3)"]
98
+ color: ["var(--dv-color-border-light)"]
99
99
  }
100
100
  }
101
101
  },
@@ -104,7 +104,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
104
104
  bottom: 0,
105
105
  itemGap: 4,
106
106
  textStyle: {
107
- color: "#FFF",
107
+ color: "var(--dv-color-text-primary)",
108
108
  fontSize: 12
109
109
  },
110
110
  itemWidth: 10,
@@ -31,7 +31,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
31
31
  bottom: -4,
32
32
  itemGap: 4,
33
33
  textStyle: {
34
- color: "#FFF",
34
+ color: "var(--dv-color-text-primary)",
35
35
  fontSize: 12
36
36
  },
37
37
  icon: "circle",
@@ -58,7 +58,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
58
58
  data: list,
59
59
  label: {
60
60
  position: "outer",
61
- color: "#fff",
61
+ color: "var(--dv-color-text-primary)",
62
62
  overflow: "none",
63
63
  formatter: (params) => {
64
64
  const { name, value, num } = params.data;
@@ -0,0 +1,123 @@
1
+ interface GetAirQualityStatisParams {
2
+ time: number;
3
+ codeType: string;
4
+ code: string;
5
+ }
6
+ interface PrimaryYearSum$1Type {
7
+ NO2: number;
8
+ noMainPollutant: number;
9
+ total: number;
10
+ O3: number;
11
+ 'PM2.5': number;
12
+ SO2: number;
13
+ PM10: number;
14
+ CO: number;
15
+ }
16
+ interface PrimaryMonthSum$2Type {
17
+ NO2: Array<number>;
18
+ noMainPollutant: Array<number>;
19
+ times: Array<string>;
20
+ O3: Array<number>;
21
+ 'PM2.5': Array<number>;
22
+ SO2: Array<number>;
23
+ PM10: Array<number>;
24
+ CO: Array<number>;
25
+ }
26
+ interface PrimaryPollutant$3Type {
27
+ primaryYearSum: PrimaryYearSum$1Type;
28
+ primaryMonthSum: PrimaryMonthSum$2Type;
29
+ }
30
+ interface CIEQYearValueRate$4Type {
31
+ 'V_ICIEQ_PM2.5': number;
32
+ V_ICIEQ_NO2: number;
33
+ V_ICIEQ_PM10: number;
34
+ V_ICIEQ_O3: number;
35
+ V_ICIEQ_CO: number;
36
+ V_ICIEQ_SO2: number;
37
+ }
38
+ interface CIEQYearValue$5Type {
39
+ V_ICIEQ_CO: number;
40
+ V_ICIEQ_SO2: number;
41
+ 'V_ICIEQ_PM2.5': number;
42
+ V_ICIEQ_NO2: number;
43
+ V_ICIEQ_PM10: number;
44
+ cieq: number;
45
+ V_ICIEQ_O3: number;
46
+ }
47
+ interface CIEQMonthValueRate$6Type {
48
+ times: Array<string>;
49
+ V_ICIEQ_CO: Array<number | string>;
50
+ V_ICIEQ_SO2: Array<number | string>;
51
+ 'V_ICIEQ_PM2.5': Array<number | string>;
52
+ V_ICIEQ_NO2: Array<string | number>;
53
+ V_ICIEQ_PM10: Array<string | number>;
54
+ V_ICIEQ_O3: Array<number | string>;
55
+ }
56
+ interface CIEQMonthValue$7Type {
57
+ times: Array<string>;
58
+ V_ICIEQ_CO: Array<number | string>;
59
+ V_ICIEQ_SO2: Array<number | string>;
60
+ 'V_ICIEQ_PM2.5': Array<number | string>;
61
+ V_ICIEQ_NO2: Array<string | number>;
62
+ V_ICIEQ_PM10: Array<string | number>;
63
+ cieq: Array<number | string>;
64
+ V_ICIEQ_O3: Array<number | string>;
65
+ }
66
+ interface CIEQ$8Type {
67
+ CIEQYearValueRate: CIEQYearValueRate$4Type;
68
+ CIEQYearValue: CIEQYearValue$5Type;
69
+ CIEQMonthValueRate: CIEQMonthValueRate$6Type;
70
+ CIEQMonthValue: CIEQMonthValue$7Type;
71
+ }
72
+ interface LevelMonthSum$9Type {
73
+ veryGood: Array<number>;
74
+ total: Array<number>;
75
+ times: Array<string>;
76
+ mild: Array<number>;
77
+ serious: Array<number>;
78
+ medium: Array<number>;
79
+ verySerious: Array<number>;
80
+ good: Array<number>;
81
+ }
82
+ interface LevelMonthSumRate$10Type {
83
+ veryGood: Array<number>;
84
+ serious: Array<number>;
85
+ medium: Array<number>;
86
+ verySerious: Array<number>;
87
+ good: Array<number>;
88
+ mild: Array<number>;
89
+ }
90
+ interface LevelYearSumRate$11Type {
91
+ veryGood: number;
92
+ serious: number;
93
+ medium: number;
94
+ verySerious: number;
95
+ good: number;
96
+ mild: number;
97
+ }
98
+ interface LevelYearSum$12Type {
99
+ veryGood: number;
100
+ total: number;
101
+ mild: number;
102
+ serious: number;
103
+ medium: number;
104
+ verySerious: number;
105
+ good: number;
106
+ }
107
+ interface AirQualityLevel$13Type {
108
+ levelMonthSum: LevelMonthSum$9Type;
109
+ levelMonthSumRate: LevelMonthSumRate$10Type;
110
+ levelYearSumRate: LevelYearSumRate$11Type;
111
+ levelYearSum: LevelYearSum$12Type;
112
+ }
113
+ interface Data$14Type {
114
+ primaryPollutant: PrimaryPollutant$3Type;
115
+ CIEQ: CIEQ$8Type;
116
+ airQualityLevel: AirQualityLevel$13Type;
117
+ }
118
+ export declare const getAirQualityStatis: (params: GetAirQualityStatisParams) => Promise<{
119
+ code: number;
120
+ data: Data$14Type | null;
121
+ message: string;
122
+ }>;
123
+ export type { GetAirQualityStatisParams };
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const request = require('../../../service/request.js');
6
+
7
+ const getAirQualityStatis = (params) => {
8
+ return request.default({
9
+ url: "/aims-server/web/api/v1/env-feature/air-quality-statis",
10
+ method: "get",
11
+ params
12
+ });
13
+ };
14
+
15
+ exports.getAirQualityStatis = getAirQualityStatis;
@@ -0,0 +1,125 @@
1
+ import _MainPollutionYearRatioList from './index.vue';
2
+ export declare const DvAimsMainPollutionYearRatioList: {
3
+ new (...args: any[]): {
4
+ $: import("vue").ComponentInternalInstance;
5
+ $data: {};
6
+ $props: {
7
+ apiParams?: import("./api").GetAirQualityStatisParams | undefined;
8
+ key?: string | number | symbol | undefined;
9
+ style?: unknown;
10
+ ref?: import("vue").VNodeRef | undefined;
11
+ ref_for?: boolean | undefined;
12
+ ref_key?: string | undefined;
13
+ onVnodeBeforeMount?: ((vnode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
14
+ [key: string]: any;
15
+ }>) => void) | ((vnode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
16
+ [key: string]: any;
17
+ }>) => void)[] | undefined;
18
+ onVnodeMounted?: ((vnode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
19
+ [key: string]: any;
20
+ }>) => void) | ((vnode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
21
+ [key: string]: any;
22
+ }>) => void)[] | undefined;
23
+ onVnodeBeforeUpdate?: ((vnode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
24
+ [key: string]: any;
25
+ }>, oldVNode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
26
+ [key: string]: any;
27
+ }>) => void) | ((vnode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
28
+ [key: string]: any;
29
+ }>, oldVNode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
30
+ [key: string]: any;
31
+ }>) => void)[] | undefined;
32
+ onVnodeUpdated?: ((vnode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
33
+ [key: string]: any;
34
+ }>, oldVNode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
35
+ [key: string]: any;
36
+ }>) => void) | ((vnode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
37
+ [key: string]: any;
38
+ }>, oldVNode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
39
+ [key: string]: any;
40
+ }>) => void)[] | undefined;
41
+ onVnodeBeforeUnmount?: ((vnode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
42
+ [key: string]: any;
43
+ }>) => void) | ((vnode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
44
+ [key: string]: any;
45
+ }>) => void)[] | undefined;
46
+ onVnodeUnmounted?: ((vnode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
47
+ [key: string]: any;
48
+ }>) => void) | ((vnode: globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
49
+ [key: string]: any;
50
+ }>) => void)[] | undefined;
51
+ class?: unknown;
52
+ };
53
+ $attrs: {
54
+ [x: string]: unknown;
55
+ };
56
+ $refs: {
57
+ [x: string]: unknown;
58
+ };
59
+ $slots: Readonly<{
60
+ [name: string]: import("vue").Slot<any> | undefined;
61
+ }>;
62
+ $root: globalThis.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
63
+ $parent: globalThis.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
64
+ $emit: (event: string, ...args: any[]) => void;
65
+ $el: any;
66
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
67
+ apiParams: {
68
+ type: globalThis.PropType<import("./api").GetAirQualityStatisParams>;
69
+ } & {
70
+ default: () => {
71
+ time: number;
72
+ code: string;
73
+ codeType: string;
74
+ };
75
+ };
76
+ }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
77
+ apiParams: import("./api").GetAirQualityStatisParams;
78
+ }, {}, string, {}> & {
79
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
80
+ created?: ((() => void) | (() => void)[]) | undefined;
81
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
82
+ mounted?: ((() => void) | (() => void)[]) | undefined;
83
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
84
+ updated?: ((() => void) | (() => void)[]) | undefined;
85
+ activated?: ((() => void) | (() => void)[]) | undefined;
86
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
87
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
88
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
89
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
90
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
91
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
92
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
93
+ errorCaptured?: (((err: unknown, instance: globalThis.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: globalThis.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
94
+ };
95
+ $forceUpdate: () => void;
96
+ $nextTick: typeof import("vue").nextTick;
97
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
98
+ } & Readonly<import("vue").ExtractPropTypes<{
99
+ apiParams: {
100
+ type: globalThis.PropType<import("./api").GetAirQualityStatisParams>;
101
+ } & {
102
+ default: () => {
103
+ time: number;
104
+ code: string;
105
+ codeType: string;
106
+ };
107
+ };
108
+ }>> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {};
109
+ __isFragment?: undefined;
110
+ __isTeleport?: undefined;
111
+ __isSuspense?: undefined;
112
+ } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
113
+ apiParams: {
114
+ type: globalThis.PropType<import("./api").GetAirQualityStatisParams>;
115
+ } & {
116
+ default: () => {
117
+ time: number;
118
+ code: string;
119
+ codeType: string;
120
+ };
121
+ };
122
+ }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
123
+ apiParams: import("./api").GetAirQualityStatisParams;
124
+ }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin<any[]>;
125
+ export default _MainPollutionYearRatioList;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const utils = require('../../../utils.js');
6
+ const index_vue_vue_type_script_setup_true_lang = require('./index.vue.js');
7
+ require('./index.vue2.js');
8
+
9
+ const DvAimsMainPollutionYearRatioList = utils.install(index_vue_vue_type_script_setup_true_lang.default);
10
+
11
+ exports.default = index_vue_vue_type_script_setup_true_lang.default;
12
+ exports.DvAimsMainPollutionYearRatioList = DvAimsMainPollutionYearRatioList;
@@ -0,0 +1,35 @@
1
+ import type { GetAirQualityStatisParams } from './api';
2
+ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
3
+ apiParams?: GetAirQualityStatisParams | undefined;
4
+ }>, {
5
+ apiParams: () => {
6
+ time: number;
7
+ code: string;
8
+ codeType: string;
9
+ };
10
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
11
+ apiParams?: GetAirQualityStatisParams | undefined;
12
+ }>, {
13
+ apiParams: () => {
14
+ time: number;
15
+ code: string;
16
+ codeType: string;
17
+ };
18
+ }>>>, {
19
+ apiParams: GetAirQualityStatisParams;
20
+ }, {}>;
21
+ export default _default;
22
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
23
+ type __VLS_TypePropsToRuntimeProps<T> = {
24
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
25
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
26
+ } : {
27
+ type: import('vue').PropType<T[K]>;
28
+ required: true;
29
+ };
30
+ };
31
+ type __VLS_WithDefaults<P, D> = {
32
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? P[K] & {
33
+ default: D[K];
34
+ } : P[K];
35
+ };
@@ -0,0 +1,102 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const vue = require('vue');
6
+ const fpiTgFactorTools = require('fpi-tg-factor-tools');
7
+ const dayjs = require('dayjs');
8
+ const tools = require('../../utils/tools.js');
9
+ const index = require('./api/index.js');
10
+
11
+ const _hoisted_1 = { class: "progress-box" };
12
+ const _hoisted_2 = { class: "name" };
13
+ const _hoisted_3 = { class: "bar" };
14
+ const clsfix = "dv-aims-main-pollution-year-ratio-list";
15
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
16
+ __name: "index",
17
+ props: {
18
+ apiParams: { default: () => ({
19
+ time: dayjs().subtract(1, "h").valueOf(),
20
+ code: "0101000000",
21
+ codeType: "grid"
22
+ }) }
23
+ },
24
+ setup(__props) {
25
+ const props = __props;
26
+ const showList = vue.shallowRef([]);
27
+ const fetchData = () => {
28
+ const colors = [
29
+ "#0062FF",
30
+ "#0AAEFF",
31
+ "#2AC94F",
32
+ "#FF792E",
33
+ "#F84439",
34
+ "#FFB443",
35
+ "rgb(154, 154, 154)"
36
+ ];
37
+ index.getAirQualityStatis(props.apiParams).then((res) => {
38
+ if (res.data && res.data.primaryPollutant.primaryYearSum) {
39
+ console.log(res);
40
+ const data = res.data.primaryPollutant.primaryYearSum;
41
+ const rawList = fpiTgFactorTools.BASE_FACTOR.filter((item) => item.code !== "aqi");
42
+ rawList.push({
43
+ name: "无首污",
44
+ key: "noMainPollutant",
45
+ code: "noMainPollutant",
46
+ unit: "",
47
+ key3: ""
48
+ });
49
+ const renderData = rawList.map((item, index) => {
50
+ const v = data[item.key];
51
+ const rate = (v / data.total * 100).toFixed(1);
52
+ const color = colors[index];
53
+ return {
54
+ name: item.name,
55
+ progress: rate,
56
+ color,
57
+ bgColor: `linear-gradient(270deg, ${color} 0%, ${tools.getHexOpacityColor(color, 0.2)} 100%)`,
58
+ showBar: Number(rate) > 0
59
+ };
60
+ });
61
+ showList.value = renderData;
62
+ }
63
+ });
64
+ };
65
+ vue.onMounted(() => {
66
+ fetchData();
67
+ });
68
+ vue.watch(() => props.apiParams, () => {
69
+ fetchData();
70
+ });
71
+ return (_ctx, _cache) => {
72
+ return vue.openBlock(), vue.createElementBlock("ul", {
73
+ class: vue.normalizeClass(`${clsfix}-list-wrap`)
74
+ }, [
75
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(showList.value, (item) => {
76
+ return vue.openBlock(), vue.createElementBlock("li", {
77
+ key: item.name,
78
+ class: vue.normalizeClass(`${clsfix}-list-item`)
79
+ }, [
80
+ vue.createElementVNode("div", _hoisted_1, [
81
+ vue.createElementVNode("span", _hoisted_2, vue.toDisplayString(item.name), 1),
82
+ vue.createElementVNode("span", _hoisted_3, [
83
+ vue.withDirectives(vue.createElementVNode("span", {
84
+ class: "progress-bar",
85
+ style: vue.normalizeStyle({ width: `${item.progress}%`, background: item.bgColor })
86
+ }, null, 4), [
87
+ [vue.vShow, item.showBar]
88
+ ])
89
+ ])
90
+ ]),
91
+ vue.createElementVNode("span", {
92
+ class: "value",
93
+ style: vue.normalizeStyle({ color: item.color })
94
+ }, vue.toDisplayString(item.progress) + "%", 5)
95
+ ], 2);
96
+ }), 128))
97
+ ], 2);
98
+ };
99
+ }
100
+ });
101
+
102
+ exports.default = _sfc_main;