dlt-for-react 1.1.16 → 1.1.18
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/README.md +20 -1
- package/assets/HqCheckButton/index.less +13 -0
- package/assets/HqImage/index.less +11 -0
- package/assets/HqInputPicker/index.less +8 -0
- package/assets/selector/resultview/index.less +53 -0
- package/assets/selector/selectormodal/index.less +15 -0
- package/assets/selector/table/index.less +211 -0
- package/assets/selector/tree/index.less +138 -0
- package/assets/stuSelector/index.less +24 -0
- package/assets/teaSelector/index.less +4 -0
- package/lib/components/HqButton/index.js +95 -0
- package/lib/components/HqCascader/index.js +306 -0
- package/lib/components/HqCheckBox/index.js +375 -0
- package/lib/components/HqCheckButton/index.js +284 -0
- package/lib/components/HqConfirm/index.js +81 -0
- package/lib/components/HqFormItem/FormRules.js +27 -0
- package/lib/components/HqFormItem/index.js +309 -0
- package/lib/components/HqImage/index.js +553 -0
- package/lib/components/HqInputPicker/edit-page.js +585 -0
- package/lib/components/HqInputPicker/index.js +226 -0
- package/lib/components/HqInputPicker/input-const.js +134 -0
- package/lib/components/HqInputPicker/render.js +2496 -0
- package/lib/components/HqInputPicker/setting-checkbox.js +853 -0
- package/lib/components/HqInputPicker/setting-datepicker.js +430 -0
- package/lib/components/HqInputPicker/setting-datetimepicker.js +443 -0
- package/lib/components/HqInputPicker/setting-input.js +555 -0
- package/lib/components/HqInputPicker/setting-inputNumber.js +658 -0
- package/lib/components/HqInputPicker/setting-monthpicker.js +434 -0
- package/lib/components/HqInputPicker/setting-multiSelect.js +533 -0
- package/lib/components/HqInputPicker/setting-nhcascader.js +588 -0
- package/lib/components/HqInputPicker/setting-old-upload.js +428 -0
- package/lib/components/HqInputPicker/setting-radio.js +468 -0
- package/lib/components/HqInputPicker/setting-rangepicker.js +466 -0
- package/lib/components/HqInputPicker/setting-select.js +534 -0
- package/lib/components/HqInputPicker/setting-stu-selector.js +508 -0
- package/lib/components/HqInputPicker/setting-switch.js +274 -0
- package/lib/components/HqInputPicker/setting-tea-selector.js +508 -0
- package/lib/components/HqInputPicker/setting-textarea.js +619 -0
- package/lib/components/HqInputPicker/setting-timepicker.js +437 -0
- package/lib/components/HqInputPicker/setting-upload.js +795 -0
- package/lib/components/HqMultiSelect/index.js +495 -0
- package/lib/components/HqOldUpload/index.js +350 -0
- package/lib/components/HqSelect/getSelectName.js +20 -0
- package/lib/components/HqSelect/index.js +495 -0
- package/lib/components/HqSelector/HqLsrySelector/index.js +269 -267
- package/lib/components/HqSelector/HqRySelector/index.js +4 -2
- package/lib/components/HqSelector/HqWzSelector/index.js +4 -2
- package/lib/components/HqStuSelector/index.js +267 -0
- package/lib/components/HqSwitch/index.js +280 -0
- package/lib/components/HqTeaSelector/index.js +221 -0
- package/lib/components/KyCollapse/index.js +23 -24
- package/lib/components/KyContainerFrame/index.js +2 -2
- package/lib/components/KyEditableTable/component.js +38 -38
- package/lib/components/KyEditableTable/index.js +203 -181
- package/lib/components/KyExcel/index.js +191 -153
- package/lib/components/KyModal/index.js +43 -33
- package/lib/components/KyTable/AddFieldsModal.js +66 -59
- package/lib/components/KyTable/checkButtons.js +3 -13
- package/lib/components/KyTable/index.js +2 -2
- package/lib/components/KyTableCardList/AddFieldsModal.js +280 -282
- package/lib/components/KyTableCardList/index.js +15 -26
- package/lib/components/KyTree/index.js +7 -7
- package/lib/components/KyUpload/index.js +170 -165
- package/lib/components/NHSelector/ListSort/index.js +411 -0
- package/lib/components/NHSelector/index.js +636 -0
- package/lib/components/NHSelector/resultview/index.js +408 -0
- package/lib/components/NHSelector/selectormodal/index.js +303 -0
- package/lib/components/NHSelector/table/index.js +784 -0
- package/lib/components/NHSelector/tree/index.js +554 -0
- package/lib/index.js +164 -36
- package/lib/layouts/LeftMenu/index.js +6 -6
- package/lib/layouts/Login/index-pre.js +107 -103
- package/lib/layouts/Login/index.js +2 -2
- package/lib/layouts/Login/login.js +178 -172
- package/lib/layouts/NavigationBar/index.js +67 -67
- package/lib/layouts/Top/editPassWord.js +84 -64
- package/lib/layouts/Top/index.js +117 -117
- package/lib/layouts/TopMenu/index.js +53 -53
- package/lib/layouts/layout/index.js +115 -118
- package/lib/layouts/mixTop/index.js +95 -95
- package/lib/layouts/settingDrawer/index.js +96 -96
- package/lib/routes/AuthorizedRoute.js +33 -32
- package/lib/utils/NHCore.js +65 -65
- package/package.json +2 -2
- package/lib/utils/createUuid.js +0 -40
- package/lib/utils/getLoginUser.js +0 -10
- package/lib/utils/getSize.js +0 -27
|
@@ -0,0 +1,495 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = undefined;
|
|
7
|
+
|
|
8
|
+
var _toConsumableArray2 = require("babel-runtime/helpers/toConsumableArray");
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
|
|
11
|
+
|
|
12
|
+
var _extends2 = require("babel-runtime/helpers/extends");
|
|
13
|
+
|
|
14
|
+
var _extends3 = _interopRequireDefault(_extends2);
|
|
15
|
+
|
|
16
|
+
var _spin = require("antd/lib/spin");
|
|
17
|
+
|
|
18
|
+
var _spin2 = _interopRequireDefault(_spin);
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf = require("babel-runtime/core-js/object/get-prototype-of");
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
|
23
|
+
|
|
24
|
+
var _keys = require("babel-runtime/core-js/object/keys");
|
|
25
|
+
|
|
26
|
+
var _keys2 = _interopRequireDefault(_keys);
|
|
27
|
+
|
|
28
|
+
var _assign = require("babel-runtime/core-js/object/assign");
|
|
29
|
+
|
|
30
|
+
var _assign2 = _interopRequireDefault(_assign);
|
|
31
|
+
|
|
32
|
+
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
|
|
33
|
+
|
|
34
|
+
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
|
35
|
+
|
|
36
|
+
var _possibleConstructorReturn2 = require("babel-runtime/helpers/possibleConstructorReturn");
|
|
37
|
+
|
|
38
|
+
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
|
39
|
+
|
|
40
|
+
var _createClass2 = require("babel-runtime/helpers/createClass");
|
|
41
|
+
|
|
42
|
+
var _createClass3 = _interopRequireDefault(_createClass2);
|
|
43
|
+
|
|
44
|
+
var _inherits2 = require("babel-runtime/helpers/inherits");
|
|
45
|
+
|
|
46
|
+
var _inherits3 = _interopRequireDefault(_inherits2);
|
|
47
|
+
|
|
48
|
+
var _select = require("antd/lib/select");
|
|
49
|
+
|
|
50
|
+
var _select2 = _interopRequireDefault(_select);
|
|
51
|
+
|
|
52
|
+
require("antd/lib/spin/style");
|
|
53
|
+
|
|
54
|
+
require("antd/lib/select/style");
|
|
55
|
+
|
|
56
|
+
var _react = require("react");
|
|
57
|
+
|
|
58
|
+
var _react2 = _interopRequireDefault(_react);
|
|
59
|
+
|
|
60
|
+
var _propTypes = require("prop-types");
|
|
61
|
+
|
|
62
|
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
|
63
|
+
|
|
64
|
+
var _NHFetch = require("../../utils/NHFetch");
|
|
65
|
+
|
|
66
|
+
var _NHFetch2 = _interopRequireDefault(_NHFetch);
|
|
67
|
+
|
|
68
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
69
|
+
|
|
70
|
+
var Option = _select2.default.Option;
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* 下拉选择器
|
|
74
|
+
* 1、符合自定义表单组件规范,结合FormItem使用时不会出现警告信息
|
|
75
|
+
* 2、使用sign属性时,后台对应sign标识的sql查询语句列必须以value、label作为别名
|
|
76
|
+
* Author: zengxiangkai@ly-sky.com
|
|
77
|
+
* Created on: 2018-03-29 18:00:31
|
|
78
|
+
* Version: 1.3
|
|
79
|
+
* Modify log:
|
|
80
|
+
* 2018-04-18
|
|
81
|
+
* 1、新增filterData属性,该属性可以过滤(或保留)指定keys值项
|
|
82
|
+
* 2018-04-20
|
|
83
|
+
* 2、新增dataSource属性,允许使用固定的数据源构造下拉数据,数据源格式为[{value:'value',label:'label'},{},...]
|
|
84
|
+
* 2018-06-04
|
|
85
|
+
* 3、解决sign为空或空字符串的时候,请求后台数据源报错问题
|
|
86
|
+
* 2019-03-21
|
|
87
|
+
* 4、onChange方法返回参数增加label、option
|
|
88
|
+
* 2019-10-31
|
|
89
|
+
* 5、设置dropdownMatchSelectWidth为false
|
|
90
|
+
*/
|
|
91
|
+
|
|
92
|
+
var HqSelect = function (_React$Component) {
|
|
93
|
+
(0, _inherits3.default)(HqSelect, _React$Component);
|
|
94
|
+
(0, _createClass3.default)(HqSelect, null, [{
|
|
95
|
+
key: "getDerivedStateFromProps",
|
|
96
|
+
|
|
97
|
+
//16.3.1新增生命周期函数与componentWillReceiveProps作用一致,推荐使用
|
|
98
|
+
value: function getDerivedStateFromProps(nextProps, prevState) {
|
|
99
|
+
// Should be a controlled component.
|
|
100
|
+
|
|
101
|
+
var updateState = {};
|
|
102
|
+
if ("value" in nextProps) {
|
|
103
|
+
var value = nextProps.value;
|
|
104
|
+
(0, _assign2.default)(updateState, { value: value });
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if ("dataSource" in nextProps) {
|
|
108
|
+
var data = nextProps.dataSource;
|
|
109
|
+
(0, _assign2.default)(updateState, { data: data, realData: data });
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if ("parentValue" in nextProps) {
|
|
113
|
+
var realData = prevState.data.filter(function (item) {
|
|
114
|
+
// 因为nextProps.parentValue 的值可能是undefined
|
|
115
|
+
if ("PARENTVALUE" in item) {
|
|
116
|
+
return item.PARENTVALUE === nextProps.parentValue;
|
|
117
|
+
}
|
|
118
|
+
if ("parentValue" in item) {
|
|
119
|
+
return item.parentValue === nextProps.parentValue;
|
|
120
|
+
}
|
|
121
|
+
return false;
|
|
122
|
+
});
|
|
123
|
+
var _value = prevState.value;
|
|
124
|
+
if ("value" in nextProps) {
|
|
125
|
+
_value = nextProps.value;
|
|
126
|
+
}
|
|
127
|
+
if (!(realData.findIndex(function (item) {
|
|
128
|
+
return item.value === _value || item.VALUE === _value;
|
|
129
|
+
}) > -1)) {
|
|
130
|
+
_value = undefined;
|
|
131
|
+
if (prevState.data && prevState.data.length > 0 && nextProps.value !== _value && nextProps.onChange) {
|
|
132
|
+
// 此时需要重置值,并且通知也上一级(form)
|
|
133
|
+
nextProps.onChange(_value, "");
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
(0, _assign2.default)(updateState, { realData: realData, value: _value });
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if ((0, _keys2.default)(updateState).length > 0) {
|
|
140
|
+
return updateState;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
}]);
|
|
146
|
+
|
|
147
|
+
function HqSelect(props) {
|
|
148
|
+
(0, _classCallCheck3.default)(this, HqSelect);
|
|
149
|
+
|
|
150
|
+
var _this = (0, _possibleConstructorReturn3.default)(this, (HqSelect.__proto__ || (0, _getPrototypeOf2.default)(HqSelect)).call(this, props));
|
|
151
|
+
|
|
152
|
+
_initialiseProps.call(_this);
|
|
153
|
+
|
|
154
|
+
var value = _this.props.value || "";
|
|
155
|
+
_this.state = {
|
|
156
|
+
data: [],
|
|
157
|
+
value: value || "",
|
|
158
|
+
realData: [],
|
|
159
|
+
loading: false, //是否加载远程数据中
|
|
160
|
+
firstOption: {} // 第一个选项
|
|
161
|
+
};
|
|
162
|
+
return _this;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
(0, _createClass3.default)(HqSelect, [{
|
|
166
|
+
key: "componentDidMount",
|
|
167
|
+
value: function componentDidMount() {
|
|
168
|
+
var _props = this.props,
|
|
169
|
+
flexibleUrl = _props.flexibleUrl,
|
|
170
|
+
sign = _props.sign;
|
|
171
|
+
|
|
172
|
+
//使用自定义的url的话
|
|
173
|
+
|
|
174
|
+
if (flexibleUrl && flexibleUrl != "") {
|
|
175
|
+
this.loadFlexData(flexibleUrl);
|
|
176
|
+
}
|
|
177
|
+
//如果是使用数据源标识,则优先加载远程数据
|
|
178
|
+
else if (sign && sign != "") {
|
|
179
|
+
this.loadRemoteData(sign);
|
|
180
|
+
} else {
|
|
181
|
+
//如果没有使用远程数据,则加载本地数据
|
|
182
|
+
this.loadLocalData();
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
//数据回传格式需要正确格式为[{LABEL:"",VALUE:""},{LABEL:"",VALUE:""}]
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
//加载远程数据
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
//加载本地数据
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
//解析数据
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
//下拉选项选中时回调
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
//下拉选择器input value值变化时回调
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
//提供onChange回调方法给Form表单,表明这是一个自定义表单受控组件
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
// 获取第一个选项
|
|
208
|
+
|
|
209
|
+
}, {
|
|
210
|
+
key: "render",
|
|
211
|
+
value: function render() {
|
|
212
|
+
var _props2 = this.props,
|
|
213
|
+
style = _props2.style,
|
|
214
|
+
placeholder = _props2.placeholder,
|
|
215
|
+
disabled = _props2.disabled,
|
|
216
|
+
defaultValue = _props2.defaultValue,
|
|
217
|
+
allowClear = _props2.allowClear;
|
|
218
|
+
var _state = this.state,
|
|
219
|
+
value = _state.value,
|
|
220
|
+
loading = _state.loading;
|
|
221
|
+
|
|
222
|
+
var options = this.getNewData();
|
|
223
|
+
options = options.map(function (option) {
|
|
224
|
+
return _react2.default.createElement(
|
|
225
|
+
Option,
|
|
226
|
+
{
|
|
227
|
+
title: option.LABEL || option.label,
|
|
228
|
+
key: option.VALUE || option.value,
|
|
229
|
+
value: option.VALUE || option.value
|
|
230
|
+
},
|
|
231
|
+
option.LABEL || option.label
|
|
232
|
+
);
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
return _react2.default.createElement(
|
|
236
|
+
"div",
|
|
237
|
+
null,
|
|
238
|
+
_react2.default.createElement(
|
|
239
|
+
_select2.default,
|
|
240
|
+
(0, _extends3.default)({}, this.props, {
|
|
241
|
+
style: style,
|
|
242
|
+
showSearch: true,
|
|
243
|
+
allowClear: allowClear,
|
|
244
|
+
defaultValue: defaultValue,
|
|
245
|
+
value: value,
|
|
246
|
+
onSelect: this.handleSelect,
|
|
247
|
+
onChange: this.handleChange,
|
|
248
|
+
placeholder: placeholder,
|
|
249
|
+
notFoundContent: loading ? _react2.default.createElement(
|
|
250
|
+
"div",
|
|
251
|
+
{ style: { display: "flex", justifyContent: "center" } },
|
|
252
|
+
_react2.default.createElement(_spin2.default, { spinning: true, tip: "加载中" })
|
|
253
|
+
) : "无数据",
|
|
254
|
+
disabled: disabled,
|
|
255
|
+
dropdownMatchSelectWidth: false,
|
|
256
|
+
filterOption: function filterOption(input, option) {
|
|
257
|
+
return option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0;
|
|
258
|
+
}
|
|
259
|
+
}),
|
|
260
|
+
options
|
|
261
|
+
)
|
|
262
|
+
);
|
|
263
|
+
}
|
|
264
|
+
}]);
|
|
265
|
+
return HqSelect;
|
|
266
|
+
}(_react2.default.Component);
|
|
267
|
+
|
|
268
|
+
//属性默认值
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
var _initialiseProps = function _initialiseProps() {
|
|
272
|
+
var _this2 = this;
|
|
273
|
+
|
|
274
|
+
this.loadFlexData = function (flexibleUrl) {
|
|
275
|
+
var _props3 = _this2.props,
|
|
276
|
+
params = _props3.params,
|
|
277
|
+
baseUrl = _props3.baseUrl;
|
|
278
|
+
|
|
279
|
+
(0, _NHFetch2.default)(baseUrl + flexibleUrl, "GET", params).then(function (res) {
|
|
280
|
+
if (res) {
|
|
281
|
+
_this2.parseData(res.data);
|
|
282
|
+
_this2.setState({ loading: false });
|
|
283
|
+
} else {
|
|
284
|
+
_this2.setState({ loading: false });
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
this.loadRemoteData = function (sign) {
|
|
290
|
+
var _props4 = _this2.props,
|
|
291
|
+
baseUrl = _props4.baseUrl,
|
|
292
|
+
params = _props4.params;
|
|
293
|
+
|
|
294
|
+
_this2.setState({ loading: true });
|
|
295
|
+
(0, _NHFetch2.default)((baseUrl === undefined ? "" : baseUrl) + "/proData/selectDataList", "GET", (0, _extends3.default)({ sign: sign }, params, { t: new Date().getTime() })).then(function (res) {
|
|
296
|
+
if (res) {
|
|
297
|
+
_this2.parseData(res.data);
|
|
298
|
+
_this2.setState({ loading: false });
|
|
299
|
+
} else {
|
|
300
|
+
_this2.setState({ loading: false });
|
|
301
|
+
}
|
|
302
|
+
});
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
this.loadLocalData = function () {
|
|
306
|
+
var _props5 = _this2.props,
|
|
307
|
+
dataSource = _props5.dataSource,
|
|
308
|
+
parentValue = _props5.parentValue;
|
|
309
|
+
|
|
310
|
+
if (dataSource) {
|
|
311
|
+
var nullOption = [{ value: "", label: "请选择..." }];
|
|
312
|
+
var newData = [].concat(nullOption, (0, _toConsumableArray3.default)(dataSource));
|
|
313
|
+
var realData = [].concat(nullOption, (0, _toConsumableArray3.default)(dataSource));
|
|
314
|
+
if ("parentValue" in _this2.props) {
|
|
315
|
+
realData = newData.filter(function (item) {
|
|
316
|
+
// 因为nextProps.parentValue 的值可能是undefined
|
|
317
|
+
if ("PARENTVALUE" in item) {
|
|
318
|
+
return item.PARENTVALUE === parentValue;
|
|
319
|
+
}
|
|
320
|
+
if ("parentValue" in item) {
|
|
321
|
+
return item.parentValue === parentValue;
|
|
322
|
+
}
|
|
323
|
+
return false;
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
_this2.setState({ data: newData, realData: realData }, function () {
|
|
327
|
+
_this2.triggerDefaultFirstOption();
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
this.parseData = function (data) {
|
|
333
|
+
if (data) {
|
|
334
|
+
var nullOption = [{ value: "", label: "请选择..." }];
|
|
335
|
+
var newData = [].concat(nullOption, (0, _toConsumableArray3.default)(data));
|
|
336
|
+
var realData = [].concat(nullOption, (0, _toConsumableArray3.default)(data));
|
|
337
|
+
if ("parentValue" in _this2.props) {
|
|
338
|
+
realData = newData.filter(function (item) {
|
|
339
|
+
// 因为nextProps.parentValue 的值可能是undefined
|
|
340
|
+
if ("PARENTVALUE" in item) {
|
|
341
|
+
return item.PARENTVALUE === _this2.props.parentValue;
|
|
342
|
+
}
|
|
343
|
+
if ("parentValue" in item) {
|
|
344
|
+
return item.parentValue === _this2.props.parentValue;
|
|
345
|
+
}
|
|
346
|
+
return false;
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
_this2.setState({ data: newData, realData: realData }, function () {
|
|
350
|
+
_this2.triggerDefaultFirstOption();
|
|
351
|
+
});
|
|
352
|
+
} else {
|
|
353
|
+
//如果远程数据为空,则尝试加载本地数据源
|
|
354
|
+
_this2.loadLocalData();
|
|
355
|
+
}
|
|
356
|
+
};
|
|
357
|
+
|
|
358
|
+
this.handleSelect = function (value, option) {
|
|
359
|
+
var label = option ? option.props.children || "" : "";
|
|
360
|
+
var onSelect = _this2.props.onSelect;
|
|
361
|
+
if (onSelect) {
|
|
362
|
+
onSelect(value, label, option);
|
|
363
|
+
}
|
|
364
|
+
};
|
|
365
|
+
|
|
366
|
+
this.handleChange = function (value, option) {
|
|
367
|
+
if (!("value" in _this2.props)) {
|
|
368
|
+
_this2.setState({
|
|
369
|
+
value: value
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
var label = option ? option.props.children || "" : "";
|
|
374
|
+
_this2.triggerChange(value, label, option);
|
|
375
|
+
};
|
|
376
|
+
|
|
377
|
+
this.triggerChange = function (value, label, option) {
|
|
378
|
+
// Should provide an event to pass value to Form.
|
|
379
|
+
var onChange = _this2.props.onChange;
|
|
380
|
+
if (onChange) {
|
|
381
|
+
onChange(value, label, option);
|
|
382
|
+
}
|
|
383
|
+
};
|
|
384
|
+
|
|
385
|
+
this.getFirstData = function () {
|
|
386
|
+
var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
387
|
+
|
|
388
|
+
var firstData = _this2.getNewData()[index];
|
|
389
|
+
if (!firstData) return;
|
|
390
|
+
if (firstData.value === "" && firstData.label === "请选择...") {
|
|
391
|
+
return _this2.getFirstData(index + 1);
|
|
392
|
+
} else {
|
|
393
|
+
return firstData;
|
|
394
|
+
}
|
|
395
|
+
};
|
|
396
|
+
|
|
397
|
+
this.triggerDefaultFirstOption = function () {
|
|
398
|
+
var defaultFirstOption = _this2.props.defaultFirstOption;
|
|
399
|
+
|
|
400
|
+
if (defaultFirstOption) {
|
|
401
|
+
var firstData = _this2.getFirstData();
|
|
402
|
+
if (!firstData) return;
|
|
403
|
+
var value = firstData.VALUE || firstData.value;
|
|
404
|
+
var label = firstData.LABEL || firstData.label;
|
|
405
|
+
var option = {
|
|
406
|
+
value: value,
|
|
407
|
+
label: label
|
|
408
|
+
};
|
|
409
|
+
_this2.setState({
|
|
410
|
+
firstOption: option
|
|
411
|
+
});
|
|
412
|
+
defaultFirstOption(option);
|
|
413
|
+
}
|
|
414
|
+
};
|
|
415
|
+
|
|
416
|
+
this.getNewData = function () {
|
|
417
|
+
var filterData = _this2.props.filterData;
|
|
418
|
+
var realData = _this2.state.realData;
|
|
419
|
+
|
|
420
|
+
var data = realData;
|
|
421
|
+
var newData = data;
|
|
422
|
+
//如果有过滤条件
|
|
423
|
+
if (filterData) {
|
|
424
|
+
var type = filterData.type,
|
|
425
|
+
_filterData$filterkey = filterData.filterkeys,
|
|
426
|
+
filterkeys = _filterData$filterkey === undefined ? [] : _filterData$filterkey;
|
|
427
|
+
|
|
428
|
+
switch (type) {
|
|
429
|
+
//过滤掉指定key值
|
|
430
|
+
case "remove":
|
|
431
|
+
{
|
|
432
|
+
newData = data.filter(function (item) {
|
|
433
|
+
if (filterkeys.find(function (key) {
|
|
434
|
+
return (item.VALUE || item.value) == key;
|
|
435
|
+
})) {
|
|
436
|
+
return false;
|
|
437
|
+
} else {
|
|
438
|
+
return true;
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
break;
|
|
442
|
+
}
|
|
443
|
+
//保留指定key值
|
|
444
|
+
case "save":
|
|
445
|
+
{
|
|
446
|
+
newData = data.filter(function (item) {
|
|
447
|
+
if (filterkeys.find(function (key) {
|
|
448
|
+
return (item.VALUE || item.value) == key;
|
|
449
|
+
})) {
|
|
450
|
+
return true;
|
|
451
|
+
} else {
|
|
452
|
+
return false;
|
|
453
|
+
}
|
|
454
|
+
});
|
|
455
|
+
break;
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
return newData;
|
|
460
|
+
};
|
|
461
|
+
};
|
|
462
|
+
|
|
463
|
+
exports.default = HqSelect;
|
|
464
|
+
HqSelect.defaultProps = {
|
|
465
|
+
placeholder: "请选择...",
|
|
466
|
+
disabled: false,
|
|
467
|
+
allowClear: true,
|
|
468
|
+
params: {}
|
|
469
|
+
};
|
|
470
|
+
|
|
471
|
+
//属性检查
|
|
472
|
+
HqSelect.propTypes = {
|
|
473
|
+
sign: _propTypes2.default.string, //远程数据源标识
|
|
474
|
+
dataSource: _propTypes2.default.arrayOf(_propTypes2.default.shape({
|
|
475
|
+
value: _propTypes2.default.string,
|
|
476
|
+
label: _propTypes2.default.node
|
|
477
|
+
})), //本地数据源
|
|
478
|
+
style: _propTypes2.default.object, //样式
|
|
479
|
+
placeholder: _propTypes2.default.string, //下拉提示
|
|
480
|
+
disabled: _propTypes2.default.bool, //是否禁用
|
|
481
|
+
defaultValue: _propTypes2.default.string, //默认值
|
|
482
|
+
value: _propTypes2.default.string, //初始值
|
|
483
|
+
filterData: _propTypes2.default.shape({
|
|
484
|
+
type: _propTypes2.default.oneOf(["remove", "save"]), //是保留还是过滤掉
|
|
485
|
+
filterkeys: _propTypes2.default.array //保留或过滤的key值
|
|
486
|
+
}), //要过滤掉的Key值
|
|
487
|
+
onSelect: _propTypes2.default.func, //下拉选项选中时回调
|
|
488
|
+
onChange: _propTypes2.default.func, //下拉框值变化时回调
|
|
489
|
+
baseUrl: _propTypes2.default.string, //请求路径的前缀,可通过改参数控制访问的后端服务,如果不设置,则会去访问当前前端服务对应的后端服务,例如:api/sm-bpm-expansion
|
|
490
|
+
allowClear: _propTypes2.default.bool,
|
|
491
|
+
parentValue: _propTypes2.default.string, // 级联属性,上一级的选中值,数据源中每一项必须存在PARENTVALUE或者parentValue列
|
|
492
|
+
defaultFirstOption: _propTypes2.default.func, // 是否取第一项为默认值,并将第一项数据返回
|
|
493
|
+
params: _propTypes2.default.object, // 获取数据源时所需的参数
|
|
494
|
+
flexibleUrl: _propTypes2.default.string // 自定义接口
|
|
495
|
+
};
|