xt-element-ui 1.1.0 → 1.1.2

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 (74) hide show
  1. package/lib/css/2.3f7aa432.css +1 -0
  2. package/lib/css/3.ffcc175d.css +1 -0
  3. package/lib/css/4.9abd1f2b.css +1 -0
  4. package/lib/css/5.1a31ed8a.css +1 -0
  5. package/lib/css/6.c2d0d77e.css +1 -0
  6. package/lib/index.common.0.js +120208 -0
  7. package/lib/index.common.2.js +1053 -0
  8. package/lib/index.common.3.js +996 -0
  9. package/lib/index.common.4.js +1108 -0
  10. package/lib/index.common.5.js +1009 -0
  11. package/lib/index.common.6.js +973 -0
  12. package/lib/index.common.js +8003 -211
  13. package/lib/index.css +1 -1
  14. package/lib/index.umd.0.js +120208 -0
  15. package/lib/index.umd.2.js +1053 -0
  16. package/lib/index.umd.3.js +996 -0
  17. package/lib/index.umd.4.js +1108 -0
  18. package/lib/index.umd.5.js +1009 -0
  19. package/lib/index.umd.6.js +973 -0
  20. package/lib/index.umd.js +8003 -211
  21. package/lib/index.umd.min.0.js +34 -0
  22. package/lib/index.umd.min.2.js +1 -0
  23. package/lib/index.umd.min.3.js +1 -0
  24. package/lib/index.umd.min.4.js +1 -0
  25. package/lib/index.umd.min.5.js +1 -0
  26. package/lib/index.umd.min.6.js +1 -0
  27. package/lib/index.umd.min.js +1 -1
  28. package/package.json +7 -3
  29. package/src/components/button/index.vue +5 -5
  30. package/src/components/button/style/index.scss +743 -90
  31. package/src/components/chart/ExBar.vue +203 -0
  32. package/src/components/chart/ExLine.vue +146 -0
  33. package/src/components/chart/ExMulti.vue +257 -0
  34. package/src/components/chart/ExPie.vue +159 -0
  35. package/src/components/chart/ExTrend.vue +121 -0
  36. package/src/components/chart/index.js +2 -0
  37. package/src/components/chart/index.vue +51 -0
  38. package/src/components/chart/pieList.vue +110 -0
  39. package/src/components/chart/theme/blue.js +91 -0
  40. package/src/components/chart/theme/dark.js +91 -0
  41. package/src/components/chart/theme/orange.js +92 -0
  42. package/src/components/chart/theme/starry.js +106 -0
  43. package/src/components/chart/theme/white.js +110 -0
  44. package/src/components/chart/utils.js +273 -0
  45. package/src/components/config-provider/index.vue +150 -51
  46. package/src/components/config-provider/style/index.scss +2 -2
  47. package/src/components/date-picker/SearchDate.vue +45 -0
  48. package/src/components/date-picker/index.js +2 -0
  49. package/src/components/date-picker/index.vue +131 -0
  50. package/src/components/date-picker/quarter.vue +152 -0
  51. package/src/components/grid-box/index.js +2 -0
  52. package/src/components/grid-box/index.vue +42 -0
  53. package/src/components/layout/BaseCollapse.vue +48 -0
  54. package/src/components/layout/ExFieldset.vue +204 -0
  55. package/src/components/page/index.js +0 -0
  56. package/src/components/page/index.vue +109 -0
  57. package/src/components/select-tree/index.js +0 -0
  58. package/src/components/select-tree/index.vue +386 -0
  59. package/src/components/table/ExCell.vue +27 -0
  60. package/src/components/table/ExColumn.vue +36 -0
  61. package/src/components/table/index.js +2 -0
  62. package/src/components/table/index.vue +731 -0
  63. package/src/components/table/processor.js +380 -0
  64. package/src/components/text/index.vue +79 -2
  65. package/src/components/text/style/index.scss +28 -6
  66. package/src/components/upload/index.js +2 -0
  67. package/src/components/upload/index.vue +225 -0
  68. package/src/components/upload/preview.vue +333 -0
  69. package/src/index.js +11 -2
  70. package/src/styles/css-variables.scss +238 -148
  71. package/src/styles/theme/background.scss +1 -1
  72. package/src/styles/theme/colors.scss +90 -1
  73. package/src/styles/variables.scss +1 -1
  74. package/src/components/button/style/index copy.scss +0 -221
