fmui-base 2.2.11 → 2.2.13

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.
@@ -1,54 +0,0 @@
1
- import React from 'react';
2
- import classnames from 'classnames';
3
- import PropTypes from 'prop-types';
4
-
5
- class Item extends React.Component {
6
- static propTypes = {
7
- prefixCls: PropTypes.string,
8
- className: PropTypes.string,
9
- data: PropTypes.array,
10
- onClick: PropTypes.func,
11
- };
12
- static defaultProps = {
13
- prefixCls: 't-scroll-list-taglist',
14
- className: undefined,
15
- data: [],
16
- onClick: () => {}
17
- };
18
-
19
- renderTagItem(item, index, className) {
20
- const { onClick, prefixCls } = this.props;
21
- return <span
22
- key={`${prefixCls}-item-${index}`}
23
- onClick={() => onClick(item, index)}
24
- className={classnames(`${prefixCls}-item`,{
25
- [`${className}-item`]: !!className,
26
- })}>
27
- {item.value || item || ''}
28
- </span>
29
- }
30
-
31
- render() {
32
- const {
33
- prefixCls,
34
- className,
35
- data = [],
36
- } = this.props;
37
- return (
38
- <div
39
- className={classnames({
40
- [prefixCls]: true,
41
- [className]: !!className,
42
- })}
43
- >
44
- {
45
- data.map((item, index) => {
46
- return this.renderTagItem(item, index, className);
47
- })
48
- }
49
- </div>
50
- );
51
- }
52
- }
53
-
54
- export default Item;
@@ -1,46 +0,0 @@
1
- import React, {PropTypes} from 'react';
2
- import Button from 'saltui/lib/Button';
3
-
4
-
5
- class ButtonSelf extends React.Component {
6
- constructor(props) {
7
- super(props)
8
- let text=props.text
9
- this.state = {
10
- text: text,
11
- }
12
- }
13
-
14
- handleClick(){
15
- console.log('button click')
16
- }
17
-
18
- render () {
19
- return (
20
- <div>
21
- <div className="demo-section">
22
- <div className="section-content">
23
- <Button type="primary" onClick={this.handleClick}>一级按钮</Button>
24
- <br />
25
- <Button type="secondary" onClick={this.handleClick}>二级按钮</Button>
26
- <br />
27
- <Button type="minor" onClick={this.handleClick}>次要按钮</Button>
28
- <br />
29
- <Button type="danger">警示按钮1</Button>
30
- <br />
31
- <Button loading>加载中</Button>
32
- <br />
33
- <Button disabled>失效按钮</Button>
34
- <br />
35
- <Button disabled>失效按钮1</Button>
36
- <br />
37
- <br />
38
- </div>
39
- </div>
40
- </div>
41
- );
42
- }
43
- }
44
-
45
-
46
- export default ButtonSelf
package/lib/care/care.jsx DELETED
@@ -1,26 +0,0 @@
1
- import React, {PropTypes} from 'react';
2
-
3
-
4
- class Care extends React.Component {
5
- constructor(props) {
6
- super(props)
7
- let text=props.text
8
- this.state = {
9
- text: text,
10
- }
11
- }
12
-
13
- handleClick(){
14
- console.log('button click')
15
- }
16
-
17
- render () {
18
- return (
19
- <div>
20
- care
21
- </div>
22
- );
23
- }
24
- }
25
-
26
- export default Care
@@ -1,344 +0,0 @@
1
- import React from 'react';
2
- import ReactECharts from 'echarts-for-react';
3
- import DB from '../db/db';
4
-
5
- class NoData extends React.Component{
6
- constructor(props) {
7
- super(props);
8
- var portalId = props.portalId;
9
- var height = props.height;
10
- var hasTitle = props.hasTitle?props.height:false;
11
- if(!height){
12
- height = 400;
13
- }
14
- if(hasTitle){
15
- if((height+"").indexOf("%")>0){
16
- height = "calc("+height+" - 50px)"
17
- }else{
18
- height = height - 50;
19
- }
20
- }
21
- this.state = {
22
- loadTrue:false,
23
- portalId:portalId,
24
- height : height,
25
- options:{
26
- id:portalId,
27
- allBackData : {},// 存储后台返回的所有data数据
28
- rowCheck : false,// 二维表三维表行列合计默认为false
29
- colCheck : false,// 二维表三维表行列合计默认为false
30
- rsId : "",
31
- rsSql : "",
32
- rsSource : "",
33
- rptType : '',
34
- filterArr : [],// 存储过滤条件name,type,content
35
- title : {
36
- text : '',
37
- right : 'center',
38
- top : '-4px'
39
- },
40
- textStyle : {
41
- color : '#000'
42
- },
43
- grid:{top:'15%'},
44
- // toolbox : {
45
- // right:'5%',
46
- // feature : {
47
- // saveAsImage : {}
48
- // }
49
- // },
50
- tooltip : {
51
- trigger : 'item',
52
- confine : true,
53
- axisPointer : { // 坐标轴指示器,坐标轴触发有效
54
- type : 'line', // 默认为直线,可选为:'line' | 'shadow'
55
- lineStyle : { // 直线指示器样式设置
56
- color : '#48b',
57
- width : 2,
58
- type : 'solid'
59
- },
60
- shadowStyle : { // 阴影指示器样式设置
61
- width : 'auto', // 阴影大小
62
- color : 'rgba(150,150,150,0.3)' // 阴影颜色
63
- }
64
- }
65
- },
66
- legend : {
67
- data : [],
68
- type : 'scroll',
69
- bottom : '1%' ,
70
- },
71
- xAxisPageInfo : {// 存储页面x轴相关信息
72
- xName : "",
73
- unSelectItem : []
74
- // select未选中项存储
75
- },
76
- yAxisPageInfo : {
77
- yName : "",
78
- },
79
- xAxis : {
80
- data : [],
81
- axisLabel : {//坐标轴刻度标签的相关设置。
82
- interval:0,
83
- }
84
- },
85
- yAxis : {},
86
- series : [],
87
- ySeriesAxisName : "",
88
- ySeries : {
89
- unSelectItem : []
90
- // select未选中项存储
91
- }
92
- }
93
- }
94
- }
95
-
96
- //排序函数,排序系列时用到,只排序数字数组
97
- sortNumber(a,b){
98
- return a - b;
99
- }
100
-
101
- componentDidMount(){
102
- let t = this;
103
- DB.portal.getComponentInfoList({
104
- ppId: t.state.portalId,
105
- code:'tbgl'
106
- }).then((content) => {
107
- var options = t.state.options;
108
-
109
- var chartData = content.chartData;
110
- var chartSet = content.chartSet;
111
- options.rsId = chartSet.rsId;
112
-
113
- // 图表统计条件
114
- if (chartSet.chartCountType == 1) {
115
- options.rowCheck = true;
116
- } else if (chartSet.chartCountType == 2) {
117
- options.colCheck = true;
118
- } else if (chartSet.chartCountType == 3) {
119
- options.rowCheck = true;
120
- options.colCheck = true;
121
- }
122
-
123
- var chartX = chartSet.chartX;
124
- var chartY = chartSet.chartY;
125
- var chartValue = chartSet.chartValue;
126
-
127
- // 三个区域拖值处赋值
128
- options.xAxisPageInfo.xName = chartX; // 分类字段
129
- options.yAxisPageInfo.yName = chartValue; // 值域字段
130
- options.ySeriesAxisName = chartY; // 系列字段
131
-
132
- options.rptType = chartSet.chartType;
133
-
134
- var xAxisArr = chartX ? chartX.split(",") : [];
135
- if (xAxisArr.length > 0) {
136
- var smallModuleKey = xAxisArr[0].substring(0, xAxisArr[0].indexOf("|"));
137
- }
138
-
139
- var inbyname = "";
140
- // 1.查询当前所有的拖入的结果集字段作为inbyname传入后台的数据
141
- if (chartX) {
142
- var xAxisArr = chartX.split(",");
143
- for (var i = 0; i < xAxisArr.length; i++) {
144
- var oneXAxisArr = xAxisArr[i].split("|");
145
- inbyname += oneXAxisArr[0] + ",";
146
- }
147
- }
148
- if (chartY) {
149
- var seriesArr = chartY.split(",");
150
- for (var i = 0; i < seriesArr.length; i++) {
151
- var oneSeriesArr = seriesArr[i].split("|");
152
- inbyname += oneSeriesArr[0] + ",";
153
- }
154
- }
155
- if (chartValue) {
156
- var yAxisArr = chartValue.split(",");
157
- for (var i = 0; i < yAxisArr.length; i++) {
158
- var oneYAxisArr = yAxisArr[i].split("|");
159
- inbyname += oneYAxisArr[0] + ",";
160
- }
161
- }
162
- inbyname = inbyname.substring(0, inbyname.length - 1);
163
-
164
- // 2.定位byname,axis,根据参数确定返回数据的处理格式
165
- var fixByName = "";
166
- var fixAxis = "";
167
- if (chartX) {
168
- fixByName = chartX;
169
- fixAxis = "xAxis";
170
- }
171
- if (chartValue) {
172
- fixByName = chartValue;
173
- fixAxis = "yAxis";
174
- }
175
- if (chartY) {
176
- fixByName = chartY;
177
- fixAxis = "ySeriesAxis";
178
- }
179
-
180
- var chartType = chartSet.chartType;
181
- if (chartType != 'line' && chartType != 'bar') {
182
- // 只有当图形为折线图和柱形图时有x,y轴,其他删除
183
- delete options.xAxis;
184
- delete options.yAxis;
185
- }
186
-
187
- if (chartType == "二维表" || chartType == "三维表" || chartType == "单维表") {
188
-
189
- } else {
190
- if (fixAxis == "xAxis") {
191
- if (options.xAxis) {
192
- // 除了折线图和柱形图,其他图形是无x,y轴的,会在初始化时删掉这个
193
- options.xAxis.data = chartData[inbyname];
194
- }
195
- options.series = []; // 清除操作
196
- } else if (fixAxis == "yAxis") {
197
- // 显示xAxis的新值
198
- var bynameArr = inbyname.split(",");
199
- if (options.xAxis) {
200
- // 除了折线图和柱形图,其他图形是无x,y轴的,会在初始化时删掉这个
201
- options.xAxis.data = chartData[bynameArr[0]];
202
- }
203
- options.legend.data = []; // 清除原来的值,置空
204
- options.series = []; // 清除操作
205
- // 别名显示
206
- var yByname = options.yAxisPageInfo.yName.substring(options.yAxisPageInfo.yName.indexOf("|") + 1);
207
- if (options.rptType != "gauge") {
208
- options.legend.data.push(yByname);
209
- }
210
- var newparam;
211
- if (options.rptType == "pie" || options.rptType == "funnel" || options.rptType == "gauge") {
212
- // 如果是饼图,漏斗图,仪表盘
213
- if (options.rptType == "pie") {
214
- newparam = {
215
- "name": yByname,
216
- "type": options.rptType,
217
- "radius": "50%",
218
- "center": ["50%", "55%"],
219
- "data": []
220
- };
221
- } else {
222
- newparam = {
223
- "name": yByname,
224
- "type": options.rptType,
225
- "center": ["50%", "55%"],
226
- "data": [/*
227
- * { "value" : data[key], "name" : key }
228
- */]
229
- };
230
- }
231
- /*
232
- * if(previewOption.rptType == "funnel"){//仪表盘宽度限制下,不然太宽了,不协调
233
- * newparam.width = "60%"; }
234
- */
235
- if (chartData[bynameArr[1]].length < 1) {
236
- chartData[bynameArr[1]] = [0];
237
- }
238
- for (var i = 0; i < chartData[bynameArr[1]].length; i++) {
239
- var dataItem = {};
240
- dataItem.value = chartData[bynameArr[1]][i];
241
- dataItem.name = chartData[bynameArr[0]][i];
242
- newparam.data.push(dataItem);
243
- if (options.rptType == "gauge") {
244
- // 仪表盘默认只选第一个
245
- newparam.detail = {
246
- formatter: '{name|' + yByname + '}\n{value}',
247
- rich: {
248
- name: {
249
- fontSize: 14
250
- }
251
- }
252
- };
253
- // 最大值为当前值升一位的最小整数,如:324的最大数为1000
254
- var numLen = (parseInt(chartData[bynameArr[1]][i]) * 10).toString().length;
255
- var maxNum = "1";
256
- for (var m = 0; m < numLen - 1; m++) {
257
- maxNum += "" + 0;
258
- }
259
- newparam.max = Number(maxNum);
260
- break;
261
- }
262
- }
263
- options.legend.data = chartData[bynameArr[0]].sort(t.sortNumber);
264
- } else if (options.rptType == "radar") {
265
- // 如果是雷达图,值加载形式有区别
266
- var inMaxNum = 1;
267
- if (chartData[bynameArr[1]].length == 0) {
268
- chartData[bynameArr[1]] = new Array(chartData[bynameArr[0]].length);
269
- } else {
270
- inMaxNum = Math.max.apply(null, chartData[bynameArr[1]]); // 返回数组中的最大值
271
- }
272
- for (var i = 0; i < chartData[bynameArr[1]].length; i++) {
273
- if (!chartData[bynameArr[1]][i]) {
274
- chartData[bynameArr[1]][i] = 0;
275
- }
276
- }
277
- newparam = {
278
- "name": yByname,
279
- "type": options.rptType,
280
- "radius": "50%",
281
- "data": [{
282
- "value": chartData[bynameArr[1]],
283
- "name": yByname
284
- }]
285
- };
286
- options.radar = {
287
- indicator: [],
288
- radius: '60%',
289
- center: ["50%", "55%"] // 雷达图设置偏下位置,与标题栏间隔一点距离
290
- };
291
- for (var i = 0; i < chartData[bynameArr[0]].length; i++) {
292
- var indicatorItem = {};
293
- indicatorItem.name = chartData[bynameArr[0]][i];
294
- indicatorItem.max = inMaxNum; // 取统一的最大值
295
- options.radar.indicator.push(indicatorItem);
296
- }
297
- } else {
298
- newparam = {
299
- "name": yByname,
300
- "type": options.rptType,
301
- "data": chartData[bynameArr[1]]
302
- };
303
- }
304
- options.series.push(newparam);
305
- }
306
- }
307
-
308
- t.setState({
309
- options: options,
310
- loadTrue:true
311
- });
312
-
313
- }).catch((error) => {
314
- console.error(error);
315
- });
316
- }
317
-
318
- render(){
319
- return (
320
- <div style={{height:this.state.height}}>
321
- {
322
- this.state.loadTrue?
323
- this.state.options.rptType == "单维表" || this.state.options.rptType == "二维表" || this.state.options.rptType == "三维表"?
324
- <div style={{textAlign: 'center'}}>移动端暂不支持{this.state.options.rptType}</div>:
325
- <ReactECharts
326
- option={this.state.options}
327
- style={{height:'100%',width:'100%'}}
328
- autoResize={true}
329
- // notMerge={true}
330
- // lazyUpdate={true}
331
- // theme={"theme_name"}
332
- // onChartReady={this.onChartReadyCallback}
333
- // onEvents={EventsDict}
334
- />
335
- :""
336
- }
337
- </div>
338
- );
339
- }
340
- }
341
-
342
- export default NoData;
343
-
344
-