tplus-components-touch 3.22.12 → 3.22.16
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/package.json +1 -1
- package/dist/components/acCitySelect/CitySelect.js +0 -541
- package/dist/components/acCitySelect/CitySelect.js.map +0 -1
- package/dist/components/acCitySelect/CitySelect.less +0 -10
- package/dist/components/acCitySelect/citys.js +0 -1270
- package/dist/components/acCitySelect/citys.js.map +0 -1
- package/dist/components/acCitySelect/index.js +0 -18
- package/dist/components/acCitySelect/index.js.map +0 -1
- package/dist/components/acCitySelect/provinceData.js +0 -40
- package/dist/components/acCitySelect/provinceData.js.map +0 -1
- package/dist/components/addLog/AddLogProcessor.js +0 -49
- package/dist/components/addLog/AddLogProcessor.js.map +0 -1
- package/dist/components/addLog/OperationLogApi.js +0 -125
- package/dist/components/addLog/OperationLogApi.js.map +0 -1
- package/dist/components/autoComplete/index.js +0 -245
- package/dist/components/autoComplete/index.js.map +0 -1
- package/dist/components/autoComplete/index.less +0 -89
- package/dist/components/autoComplete/option.js +0 -75
- package/dist/components/autoComplete/option.js.map +0 -1
- package/dist/components/autoCompleteWithKeyboard/index.js +0 -231
- package/dist/components/autoCompleteWithKeyboard/index.js.map +0 -1
- package/dist/components/autoCompleteWithKeyboard/index.less +0 -8
- package/dist/components/billSearch/api.js +0 -465
- package/dist/components/billSearch/api.js.map +0 -1
- package/dist/components/billSearch/index.js +0 -2063
- package/dist/components/billSearch/index.js.map +0 -1
- package/dist/components/billSearch/index.less +0 -373
- package/dist/components/cloudPrint/BTPrintFormatUtil.js +0 -568
- package/dist/components/cloudPrint/BTPrintFormatUtil.js.map +0 -1
- package/dist/components/cloudPrint/api.js +0 -349
- package/dist/components/cloudPrint/api.js.map +0 -1
- package/dist/components/cloudPrint/index.js +0 -674
- package/dist/components/cloudPrint/index.js.map +0 -1
- package/dist/components/cloudPrint/printDispatch.js +0 -223
- package/dist/components/cloudPrint/printDispatch.js.map +0 -1
- package/dist/components/commonForm/addressPicker/index.js +0 -232
- package/dist/components/commonForm/addressPicker/index.js.map +0 -1
- package/dist/components/commonForm/addressPicker/style.less +0 -11
- package/dist/components/commonForm/autoComplete/index.js +0 -241
- package/dist/components/commonForm/autoComplete/index.js.map +0 -1
- package/dist/components/commonForm/autoComplete/style.less +0 -3
- package/dist/components/commonForm/datePicker/index.js +0 -89
- package/dist/components/commonForm/datePicker/index.js.map +0 -1
- package/dist/components/commonForm/datePicker/style.less +0 -5
- package/dist/components/commonForm/formControl/index.js +0 -143
- package/dist/components/commonForm/formControl/index.js.map +0 -1
- package/dist/components/commonForm/formControl/style.less +0 -0
- package/dist/components/commonForm/index.js +0 -225
- package/dist/components/commonForm/index.js.map +0 -1
- package/dist/components/commonForm/inputNumber/index.js +0 -272
- package/dist/components/commonForm/inputNumber/index.js.map +0 -1
- package/dist/components/commonForm/inputNumber/style.less +0 -11
- package/dist/components/commonForm/radio/index.js +0 -132
- package/dist/components/commonForm/radio/index.js.map +0 -1
- package/dist/components/commonForm/radio/style.less +0 -0
- package/dist/components/commonForm/style.less +0 -2
- package/dist/components/deliverySearch/api.js +0 -355
- package/dist/components/deliverySearch/api.js.map +0 -1
- package/dist/components/deliverySearch/index.js +0 -1214
- package/dist/components/deliverySearch/index.js.map +0 -1
- package/dist/components/deliverySearch/index.less +0 -554
- package/dist/components/form/index.js +0 -310
- package/dist/components/form/index.js.map +0 -1
- package/dist/components/hardwareAPI/index.js +0 -181
- package/dist/components/hardwareAPI/index.js.map +0 -1
- package/dist/components/hotKey/config.js +0 -306
- package/dist/components/hotKey/config.js.map +0 -1
- package/dist/components/hotKey/hotKeyModal.js +0 -479
- package/dist/components/hotKey/hotKeyModal.js.map +0 -1
- package/dist/components/hotKey/index.js +0 -785
- package/dist/components/hotKey/index.js.map +0 -1
- package/dist/components/hotKey/localConfig.js +0 -1021
- package/dist/components/hotKey/localConfig.js.map +0 -1
- package/dist/components/hotKey/style.less +0 -96
- package/dist/components/hotKey/utils.js +0 -135
- package/dist/components/hotKey/utils.js.map +0 -1
- package/dist/components/input/index.js +0 -251
- package/dist/components/input/index.js.map +0 -1
- package/dist/components/input/style.less +0 -99
- package/dist/components/input/tplusInput/index.js +0 -81
- package/dist/components/input/tplusInput/index.js.map +0 -1
- package/dist/components/input/tplusInput/inputContent.js +0 -128
- package/dist/components/input/tplusInput/inputContent.js.map +0 -1
- package/dist/components/input/tplusInput/inputs.js +0 -151
- package/dist/components/input/tplusInput/inputs.js.map +0 -1
- package/dist/components/input/tplusInput/style.less +0 -132
- package/dist/components/input/utils/index.js +0 -26
- package/dist/components/input/utils/index.js.map +0 -1
- package/dist/components/inventorySearch/api.js +0 -214
- package/dist/components/inventorySearch/api.js.map +0 -1
- package/dist/components/inventorySearch/index.js +0 -303
- package/dist/components/inventorySearch/index.js.map +0 -1
- package/dist/components/inventorySearch/index.less +0 -120
- package/dist/components/inventorySearch/store.js +0 -344
- package/dist/components/inventorySearch/store.js.map +0 -1
- package/dist/components/inventorySearch/tab.js +0 -258
- package/dist/components/inventorySearch/tab.js.map +0 -1
- package/dist/components/keyboard/index.js +0 -255
- package/dist/components/keyboard/index.js.map +0 -1
- package/dist/components/keyboard/index.less +0 -470
- package/dist/components/keyboard/letterKeyboard.js +0 -210
- package/dist/components/keyboard/letterKeyboard.js.map +0 -1
- package/dist/components/keyboard/numKeyboard.js +0 -459
- package/dist/components/keyboard/numKeyboard.js.map +0 -1
- package/dist/components/keyboard/numKeyboardScan.js +0 -195
- package/dist/components/keyboard/numKeyboardScan.js.map +0 -1
- package/dist/components/keyboard/numberButton_input.js +0 -303
- package/dist/components/keyboard/numberButton_input.js.map +0 -1
- package/dist/components/keyboard/numkeyboardPassword.js +0 -460
- package/dist/components/keyboard/numkeyboardPassword.js.map +0 -1
- package/dist/components/keyboard/onlyKeyboard.js +0 -90
- package/dist/components/keyboard/onlyKeyboard.js.map +0 -1
- package/dist/components/keyboard/onlyLetterButton.js +0 -187
- package/dist/components/keyboard/onlyLetterButton.js.map +0 -1
- package/dist/components/keyboard/onlyLetterButton2.js +0 -235
- package/dist/components/keyboard/onlyLetterButton2.js.map +0 -1
- package/dist/components/keyboard/onlyLetterButton2.less +0 -162
- package/dist/components/keyboard/onlyNumberButton.js +0 -128
- package/dist/components/keyboard/onlyNumberButton.js.map +0 -1
- package/dist/components/keyboard/onlyNumberButton2.js +0 -115
- package/dist/components/keyboard/onlyNumberButton2.js.map +0 -1
- package/dist/components/keyboard/textKeyboard.js +0 -50
- package/dist/components/keyboard/textKeyboard.js.map +0 -1
- package/dist/components/layout/hamburger.js +0 -29
- package/dist/components/layout/hamburger.js.map +0 -1
- package/dist/components/layout/index.js +0 -31
- package/dist/components/layout/index.js.map +0 -1
- package/dist/components/layout/layout.js +0 -182
- package/dist/components/layout/layout.js.map +0 -1
- package/dist/components/layout/sider.js +0 -165
- package/dist/components/layout/sider.js.map +0 -1
- package/dist/components/layout/style.less +0 -82
- package/dist/components/loading/index.js +0 -198
- package/dist/components/loading/index.js.map +0 -1
- package/dist/components/loading/loadingContent.js +0 -176
- package/dist/components/loading/loadingContent.js.map +0 -1
- package/dist/components/loading/style.less +0 -61
- package/dist/components/loading/utils.js +0 -29
- package/dist/components/loading/utils.js.map +0 -1
- package/dist/components/message/index.js +0 -308
- package/dist/components/message/index.js.map +0 -1
- package/dist/components/message/index.less +0 -101
- package/dist/components/modal/index.js +0 -93
- package/dist/components/modal/index.js.map +0 -1
- package/dist/components/modal/index.less +0 -19
- package/dist/components/modalVertical/index.js +0 -325
- package/dist/components/modalVertical/index.js.map +0 -1
- package/dist/components/modalVertical/style.less +0 -60
- package/dist/components/modalWraper/index.js +0 -470
- package/dist/components/modalWraper/index.js.map +0 -1
- package/dist/components/modalWraper/style.less +0 -257
- package/dist/components/modalWraper/utils.js +0 -48
- package/dist/components/modalWraper/utils.js.map +0 -1
- package/dist/components/notification/index.js +0 -119
- package/dist/components/notification/index.js.map +0 -1
- package/dist/components/notification/index.less +0 -52
- package/dist/components/overflowTip/index.js +0 -269
- package/dist/components/overflowTip/index.js.map +0 -1
- package/dist/components/overflowTip/style.less +0 -66
- package/dist/components/page/index.js +0 -49
- package/dist/components/page/index.js.map +0 -1
- package/dist/components/page/index.less +0 -22
- package/dist/components/product/detail.js +0 -148
- package/dist/components/product/detail.js.map +0 -1
- package/dist/components/product/getCard.js +0 -145
- package/dist/components/product/getCard.js.map +0 -1
- package/dist/components/product/index.less +0 -128
- package/dist/components/progressState/EmptyAndErrorView.js +0 -143
- package/dist/components/progressState/EmptyAndErrorView.js.map +0 -1
- package/dist/components/progressState/ProgressState.js +0 -157
- package/dist/components/progressState/ProgressState.js.map +0 -1
- package/dist/components/progressState/index.js +0 -14
- package/dist/components/progressState/index.js.map +0 -1
- package/dist/components/progressState/style.less +0 -65
- package/dist/components/scan/index.js +0 -219
- package/dist/components/scan/index.js.map +0 -1
- package/dist/components/scan/index.less +0 -34
- package/dist/components/select/index.js +0 -28
- package/dist/components/select/index.js.map +0 -1
- package/dist/components/select/index.less +0 -12
- package/dist/components/settlement/asyncModal.js +0 -204
- package/dist/components/settlement/asyncModal.js.map +0 -1
- package/dist/components/settlement/index.js +0 -16
- package/dist/components/settlement/index.js.map +0 -1
- package/dist/components/settlement/prototypeTable/index.js +0 -349
- package/dist/components/settlement/prototypeTable/index.js.map +0 -1
- package/dist/components/settlement/prototypeTable/style.less +0 -59
- package/dist/components/settlement/prototypeTable/utils.js +0 -14
- package/dist/components/settlement/prototypeTable/utils.js.map +0 -1
- package/dist/components/settlement/settlement.js +0 -5465
- package/dist/components/settlement/settlement.js.map +0 -1
- package/dist/components/settlement/settlement.less +0 -1586
- package/dist/components/settlement/settlementStore.js +0 -2122
- package/dist/components/settlement/settlementStore.js.map +0 -1
- package/dist/components/settlement/utils.js +0 -249
- package/dist/components/settlement/utils.js.map +0 -1
- package/dist/components/socket/index.js +0 -220
- package/dist/components/socket/index.js.map +0 -1
- package/dist/components/spin/index.js +0 -95
- package/dist/components/spin/index.js.map +0 -1
- package/dist/components/spin/spin-style.less +0 -436
- package/dist/components/test/index.js +0 -330
- package/dist/components/test/index.js.map +0 -1
- package/dist/components/ticon/iconfont/demo.css +0 -539
- package/dist/components/ticon/iconfont/demo_index.html +0 -5202
- package/dist/components/ticon/iconfont/iconfont.css +0 -887
- package/dist/components/ticon/iconfont/iconfont.eot +0 -0
- package/dist/components/ticon/iconfont/iconfont.js +0 -35
- package/dist/components/ticon/iconfont/iconfont.js.map +0 -1
- package/dist/components/ticon/iconfont/iconfont.json +0 -1535
- package/dist/components/ticon/iconfont/iconfont.svg +0 -593
- package/dist/components/ticon/iconfont/iconfont.ttf +0 -0
- package/dist/components/ticon/iconfont/iconfont.woff +0 -0
- package/dist/components/ticon/iconfont/iconfont.woff2 +0 -0
- package/dist/components/ticon/index.js +0 -60
- package/dist/components/ticon/index.js.map +0 -1
- package/dist/components/touchScroll/index.js +0 -182
- package/dist/components/touchScroll/index.js.map +0 -1
- package/dist/components/touchTable/AuthProcess.js +0 -42
- package/dist/components/touchTable/AuthProcess.js.map +0 -1
- package/dist/components/touchTable/generateWater.js +0 -59
- package/dist/components/touchTable/generateWater.js.map +0 -1
- package/dist/components/touchTable/index.js +0 -1109
- package/dist/components/touchTable/index.js.map +0 -1
- package/dist/components/touchTable/index.less +0 -370
- package/dist/components/touchTable/utils.js +0 -14
- package/dist/components/touchTable/utils.js.map +0 -1
- package/dist/demo/PopOverDemo.js +0 -126
- package/dist/demo/PopOverDemo.js.map +0 -1
- package/dist/index.js +0 -249
- package/dist/index.js.map +0 -1
- package/dist/util/tools.js +0 -202
- package/dist/util/tools.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,541 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _stringify = require('babel-runtime/core-js/json/stringify');
|
|
8
|
-
|
|
9
|
-
var _stringify2 = _interopRequireDefault(_stringify);
|
|
10
|
-
|
|
11
|
-
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
|
12
|
-
|
|
13
|
-
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
|
14
|
-
|
|
15
|
-
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
|
16
|
-
|
|
17
|
-
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
|
18
|
-
|
|
19
|
-
var _createClass2 = require('babel-runtime/helpers/createClass');
|
|
20
|
-
|
|
21
|
-
var _createClass3 = _interopRequireDefault(_createClass2);
|
|
22
|
-
|
|
23
|
-
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
|
24
|
-
|
|
25
|
-
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
|
26
|
-
|
|
27
|
-
var _inherits2 = require('babel-runtime/helpers/inherits');
|
|
28
|
-
|
|
29
|
-
var _inherits3 = _interopRequireDefault(_inherits2);
|
|
30
|
-
|
|
31
|
-
var _select = require('antd/es/select');
|
|
32
|
-
|
|
33
|
-
var _select2 = _interopRequireDefault(_select);
|
|
34
|
-
|
|
35
|
-
var _class, _temp, _initialiseProps; /*
|
|
36
|
-
* @Descripttion:
|
|
37
|
-
* @version:
|
|
38
|
-
* @Author: chenlongad
|
|
39
|
-
* @Date: 2021-01-06 15:40:39
|
|
40
|
-
* @LastEditors: chenlongad
|
|
41
|
-
* @LastEditTime: 2021-01-06 16:16:27
|
|
42
|
-
*/
|
|
43
|
-
|
|
44
|
-
require('antd/es/select/style');
|
|
45
|
-
|
|
46
|
-
var _react = require('react');
|
|
47
|
-
|
|
48
|
-
var _react2 = _interopRequireDefault(_react);
|
|
49
|
-
|
|
50
|
-
var _propTypes = require('prop-types');
|
|
51
|
-
|
|
52
|
-
var _propTypes2 = _interopRequireDefault(_propTypes);
|
|
53
|
-
|
|
54
|
-
var _classnames = require('classnames');
|
|
55
|
-
|
|
56
|
-
var _classnames2 = _interopRequireDefault(_classnames);
|
|
57
|
-
|
|
58
|
-
var _lodash = require('lodash.findindex');
|
|
59
|
-
|
|
60
|
-
var _lodash2 = _interopRequireDefault(_lodash);
|
|
61
|
-
|
|
62
|
-
var _provinceData = require('./provinceData');
|
|
63
|
-
|
|
64
|
-
require('./CitySelect.less');
|
|
65
|
-
|
|
66
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
67
|
-
|
|
68
|
-
var Option = _select2.default.Option;
|
|
69
|
-
|
|
70
|
-
var propTypes = {
|
|
71
|
-
defaultValue: _propTypes2.default.object,
|
|
72
|
-
value: _propTypes2.default.object,
|
|
73
|
-
onChange: _propTypes2.default.func,
|
|
74
|
-
provinceData: _propTypes2.default.array,
|
|
75
|
-
lang: _propTypes2.default.string,
|
|
76
|
-
disabled: _propTypes2.default.bool, //设置组件是否被禁用;
|
|
77
|
-
disabledProvinceArr: _propTypes2.default.array, //设置禁用的省份
|
|
78
|
-
disabledCityArr: _propTypes2.default.array, //设置禁用的地级市
|
|
79
|
-
disabledAreaObj: _propTypes2.default.object, //设置不可用的区域;
|
|
80
|
-
allowClear: _propTypes2.default.bool //设置城市选择框是否可以被清除;
|
|
81
|
-
};
|
|
82
|
-
var defaultProps = {
|
|
83
|
-
defaultValue: _provinceData.zh.defaultValue,
|
|
84
|
-
value: _provinceData.zh.defaultValue,
|
|
85
|
-
onChange: function onChange() {},
|
|
86
|
-
provinceData: _provinceData.zh.provinceData,
|
|
87
|
-
lang: 'zh_CN',
|
|
88
|
-
disabled: false,
|
|
89
|
-
allowClear: false,
|
|
90
|
-
disabledProvinceArr: [],
|
|
91
|
-
disabledCityArr: [],
|
|
92
|
-
disabledAreaObj: null
|
|
93
|
-
};
|
|
94
|
-
var CitySelect = (_temp = _class = function (_Component) {
|
|
95
|
-
(0, _inherits3.default)(CitySelect, _Component);
|
|
96
|
-
|
|
97
|
-
function CitySelect(props) {
|
|
98
|
-
(0, _classCallCheck3.default)(this, CitySelect);
|
|
99
|
-
|
|
100
|
-
var _this = (0, _possibleConstructorReturn3.default)(this, (CitySelect.__proto__ || (0, _getPrototypeOf2.default)(CitySelect)).call(this, props));
|
|
101
|
-
|
|
102
|
-
_initialiseProps.call(_this);
|
|
103
|
-
|
|
104
|
-
var provinceData = props.provinceData,
|
|
105
|
-
disabledProvinceArr = props.disabledProvinceArr,
|
|
106
|
-
disabledCityArr = props.disabledCityArr,
|
|
107
|
-
disabledAreaObj = props.disabledAreaObj,
|
|
108
|
-
lang = props.lang;
|
|
109
|
-
// if (props.lang === 'zh_TW') {
|
|
110
|
-
// provinceData = tw.provinceData;
|
|
111
|
-
// } else if (props.lang === 'en_US') {
|
|
112
|
-
// provinceData = en.provinceData
|
|
113
|
-
// }
|
|
114
|
-
|
|
115
|
-
_this.state = {
|
|
116
|
-
provinceIndex: 0,
|
|
117
|
-
cityIndex: 0,
|
|
118
|
-
province: '北京',
|
|
119
|
-
secondCity: provinceData[0].city[0].name,
|
|
120
|
-
secondArea: provinceData[0].city[0].area[0],
|
|
121
|
-
provinceData: _this.buildInitDataArr(provinceData, disabledProvinceArr, lang),
|
|
122
|
-
cities: _this.buildInitDataArr(provinceData[0].city, disabledCityArr, lang),
|
|
123
|
-
areas: _this.buildAreaInitData(provinceData[0].city[0].area, provinceData[0].name, disabledAreaObj, lang)
|
|
124
|
-
};
|
|
125
|
-
return _this;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
(0, _createClass3.default)(CitySelect, [{
|
|
129
|
-
key: 'componentDidMount',
|
|
130
|
-
value: function componentDidMount() {
|
|
131
|
-
var _props = this.props,
|
|
132
|
-
_defaultValue = _props.defaultValue,
|
|
133
|
-
value = _props.value,
|
|
134
|
-
lang = _props.lang,
|
|
135
|
-
disabledProvinceArr = _props.disabledProvinceArr,
|
|
136
|
-
disabledCityArr = _props.disabledCityArr,
|
|
137
|
-
disabledAreaObj = _props.disabledAreaObj;
|
|
138
|
-
|
|
139
|
-
var provinceData = this.state.provinceData;
|
|
140
|
-
// if (lang === 'zh_TW') {
|
|
141
|
-
// provinceData = tw.provinceData;
|
|
142
|
-
// _defaultValue = tw.defaultValue;
|
|
143
|
-
// } else if (lang === 'en_US') {
|
|
144
|
-
// provinceData = en.provinceData;
|
|
145
|
-
// _defaultValue = en.defaultValue;
|
|
146
|
-
// }
|
|
147
|
-
var defaultValue = value ? value : _defaultValue;
|
|
148
|
-
var province = defaultValue.province;
|
|
149
|
-
var provinceIndex = this.getIndex('province', defaultValue.province);
|
|
150
|
-
var cityIndex = this.getIndex('city', defaultValue.city, provinceIndex);
|
|
151
|
-
|
|
152
|
-
provinceIndex = provinceIndex < 0 ? 0 : provinceIndex;
|
|
153
|
-
cityIndex = cityIndex < 0 ? 0 : cityIndex;
|
|
154
|
-
|
|
155
|
-
var secondCity = defaultValue.city;
|
|
156
|
-
var secondArea = defaultValue.area;
|
|
157
|
-
var provinceInitData = this.buildInitDataArr(provinceData, disabledProvinceArr, lang);
|
|
158
|
-
var citiesInitData = this.buildInitDataArr(provinceInitData[provinceIndex].city, disabledCityArr, lang);
|
|
159
|
-
var areasInitData = this.buildAreaInitData(citiesInitData[cityIndex].area, citiesInitData[cityIndex].name, disabledAreaObj, lang);
|
|
160
|
-
|
|
161
|
-
this.setState({
|
|
162
|
-
province: province,
|
|
163
|
-
provinceIndex: provinceIndex, //被选中省的下标
|
|
164
|
-
cityIndex: cityIndex, //被选中市的下标
|
|
165
|
-
cities: citiesInitData,
|
|
166
|
-
secondCity: secondCity,
|
|
167
|
-
areas: areasInitData,
|
|
168
|
-
secondArea: secondArea,
|
|
169
|
-
provinceData: provinceInitData
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
}, {
|
|
173
|
-
key: 'componentWillReceiveProps',
|
|
174
|
-
value: function componentWillReceiveProps(nextProps) {
|
|
175
|
-
if (!nextProps.value) return;
|
|
176
|
-
var _props$value = this.props.value,
|
|
177
|
-
oldProvince = _props$value.province,
|
|
178
|
-
oldCity = _props$value.city,
|
|
179
|
-
oldArea = _props$value.area;
|
|
180
|
-
var _nextProps$value = nextProps.value,
|
|
181
|
-
province = _nextProps$value.province,
|
|
182
|
-
city = _nextProps$value.city,
|
|
183
|
-
area = _nextProps$value.area;
|
|
184
|
-
var preLang = nextProps.preLang,
|
|
185
|
-
lang = nextProps.lang;
|
|
186
|
-
|
|
187
|
-
if (province !== oldProvince) {
|
|
188
|
-
var _getCurrentValue = this.getCurrentValue(province, city, area, preLang, lang),
|
|
189
|
-
newProvince = _getCurrentValue.newProvince,
|
|
190
|
-
newCity = _getCurrentValue.newCity,
|
|
191
|
-
newArea = _getCurrentValue.newArea;
|
|
192
|
-
|
|
193
|
-
this.setState({
|
|
194
|
-
province: newProvince
|
|
195
|
-
});
|
|
196
|
-
return this.handleProvinceChange(newProvince, newCity, newArea);
|
|
197
|
-
}
|
|
198
|
-
if (city !== oldCity) {
|
|
199
|
-
var _getCurrentValue2 = this.getCurrentValue(province, city, area, preLang, lang),
|
|
200
|
-
_newCity = _getCurrentValue2.newCity,
|
|
201
|
-
_newArea = _getCurrentValue2.newArea;
|
|
202
|
-
|
|
203
|
-
this.setState({
|
|
204
|
-
secondCity: _newCity
|
|
205
|
-
});
|
|
206
|
-
return this.handleCityChange(_newCity, _newArea);
|
|
207
|
-
}
|
|
208
|
-
if (area !== oldArea) {
|
|
209
|
-
var _getCurrentValue3 = this.getCurrentValue(province, city, area, preLang, lang),
|
|
210
|
-
_newArea2 = _getCurrentValue3.newArea;
|
|
211
|
-
|
|
212
|
-
this.setState({
|
|
213
|
-
secondArea: _newArea2
|
|
214
|
-
});
|
|
215
|
-
this.onSecondAreaChange(_newArea2);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
// 切换语种后,要自动翻译value
|
|
219
|
-
|
|
220
|
-
}, {
|
|
221
|
-
key: 'getCurrentValue',
|
|
222
|
-
value: function getCurrentValue(province, city, area, preLang, lang) {
|
|
223
|
-
var result = {
|
|
224
|
-
newProvince: province,
|
|
225
|
-
newCity: city,
|
|
226
|
-
newArea: area
|
|
227
|
-
};
|
|
228
|
-
if (!preLang || preLang === lang) return result;
|
|
229
|
-
var newValue = this.translateValue(province, city, area, preLang);
|
|
230
|
-
if (newValue) {
|
|
231
|
-
result.newProvince = newValue.province;
|
|
232
|
-
result.newCity = newValue.city;
|
|
233
|
-
result.newArea = newValue.area;
|
|
234
|
-
}
|
|
235
|
-
return result;
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* 函数功能:重新构建 省市和区域的初始值;
|
|
240
|
-
* @param originalArr 原始数据;
|
|
241
|
-
* @param disabledCityArr 对应禁用的数据;
|
|
242
|
-
* @param lang 获取语言类型;
|
|
243
|
-
* */
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
/**
|
|
247
|
-
* 构建区域所在的基本数据;
|
|
248
|
-
* @param areaArr 当前区域原始数据;
|
|
249
|
-
* @param cityName 当前区域所在的城市;
|
|
250
|
-
* @param disabledAreaObj 设置的不可选中的地域数据;
|
|
251
|
-
* @param lang 获取语言类型;
|
|
252
|
-
* */
|
|
253
|
-
|
|
254
|
-
}, {
|
|
255
|
-
key: 'render',
|
|
256
|
-
value: function render() {
|
|
257
|
-
var _this2 = this;
|
|
258
|
-
|
|
259
|
-
var _state = this.state,
|
|
260
|
-
provinceData = _state.provinceData,
|
|
261
|
-
cities = _state.cities,
|
|
262
|
-
areas = _state.areas;
|
|
263
|
-
var notFoundContent = this.props.notFoundContent;
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
var provinceOptions = provinceData.map(function (province, index) {
|
|
267
|
-
if (province.disabled) {
|
|
268
|
-
return _react2.default.createElement(
|
|
269
|
-
Option,
|
|
270
|
-
{ key: province.name, disabled: true },
|
|
271
|
-
province.name
|
|
272
|
-
);
|
|
273
|
-
} else {
|
|
274
|
-
return _react2.default.createElement(
|
|
275
|
-
Option,
|
|
276
|
-
{ key: province.name },
|
|
277
|
-
province.name
|
|
278
|
-
);
|
|
279
|
-
}
|
|
280
|
-
});
|
|
281
|
-
var cityOptions = cities.map(function (city, index) {
|
|
282
|
-
if (city.disabled) {
|
|
283
|
-
return _react2.default.createElement(
|
|
284
|
-
Option,
|
|
285
|
-
{ key: city.name, disabled: true },
|
|
286
|
-
city.name
|
|
287
|
-
);
|
|
288
|
-
} else {
|
|
289
|
-
return _react2.default.createElement(
|
|
290
|
-
Option,
|
|
291
|
-
{ key: city.name },
|
|
292
|
-
city.name
|
|
293
|
-
);
|
|
294
|
-
}
|
|
295
|
-
});
|
|
296
|
-
|
|
297
|
-
var areaOptions = areas.map(function (area, index) {
|
|
298
|
-
if (area.disabled) {
|
|
299
|
-
return _react2.default.createElement(
|
|
300
|
-
Option,
|
|
301
|
-
{ key: area.name, disabled: true },
|
|
302
|
-
area.name
|
|
303
|
-
);
|
|
304
|
-
} else {
|
|
305
|
-
return _react2.default.createElement(
|
|
306
|
-
Option,
|
|
307
|
-
{ key: area.name },
|
|
308
|
-
area.name
|
|
309
|
-
);
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
return _react2.default.createElement(
|
|
313
|
-
'div',
|
|
314
|
-
{ className: (0, _classnames2.default)("city-select", this.props.className) },
|
|
315
|
-
_react2.default.createElement(
|
|
316
|
-
_select2.default,
|
|
317
|
-
{
|
|
318
|
-
value: this.state.province,
|
|
319
|
-
className: 'province',
|
|
320
|
-
disabled: this.props.disabled,
|
|
321
|
-
notFoundContent: notFoundContent,
|
|
322
|
-
allowClear: this.state.province && this.props.allowClear,
|
|
323
|
-
onChange: function onChange(value) {
|
|
324
|
-
return _this2.handleProvinceChange(value);
|
|
325
|
-
} },
|
|
326
|
-
provinceOptions
|
|
327
|
-
),
|
|
328
|
-
_react2.default.createElement(
|
|
329
|
-
_select2.default,
|
|
330
|
-
{
|
|
331
|
-
value: this.state.secondCity,
|
|
332
|
-
disabled: this.props.disabled,
|
|
333
|
-
notFoundContent: notFoundContent,
|
|
334
|
-
allowClear: this.state.secondCity && this.props.allowClear,
|
|
335
|
-
className: 'city',
|
|
336
|
-
onChange: function onChange(value) {
|
|
337
|
-
return _this2.handleCityChange(value);
|
|
338
|
-
} },
|
|
339
|
-
cityOptions
|
|
340
|
-
),
|
|
341
|
-
_react2.default.createElement(
|
|
342
|
-
_select2.default,
|
|
343
|
-
{
|
|
344
|
-
value: this.state.secondArea,
|
|
345
|
-
className: 'area',
|
|
346
|
-
allowClear: this.state.secondArea && this.props.allowClear,
|
|
347
|
-
disabled: this.props.disabled,
|
|
348
|
-
notFoundContent: notFoundContent,
|
|
349
|
-
onChange: function onChange(value) {
|
|
350
|
-
return _this2.onSecondAreaChange(value);
|
|
351
|
-
} },
|
|
352
|
-
areaOptions
|
|
353
|
-
)
|
|
354
|
-
);
|
|
355
|
-
}
|
|
356
|
-
}]);
|
|
357
|
-
return CitySelect;
|
|
358
|
-
}(_react.Component), _initialiseProps = function _initialiseProps() {
|
|
359
|
-
var _this3 = this;
|
|
360
|
-
|
|
361
|
-
this.buildInitDataArr = function (originalArr, disabledCityArr, lang) {
|
|
362
|
-
var newDataArr = JSON.parse((0, _stringify2.default)(originalArr));
|
|
363
|
-
disabledCityArr = JSON.parse((0, _stringify2.default)(disabledCityArr));
|
|
364
|
-
newDataArr.forEach(function (newDataArr, index, obj) {
|
|
365
|
-
newDataArr.disabled = false;
|
|
366
|
-
var provinceName = newDataArr.name;
|
|
367
|
-
if (disabledCityArr.length > 0) {
|
|
368
|
-
for (var i = 0; i < disabledCityArr.length; i++) {
|
|
369
|
-
if (lang === "en_US") {
|
|
370
|
-
if (provinceName.toLowerCase() === disabledCityArr[i].toLowerCase()) {
|
|
371
|
-
newDataArr.disabled = true;
|
|
372
|
-
}
|
|
373
|
-
} else {
|
|
374
|
-
if (provinceName === disabledCityArr[i]) {
|
|
375
|
-
newDataArr.disabled = true;
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
});
|
|
381
|
-
return newDataArr;
|
|
382
|
-
};
|
|
383
|
-
|
|
384
|
-
this.buildAreaInitData = function (areaArr, cityName, disabledAreaObj, lang) {
|
|
385
|
-
var newArr = [];
|
|
386
|
-
for (var i = 0; i < areaArr.length; i++) {
|
|
387
|
-
var jsonItem = {};
|
|
388
|
-
jsonItem.name = areaArr[i];
|
|
389
|
-
jsonItem.disabled = false;
|
|
390
|
-
if (disabledAreaObj != undefined && disabledAreaObj[cityName] != undefined) {
|
|
391
|
-
var disabledAreaArr = disabledAreaObj[cityName];
|
|
392
|
-
for (var j = 0; j < disabledAreaArr.length; j++) {
|
|
393
|
-
if (lang === "en_US") {
|
|
394
|
-
if (areaArr[i].toLowerCase() === disabledAreaArr[j].toLowerCase()) {
|
|
395
|
-
jsonItem.disabled = true;
|
|
396
|
-
}
|
|
397
|
-
} else {
|
|
398
|
-
if (areaArr[i] === disabledAreaArr[j]) {
|
|
399
|
-
jsonItem.disabled = true;
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
newArr.push(jsonItem);
|
|
405
|
-
}
|
|
406
|
-
return newArr;
|
|
407
|
-
};
|
|
408
|
-
|
|
409
|
-
this.getIndex = function (type, name, provinceIndex, targetData) {
|
|
410
|
-
var provinceData = targetData || _this3.state.provinceData;
|
|
411
|
-
var provinceI = provinceIndex || _this3.state.provinceIndex;
|
|
412
|
-
provinceI = provinceI < 0 ? 0 : provinceI;
|
|
413
|
-
switch (type) {
|
|
414
|
-
case 'province':
|
|
415
|
-
return (0, _lodash2.default)(provinceData, function (province) {
|
|
416
|
-
return province.name === name;
|
|
417
|
-
});
|
|
418
|
-
case 'city':
|
|
419
|
-
return (0, _lodash2.default)(provinceData[provinceI].city, function (city) {
|
|
420
|
-
return city.name === name;
|
|
421
|
-
});
|
|
422
|
-
}
|
|
423
|
-
};
|
|
424
|
-
|
|
425
|
-
this.handleProvinceChange = function (value, cityValue, areaValue) {
|
|
426
|
-
value = value ? value : '';
|
|
427
|
-
var city = '',
|
|
428
|
-
area = '',
|
|
429
|
-
index = 0,
|
|
430
|
-
citesInitArr = [],
|
|
431
|
-
areasInitData = [];
|
|
432
|
-
if (value !== '') {
|
|
433
|
-
var _state2 = _this3.state,
|
|
434
|
-
provinceData = _state2.provinceData,
|
|
435
|
-
provinceIndex = _state2.provinceIndex;
|
|
436
|
-
var _props2 = _this3.props,
|
|
437
|
-
disabledCityArr = _props2.disabledCityArr,
|
|
438
|
-
disabledAreaObj = _props2.disabledAreaObj,
|
|
439
|
-
lang = _props2.lang;
|
|
440
|
-
|
|
441
|
-
index = _this3.getIndex('province', value);
|
|
442
|
-
if (index > -1) {
|
|
443
|
-
citesInitArr = _this3.buildInitDataArr(provinceData[index].city, disabledCityArr, lang);
|
|
444
|
-
areasInitData = _this3.buildAreaInitData(citesInitArr[0].area, citesInitArr[0].name, disabledAreaObj, lang);
|
|
445
|
-
city = cityValue ? cityValue : citesInitArr[0].name;
|
|
446
|
-
area = areaValue ? areaValue : areasInitData[0].name;
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
_this3.setState({
|
|
450
|
-
province: value,
|
|
451
|
-
cities: citesInitArr,
|
|
452
|
-
secondCity: city,
|
|
453
|
-
provinceIndex: index,
|
|
454
|
-
areas: areasInitData,
|
|
455
|
-
secondArea: area
|
|
456
|
-
});
|
|
457
|
-
_this3.onChange(value, city, area);
|
|
458
|
-
};
|
|
459
|
-
|
|
460
|
-
this.handleCityChange = function (value, areaValue) {
|
|
461
|
-
value = value ? value : '';
|
|
462
|
-
var index = '',
|
|
463
|
-
area = '',
|
|
464
|
-
areasInitData = [];
|
|
465
|
-
var _state3 = _this3.state,
|
|
466
|
-
province = _state3.province,
|
|
467
|
-
cities = _state3.cities,
|
|
468
|
-
cityIndex = _state3.cityIndex;
|
|
469
|
-
var _props3 = _this3.props,
|
|
470
|
-
disabledAreaObj = _props3.disabledAreaObj,
|
|
471
|
-
lang = _props3.lang;
|
|
472
|
-
|
|
473
|
-
if (value !== '') {
|
|
474
|
-
index = _this3.getIndex('city', value);
|
|
475
|
-
if (index > -1) {
|
|
476
|
-
areasInitData = _this3.buildAreaInitData(cities[index].area, cities[index].name, disabledAreaObj, lang);
|
|
477
|
-
area = areaValue ? areaValue : areasInitData[0].name;
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
_this3.setState({
|
|
481
|
-
secondCity: value,
|
|
482
|
-
areas: areasInitData,
|
|
483
|
-
secondArea: area,
|
|
484
|
-
cityIndex: value
|
|
485
|
-
});
|
|
486
|
-
_this3.onChange(province, value, area);
|
|
487
|
-
};
|
|
488
|
-
|
|
489
|
-
this.onSecondAreaChange = function (value) {
|
|
490
|
-
value = value ? value : '';
|
|
491
|
-
var _state4 = _this3.state,
|
|
492
|
-
province = _state4.province,
|
|
493
|
-
secondCity = _state4.secondCity;
|
|
494
|
-
|
|
495
|
-
_this3.setState({
|
|
496
|
-
secondArea: value
|
|
497
|
-
});
|
|
498
|
-
_this3.onChange(province, secondCity, value);
|
|
499
|
-
};
|
|
500
|
-
|
|
501
|
-
this.onChange = function (province, city, area) {
|
|
502
|
-
_this3.props.onChange({
|
|
503
|
-
province: province,
|
|
504
|
-
city: city,
|
|
505
|
-
area: area
|
|
506
|
-
});
|
|
507
|
-
};
|
|
508
|
-
|
|
509
|
-
this.translateValue = function (province, secondCity, secondArea, preLang) {
|
|
510
|
-
var provinceData = _this3.state.provinceData;
|
|
511
|
-
|
|
512
|
-
var lastData = void 0;
|
|
513
|
-
// if (preLang === 'zh_TW') {
|
|
514
|
-
// lastData = tw.provinceData;
|
|
515
|
-
// } else if (preLang === 'en_US') {
|
|
516
|
-
// lastData = en.provinceData;
|
|
517
|
-
// } else if (preLang === 'zh_CN') {
|
|
518
|
-
lastData = _provinceData.zh.provinceData;
|
|
519
|
-
// }
|
|
520
|
-
var provinceIndex = _this3.getIndex('province', province, undefined, lastData);
|
|
521
|
-
var cityIndex = _this3.getIndex('city', secondCity, provinceIndex, lastData);
|
|
522
|
-
if (provinceIndex > -1 && cityIndex > -1) {
|
|
523
|
-
var areaIndex = (0, _lodash2.default)(lastData[provinceIndex].city[cityIndex].area, function (item) {
|
|
524
|
-
return item === secondArea;
|
|
525
|
-
});
|
|
526
|
-
if (areaIndex < 0) return;
|
|
527
|
-
var newProvince = provinceData[provinceIndex];
|
|
528
|
-
var newCity = newProvince.city[cityIndex];
|
|
529
|
-
return {
|
|
530
|
-
province: newProvince.name,
|
|
531
|
-
city: newCity.name,
|
|
532
|
-
area: newCity.area[areaIndex]
|
|
533
|
-
};
|
|
534
|
-
}
|
|
535
|
-
};
|
|
536
|
-
}, _temp);
|
|
537
|
-
|
|
538
|
-
CitySelect.propTypes = propTypes;
|
|
539
|
-
CitySelect.defaultProps = defaultProps;
|
|
540
|
-
exports.default = CitySelect;
|
|
541
|
-
//# sourceMappingURL=CitySelect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["tplus-components-touch/components/acCitySelect/CitySelect.js"],"names":["Option","propTypes","defaultValue","PropTypes","object","value","onChange","func","provinceData","array","lang","string","disabled","bool","disabledProvinceArr","disabledCityArr","disabledAreaObj","allowClear","defaultProps","zh","CitySelect","props","state","provinceIndex","cityIndex","province","secondCity","city","name","secondArea","area","buildInitDataArr","cities","areas","buildAreaInitData","_defaultValue","getIndex","provinceInitData","citiesInitData","areasInitData","setState","nextProps","oldProvince","oldCity","oldArea","preLang","getCurrentValue","newProvince","newCity","newArea","handleProvinceChange","handleCityChange","onSecondAreaChange","result","newValue","translateValue","notFoundContent","provinceOptions","map","index","cityOptions","areaOptions","className","Component","originalArr","newDataArr","JSON","parse","forEach","obj","provinceName","length","i","toLowerCase","areaArr","cityName","newArr","jsonItem","undefined","disabledAreaArr","j","push","type","targetData","provinceI","cityValue","areaValue","citesInitArr","lastData","areaIndex","item"],"mappings":"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","file":"CitySelect.js","sourcesContent":["/*\n * @Descripttion:\n * @version:\n * @Author: chenlongad\n * @Date: 2021-01-06 15:40:39\n * @LastEditors: chenlongad\n * @LastEditTime: 2021-01-06 16:16:27\n */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Select } from 'antd';\nimport findIndex from 'lodash.findindex';\nimport { zh } from './provinceData';\nimport './CitySelect.less';\nconst Option = Select.Option;\n\nconst propTypes = {\n defaultValue: PropTypes.object,\n value: PropTypes.object,\n onChange: PropTypes.func,\n provinceData: PropTypes.array,\n lang: PropTypes.string,\n disabled: PropTypes.bool, //设置组件是否被禁用;\n disabledProvinceArr: PropTypes.array, //设置禁用的省份\n disabledCityArr: PropTypes.array, //设置禁用的地级市\n disabledAreaObj: PropTypes.object, //设置不可用的区域;\n allowClear : PropTypes.bool //设置城市选择框是否可以被清除;\n};\nconst defaultProps = {\n defaultValue: zh.defaultValue,\n value: zh.defaultValue,\n onChange: () => { },\n provinceData: zh.provinceData,\n lang: 'zh_CN',\n disabled: false,\n allowClear : false,\n disabledProvinceArr: [],\n disabledCityArr: [],\n disabledAreaObj: null\n};\nclass CitySelect extends Component {\n constructor(props) {\n super(props);\n let { provinceData, disabledProvinceArr, disabledCityArr, disabledAreaObj, lang } = props;\n // if (props.lang === 'zh_TW') {\n // provinceData = tw.provinceData;\n // } else if (props.lang === 'en_US') {\n // provinceData = en.provinceData\n // }\n this.state = {\n provinceIndex: 0,\n cityIndex: 0,\n province: '北京',\n secondCity: provinceData[0].city[0].name,\n secondArea: provinceData[0].city[0].area[0],\n provinceData: this.buildInitDataArr(provinceData, disabledProvinceArr, lang),\n cities: this.buildInitDataArr(provinceData[0].city, disabledCityArr, lang),\n areas: this.buildAreaInitData(provinceData[0].city[0].area, provinceData[0].name, disabledAreaObj, lang),\n }\n }\n componentDidMount() {\n let { defaultValue: _defaultValue, value, lang, disabledProvinceArr, disabledCityArr, disabledAreaObj } = this.props;\n let provinceData = this.state.provinceData;\n // if (lang === 'zh_TW') {\n // provinceData = tw.provinceData;\n // _defaultValue = tw.defaultValue;\n // } else if (lang === 'en_US') {\n // provinceData = en.provinceData;\n // _defaultValue = en.defaultValue;\n // }\n let defaultValue = value ? value : _defaultValue;\n let province = defaultValue.province;\n let provinceIndex = this.getIndex('province', defaultValue.province);\n let cityIndex = this.getIndex('city', defaultValue.city, provinceIndex);\n\n provinceIndex = provinceIndex < 0 ? 0 : provinceIndex;\n cityIndex = cityIndex < 0 ? 0 : cityIndex;\n\n let secondCity = defaultValue.city;\n let secondArea = defaultValue.area;\n let provinceInitData = this.buildInitDataArr(provinceData, disabledProvinceArr, lang);\n let citiesInitData = this.buildInitDataArr(provinceInitData[provinceIndex].city, disabledCityArr, lang);\n let areasInitData = this.buildAreaInitData(citiesInitData[cityIndex].area, citiesInitData[cityIndex].name, disabledAreaObj, lang);\n\n this.setState({\n province,\n provinceIndex, //被选中省的下标\n cityIndex, //被选中市的下标\n cities: citiesInitData,\n secondCity: secondCity,\n areas: areasInitData,\n secondArea,\n provinceData: provinceInitData\n });\n }\n\n componentWillReceiveProps(nextProps) {\n if (!nextProps.value) return;\n const { province:oldProvince, city:oldCity, area:oldArea } = this.props.value;\n const { province, city, area } = nextProps.value;\n const { preLang, lang } = nextProps;\n if(province !== oldProvince) {\n const { newProvince, newCity, newArea } = this.getCurrentValue(province, city, area, preLang, lang);\n this.setState({\n province:newProvince,\n });\n return this.handleProvinceChange(newProvince, newCity, newArea);\n }\n if(city !== oldCity) {\n const { newCity, newArea } = this.getCurrentValue(province, city, area, preLang, lang);\n this.setState({\n secondCity: newCity,\n });\n return this.handleCityChange(newCity, newArea);\n }\n if(area !== oldArea) {\n const { newArea } = this.getCurrentValue(province, city, area, preLang, lang);\n this.setState({\n secondArea: newArea\n });\n this.onSecondAreaChange(newArea);\n }\n }\n // 切换语种后,要自动翻译value\n getCurrentValue (province, city, area, preLang, lang) {\n const result = {\n newProvince:province,\n newCity:city,\n newArea:area\n }\n if (!preLang || preLang === lang) return result;\n let newValue = this.translateValue(province, city, area, preLang);\n if (newValue) {\n result.newProvince = newValue.province;\n result.newCity = newValue.city;\n result.newArea = newValue.area\n }\n return result\n }\n\n /**\n * 函数功能:重新构建 省市和区域的初始值;\n * @param originalArr 原始数据;\n * @param disabledCityArr 对应禁用的数据;\n * @param lang 获取语言类型;\n * */\n buildInitDataArr = (originalArr, disabledCityArr, lang) => {\n let newDataArr = JSON.parse(JSON.stringify(originalArr));\n disabledCityArr = JSON.parse(JSON.stringify(disabledCityArr));\n newDataArr.forEach(function (newDataArr, index, obj) {\n newDataArr.disabled = false;\n let provinceName = newDataArr.name;\n if (disabledCityArr.length > 0) {\n for (let i = 0; i < disabledCityArr.length; i++) {\n if (lang === \"en_US\") {\n if (provinceName.toLowerCase() === disabledCityArr[i].toLowerCase()) {\n newDataArr.disabled = true;\n }\n } else {\n if (provinceName === disabledCityArr[i]) {\n newDataArr.disabled = true;\n }\n }\n }\n }\n });\n return newDataArr;\n };\n\n /**\n * 构建区域所在的基本数据;\n * @param areaArr 当前区域原始数据;\n * @param cityName 当前区域所在的城市;\n * @param disabledAreaObj 设置的不可选中的地域数据;\n * @param lang 获取语言类型;\n * */\n buildAreaInitData = (areaArr, cityName, disabledAreaObj, lang) => {\n let newArr = [];\n for (let i = 0; i < areaArr.length; i++) {\n let jsonItem = {};\n jsonItem.name = areaArr[i];\n jsonItem.disabled = false;\n if (disabledAreaObj != undefined && disabledAreaObj[cityName] != undefined) {\n let disabledAreaArr = disabledAreaObj[cityName];\n for (let j = 0; j < disabledAreaArr.length; j++) {\n if (lang === \"en_US\") {\n if (areaArr[i].toLowerCase() === disabledAreaArr[j].toLowerCase()) {\n jsonItem.disabled = true;\n }\n } else {\n if (areaArr[i] === disabledAreaArr[j]) {\n jsonItem.disabled = true;\n }\n }\n }\n }\n newArr.push(jsonItem);\n }\n return newArr;\n };\n\n getIndex = (type, name, provinceIndex, targetData) => {\n let provinceData = targetData || this.state.provinceData;\n let provinceI = provinceIndex || this.state.provinceIndex;\n provinceI = provinceI < 0 ? 0 : provinceI;\n switch (type) {\n case 'province':\n return findIndex(provinceData, function (province) {\n return province.name === name;\n });\n case 'city':\n return findIndex(provinceData[provinceI].city, function (city) {\n return city.name === name;\n });\n }\n };\n handleProvinceChange = (value, cityValue, areaValue) => {\n value = (value) ? value : '';\n let city = '',\n area = '',\n index = 0,\n citesInitArr = [],\n areasInitData = [];\n if(value !== ''){\n let { provinceData,provinceIndex } = this.state;\n let { disabledCityArr, disabledAreaObj, lang } = this.props;\n index = this.getIndex('province', value);\n if(index > -1){\n citesInitArr = this.buildInitDataArr(provinceData[index].city, disabledCityArr, lang);\n areasInitData = this.buildAreaInitData(citesInitArr[0].area, citesInitArr[0].name, disabledAreaObj, lang);\n city = cityValue ? cityValue : citesInitArr[0].name;\n area = areaValue ? areaValue : areasInitData[0].name;\n }\n }\n this.setState({\n province: value,\n cities: citesInitArr,\n secondCity: city,\n provinceIndex: index,\n areas: areasInitData,\n secondArea: area,\n });\n this.onChange(value, city, area);\n };\n handleCityChange = (value, areaValue) => {\n value = (value) ? value : '';\n let index = '',\n area = '',\n areasInitData = [];\n let { province,cities,cityIndex } = this.state;\n let { disabledAreaObj, lang } = this.props;\n if(value !== ''){\n index = this.getIndex('city', value);\n if(index > -1){\n areasInitData = this.buildAreaInitData(cities[index].area, cities[index].name, disabledAreaObj, lang);\n area = areaValue ? areaValue : areasInitData[0].name;\n }\n }\n this.setState({\n secondCity: value,\n areas: areasInitData,\n secondArea: area,\n cityIndex: value\n });\n this.onChange(province, value, area);\n };\n onSecondAreaChange = (value) => {\n value = (value) ? value : '';\n let { province,secondCity } = this.state;\n this.setState({\n secondArea: value,\n });\n this.onChange(province, secondCity, value);\n };\n onChange = (province, city, area) => {\n this.props.onChange({\n province: province,\n city: city,\n area: area\n })\n };\n translateValue = (province, secondCity, secondArea, preLang) => {\n let { provinceData } = this.state;\n let lastData;\n // if (preLang === 'zh_TW') {\n // lastData = tw.provinceData;\n // } else if (preLang === 'en_US') {\n // lastData = en.provinceData;\n // } else if (preLang === 'zh_CN') {\n lastData = zh.provinceData;\n // }\n let provinceIndex = this.getIndex('province', province, undefined, lastData);\n let cityIndex = this.getIndex('city', secondCity, provinceIndex, lastData);\n if (provinceIndex > -1 && cityIndex > -1) {\n let areaIndex = findIndex(lastData[provinceIndex].city[cityIndex].area, function (item) {\n return item === secondArea;\n });\n if (areaIndex < 0) return\n const newProvince = provinceData[provinceIndex];\n const newCity = newProvince.city[cityIndex];\n return {\n province: newProvince.name,\n city: newCity.name,\n area: newCity.area[areaIndex]\n }\n }\n }\n render() {\n let { provinceData, cities, areas } = this.state;\n const { notFoundContent } = this.props;\n\n const provinceOptions = provinceData.map((province, index) => {\n if (province.disabled) {\n return (<Option key={province.name} disabled>{province.name}</Option>);\n } else {\n return (<Option key={province.name} >{province.name}</Option>)\n }\n });\n const cityOptions = cities.map((city, index) => {\n if (city.disabled) {\n return (<Option key={city.name} disabled>{city.name}</Option>);\n } else {\n return (<Option key={city.name} >{city.name}</Option>)\n }\n });\n\n const areaOptions = areas.map((area, index) => {\n if (area.disabled) {\n return (<Option key={area.name} disabled>{area.name}</Option>);\n } else {\n return (<Option key={area.name} >{area.name}</Option>)\n }\n });\n return (\n <div className={classNames(\"city-select\", this.props.className)}>\n <Select\n value={this.state.province}\n className=\"province\"\n disabled={this.props.disabled}\n notFoundContent={notFoundContent}\n allowClear = {this.state.province && this.props.allowClear}\n onChange={(value) => this.handleProvinceChange(value)}>\n {provinceOptions}\n </Select>\n <Select\n value={this.state.secondCity}\n disabled={this.props.disabled}\n notFoundContent={notFoundContent}\n allowClear = {this.state.secondCity && this.props.allowClear}\n className=\"city\"\n onChange={(value) => this.handleCityChange(value)}>\n {cityOptions}\n </Select>\n <Select\n value={this.state.secondArea}\n className=\"area\"\n allowClear = {this.state.secondArea && this.props.allowClear}\n disabled={this.props.disabled}\n notFoundContent={notFoundContent}\n onChange={(value) => this.onSecondAreaChange(value)}>\n {areaOptions}\n </Select>\n </div>\n );\n }\n}\nCitySelect.propTypes = propTypes;\nCitySelect.defaultProps = defaultProps;\nexport default CitySelect;"]}
|