@@ -0,0 +1,203 @@
1
+ <template>
2
+ <div ref="barchart" class="bar-box"></div>
3
+ </template>
4
+ <script>
5
+ import EchartsUtil from "./utils";
6
+ export default {
7
+ name: "XtBar",
8
+ props: {
9
+ chartData: {
10
+ type: Array,
11
+ default: () => {
12
+ return [
13
+ { value: 65, name: "吴十" },
14
+ { value: 70, name: "唐九" },
15
+ { value: 73, name: "钱一" },
16
+ { value: 78, name: "孙二" },
17
+ { value: 88, name: "刘八" },
18
+ { value: 93, name: "王七" },
19
+ { value: 99, name: "赵六" },
20
+ { value: 103, name: "宋五" },
21
+ { value: 113, name: "李四" },
22
+ { value: 125, name: "张三" }
23
+ ];
24
+ }
25
+ },
26
+ theme: {},
27
+ size: {
28
+ type: String,
29
+ default: "medium"
30
+ },
31
+ // name: {
32
+ // type: String,
33
+ // default: ""
34
+ // },
35
+ markPoint: {
36
+ type: Boolean,
37
+ default: false
38
+ },
39
+ energyType: {
40
+ type: String,
41
+ default: ""
42
+ },
43
+ showZoom: {
44
+ type: Boolean,
45
+ default: false
46
+ },
47
+ reverse: {
48
+ type: Boolean,
49
+ default: false
50
+ },
51
+ longLable: { // 名称占50% 的 grid值
52
+ type: Boolean,
53
+ default: false
54
+ },
55
+ longLableSplitNum: {
56
+ type: Number,
57
+ default: 1
58
+ },
59
+ longLablePx: {
60
+ type: Number,
61
+ default: 150
62
+ },
63
+ splitNumber: {
64
+ type: Number,
65
+ default: 5
66
+ }
67
+ },
68
+ data() {
69
+ return {
70
+ myChart: null,
71
+ name: "数量"
72
+ };
73
+ },
74
+ watch: {
75
+ chartData: {
76
+ deep: true,
77
+ handler(newVal, oldVal) {
78
+ const _self = this;
79
+ _self.initChart();
80
+ }
81
+ },
82
+ energyType: {
83
+ deep: true,
84
+ handler(newVal, oldVal) {
85
+ const _self = this;
86
+ if (newVal == "kW.h") {
87
+ _self.name = "用电量";
88
+ } else if (newVal == "m³") {
89
+ _self.name = "用气量";
90
+ }
91
+ _self.initChart();
92
+ }
93
+ }
94
+ },
95
+ mounted() {
96
+ this.initChart();
97
+ },
98
+ methods: {
99
+ initChart() {
100
+ const _self = this;
101
+ // 数据处理
102
+ const _xAxis = {
103
+ type: "category",
104
+ inverse: this.reverse,
105
+ axisLabel: {
106
+ interval: 0,
107
+ formatter: function(value) {
108
+ return !_self.reverse && _self.longLable ? value.replace(new RegExp(`(.{${_self.longLableSplitNum}})`, 'g'), `$1\n`) : value;
109
+ }
110
+ },
111
+ data: _self.chartData.map((item) => {
112
+ return item.name;
113
+ })
114
+ };
115
+ const _yAxis = {
116
+ type: "value",
117
+ splitLine: {
118
+ lineStyle: {
119
+ type: "dashed"
120
+ }
121
+ },
122
+ name: _self.energyType,
123
+ axisTick: {
124
+ inside: true
125
+ },
126
+ min: 0,
127
+ splitNumber: _self.splitNumber,
128
+ max: function(value) {
129
+ return Math.ceil(value.max / _self.splitNumber) * _self.splitNumber;
130
+ },
131
+ scale: true,
132
+ axisLabel: {
133
+ margin: 2,
134
+ formatter: function(value, index) {
135
+ if (value >= 10000 && value < 10000000) {
136
+ value = value / 10000 + "万";
137
+ } else if (value >= 10000000) {
138
+ value = value / 10000000 + "千万";
139
+ }
140
+ return value;
141
+ }
142
+ }
143
+ };
144
+
145
+ const option = {
146
+ legend: {
147
+ right: 20,
148
+ top: 0,
149
+ textStyle: {
150
+ fontSize: 12
151
+ }
152
+ },
153
+ tooltip: {
154
+ borderWidth: 1,
155
+ trigger: "item"
156
+ },
157
+ grid: {
158
+ top: "10",
159
+ left: 40 + (this.reverse && this.longLable ? _self.longLablePx : 0),
160
+ right: "10",
161
+ bottom: (_self.showZoom ? 50 : 20) + (!_self.reverse && _self.longLable ? _self.longLablePx : 0),
162
+ containLabel: true
163
+ },
164
+ xAxis: this.reverse ? _yAxis : _xAxis,
165
+ yAxis: this.reverse ? _xAxis : _yAxis,
166
+ series: [{
167
+ name: _self.name,
168
+ type: "bar",
169
+ markPoint: {
170
+ data: [
171
+ { type: "min", name: "Min" },
172
+ { type: "max", name: "Max" }
173
+ ]
174
+ },
175
+ avoidLabelOverlap: true,
176
+ data: _self.chartData.map((item, ind) => {
177
+ const { name, value } = item;
178
+ return {
179
+ value,
180
+ name,
181
+ tooltip: {
182
+ borderWidth: 1
183
+ }
184
+ };
185
+ })
186
+ }],
187
+ dataZoom: _self.showZoom ? [{ height: 20, bottom: 0 }] : [],
188
+ };
189
+ if (!this.markPoint) {
190
+ this.$delete(option.series[0], "markPoint");
191
+ }
192
+ this.myChart = EchartsUtil.init(_self.$refs.barchart, this.theme, option, this.size);
193
+ }
194
+ }
195
+ };
196
+ </script>
197
+ <style lang="scss" scoped>
198
+ .bar-box{
199
+ position: relative;
200
+ height: 100%;
201
+ width: 100%;
202
+ }
203
+ </style>
@@ -0,0 +1,146 @@
1
+ <template>
2
+ <div ref="linechart" class="line-box"></div>
3
+ </template>
4
+ <script>
5
+ import EchartsUtil from "./utils";
6
+ export default {
7
+ name: "XtLine",
8
+ props: {
9
+ isDark: {
10
+ type: Boolean, // 设置文字标线为白色系
11
+ default: false
12
+ },
13
+ theme: {},
14
+ size: {
15
+ type: String,
16
+ default: "medium"
17
+ },
18
+ chartData: {
19
+ type: Array,
20
+ default: () => {
21
+ return [
22
+ { value: 53, name: "张三" },
23
+ { value: 10, name: "李四" },
24
+ { value: 60, name: "宋五" }
25
+ ];
26
+ }
27
+ },
28
+ isArea: {
29
+ type: Boolean,
30
+ default: false
31
+ },
32
+ energyType: {
33
+ type: String,
34
+ default: ""
35
+ },
36
+ intervalvalue: {
37
+ type: Number,
38
+ default: 0
39
+ }
40
+ },
41
+ data() {
42
+ return {
43
+ myChart: null
44
+ };
45
+ },
46
+ watch: {
47
+ chartData: {
48
+ deep: true,
49
+ handler(newVal, oldVal) {
50
+ const _self = this;
51
+ _self.initChart();
52
+ }
53
+ },
54
+ energyType: {
55
+ deep: true,
56
+ handler(newVal, oldVal) {
57
+ const _self = this;
58
+ _self.initChart();
59
+ }
60
+ }
61
+ },
62
+ mounted() {
63
+ this.initChart();
64
+ },
65
+ methods: {
66
+ initChart() {
67
+ console.log(this.intervalvalue);
68
+ const _self = this;
69
+ // 数据处理
70
+ const option = {
71
+ animationDuration: 500,
72
+ grid: {
73
+ top: "18%",
74
+ left: "30",
75
+ right: "30",
76
+ bottom: "20"
77
+ },
78
+ xAxis: [{
79
+ type: "category",
80
+ splitLine: {
81
+ show: true,
82
+ lineStyle: {
83
+ type: "dashed"
84
+ }
85
+ },
86
+ axisLabel: {
87
+ interval: this.intervalvalue
88
+ },
89
+ boundaryGap: false,
90
+ data: _self.chartData.map((item) => {
91
+ return item.name;
92
+ })
93
+ }],
94
+ yAxis: {
95
+ type: "value",
96
+ axisLine: {
97
+ show: false,
98
+ lineStyle: {
99
+ }
100
+ },
101
+ axisTick: {
102
+ show: false
103
+ },
104
+ splitLine: {
105
+ lineStyle: {
106
+ type: "dashed"
107
+ }
108
+ },
109
+ name: _self.energyType,
110
+ scale: true,
111
+ axisLabel: {
112
+ margin: 2,
113
+ formatter: function(value, index) {
114
+ if (value >= 10000 && value < 10000000) {
115
+ value = Math.floor(value / 10000) + "万";
116
+ } else if (value >= 10000000) {
117
+ value = Math.floor(value / 10000000) + "千万";
118
+ }
119
+ return value;
120
+ }
121
+ }
122
+ },
123
+ series: [{
124
+ type: "line",
125
+ symbol: "circle",
126
+ areaStyle: _self.isArea ? {} : null,
127
+ smooth: true,
128
+ avoidLabelOverlap: true,
129
+ data: _self.chartData.map((item, ind) => {
130
+ return item.value;
131
+ })
132
+ }]
133
+ };
134
+
135
+ this.myChart = EchartsUtil.init(_self.$refs.linechart, this.theme, option, this.size);
136
+ }
137
+ }
138
+ };
139
+ </script>
140
+ <style lang="scss" scoped>
141
+ .line-box{
142
+ position: relative;
143
+ height: 100%;
144
+ width: 100%;
145
+ }
146
+ </style>
@@ -0,0 +1,257 @@
1
+ <template>
2
+ <div ref="multilinechart" class="multiline-box"></div>
3
+ </template>
4
+ <script>
5
+ import EchartsUtil from "./utils";
6
+ export default {
7
+ name: "XtMulti",
8
+ props: {
9
+ isDark: {
10
+ type: Boolean, // 设置文字标线为白色系
11
+ default: false
12
+ },
13
+ theme: {},
14
+ size: {
15
+ type: String,
16
+ default: "medium"
17
+ },
18
+ config: {
19
+ type: Object,
20
+ default() {
21
+ return {
22
+ interval: 0,
23
+ rotate: 0,
24
+ gridbottom: 40,
25
+ isShowthreshold: false
26
+
27
+ };
28
+ }
29
+ },
30
+ chartData: {
31
+ type: Array,
32
+ default: () => {
33
+ return [
34
+ {
35
+ label: "入户数",
36
+ data: [
37
+ { label: "01月", value: 980 },
38
+ { label: "02月", value: 806 },
39
+ { label: "03月", value: 930 },
40
+ { label: "04月", value: 804 },
41
+ { label: "05月", value: 750 },
42
+ { label: "06月", value: 660 },
43
+ { label: "07月", value: 780 },
44
+ { label: "08月", value: 630 },
45
+ { label: "09月", value: 806 },
46
+ { label: "10月", value: 950 },
47
+ { label: "11月", value: 810 },
48
+ { label: "12月", value: 703 }
49
+ ]
50
+ },
51
+ {
52
+ label: "隐患数",
53
+ data: [
54
+ { label: "01月", value: 200 },
55
+ { label: "02月", value: 120 },
56
+ { label: "03月", value: 110 },
57
+ { label: "04月", value: 109 },
58
+ { label: "05月", value: 108 },
59
+ { label: "06月", value: 150 },
60
+ { label: "07月", value: 126 },
61
+ { label: "08月", value: 130 },
62
+ { label: "09月", value: 108 },
63
+ { label: "10月", value: 109 },
64
+ { label: "11月", value: 140 },
65
+ { label: "12月", value: 106 }
66
+ ]
67
+ },
68
+ {
69
+ label: "整改数",
70
+ data: [
71
+ { label: "01月", value: 25 },
72
+ { label: "02月", value: 19 },
73
+ { label: "03月", value: 34 },
74
+ { label: "04月", value: 12 },
75
+ { label: "05月", value: 16 },
76
+ { label: "06月", value: 20 },
77
+ { label: "07月", value: 19 },
78
+ { label: "08月", value: 18 },
79
+ { label: "09月", value: 14 },
80
+ { label: "10月", value: 12 },
81
+ { label: "11月", value: 11 },
82
+ { label: "12月", value: 16 }
83
+ ]
84
+ }
85
+ ];
86
+ }
87
+ },
88
+ colors: {
89
+ type: Array,
90
+ default: () => { return []; }
91
+ },
92
+ selectedNew: {
93
+ type: Object,
94
+ default: null
95
+ },
96
+ energyType: {
97
+ type: [String, Array],
98
+ default: ""
99
+ }
100
+ },
101
+ data() {
102
+ return {
103
+ myChart: null
104
+ // chartList: []
105
+ };
106
+ },
107
+ watch: {
108
+ chartData: {
109
+ deep: true,
110
+ handler(newVal, oldVal) {
111
+ const _self = this;
112
+ this.myChart && this.myChart.dispose();
113
+ this.myChart = null;
114
+ _self.initChart();
115
+ }
116
+ },
117
+ energyType: {
118
+ deep: true,
119
+ handler(newVal, oldVal) {
120
+ if (newVal && oldVal && newVal.toString() == oldVal.toString()) {
121
+ return;
122
+ }
123
+ this.myChart && this.myChart.dispose();
124
+ this.myChart = null;
125
+ const _self = this;
126
+ _self.initChart();
127
+ }
128
+ }
129
+ },
130
+ mounted() {
131
+ this.initChart();
132
+ },
133
+ methods: {
134
+ initChart() {
135
+ const _self = this;
136
+ // 数据处理
137
+ const groupYAxis = (unit) => {
138
+ return {
139
+ type: "value",
140
+ name: unit,
141
+ axisLine: {
142
+ show: false,
143
+ lineStyle: {
144
+ }
145
+ },
146
+ axisTick: {
147
+ show: false
148
+ },
149
+ splitLine: {
150
+ lineStyle: {
151
+ type: "dashed"
152
+ }
153
+ },
154
+ axisLabel: {
155
+ formatter: function(value, index) {
156
+ if (value >= 10000 && value < 10000000) {
157
+ value = Math.floor(value / 10000) + "万";
158
+ } else if (value >= 10000000) {
159
+ value = Math.floor(value / 10000000) + "千万";
160
+ }
161
+ return value;
162
+ }
163
+ }
164
+ };
165
+ };
166
+ const option = {
167
+ legend: {
168
+ right: 20,
169
+ top: 0,
170
+ show: true,
171
+ data: _self.chartData.map((item) => {
172
+ return item.label;
173
+ }),
174
+ selectedMode: "multiple",
175
+ selected: _self.selectedNew,
176
+ textStyle: {
177
+ fontSize: 12
178
+ }
179
+ },
180
+ tooltip: {
181
+ borderWidth: 1,
182
+ trigger: "axis",
183
+ axisPointer: {
184
+ type: "shadow"
185
+ }
186
+ },
187
+ grid: {
188
+ top: "25%",
189
+ left: "40",
190
+ right: "15",
191
+ bottom: this.config.gridbottom == null ? 20 : this.config.gridbottom
192
+ },
193
+ xAxis: {
194
+ type: "category",
195
+ // splitLine: {
196
+ // show: true,
197
+ // lineStyle: {
198
+ // type: "dashed"
199
+ // }
200
+ // },
201
+ axisLabel: {
202
+ rotate: this.config.rotate
203
+ },
204
+ data: _self.chartData && _self.chartData.length ? _self.chartData[0].data.map((item) => {
205
+ return item.label;
206
+ }) : []
207
+ },
208
+ yAxis: typeof _self.energyType == "string" ? groupYAxis(_self.energyType) : this.energyType.map(unit => groupYAxis(unit)),
209
+ dataZoom: [
210
+ {
211
+ type: "inside",
212
+ xAxisIndex: [0],
213
+ start: 1,
214
+ end: 100
215
+ }
216
+ ],
217
+ series: this.getSeriesData()
218
+ };
219
+ this.myChart = EchartsUtil.init(_self.$refs.multilinechart, this.theme, option, this.size);
220
+ },
221
+ getSeriesData() {
222
+ // 创建 24小时 时间数据填充对象
223
+ const _self = this;
224
+
225
+ const _seriesData = [];
226
+ _self.chartData.map((item, ind) => {
227
+ // debugger;
228
+ const _isNUll = item.data.some(it => !it.value || it.value == "--");
229
+ const _itemNull = {
230
+ type: "",
231
+ name: item.label,
232
+ connectNulls: true, // 断点连线,true-连接,false-不连接
233
+ data: item.data.map(it => it.value),
234
+ tooltip: {
235
+ show: false
236
+ }
237
+ };
238
+ const _item = {
239
+ animation: true,
240
+ name: item.label,
241
+ type: item.type || "bar",
242
+ avoidLabelOverlap: true,
243
+ data: item.data.map(it => it.value)
244
+ };
245
+ _seriesData.push(_item);
246
+ });
247
+ return _seriesData;
248
+ }
249
+ }
250
+ };
251
+ </script>
252
+ <style lang="scss" scoped>
253
+ .multiline-box{
254
+ height: 100%;
255
+ width: 100%;
256
+ }
257
+ </style>