tplus-components-touch 3.51.1 → 3.51.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 (200) hide show
  1. package/README.md +16 -16
  2. package/dist/components/acCitySelect/CitySelect.js +18 -18
  3. package/dist/components/acCitySelect/CitySelect.js.map +1 -1
  4. package/dist/components/acCitySelect/CitySelect.less +9 -9
  5. package/dist/components/acCitySelect/citys.js.map +1 -1
  6. package/dist/components/acCitySelect/index.js.map +1 -1
  7. package/dist/components/acCitySelect/provinceData.js +7 -7
  8. package/dist/components/acCitySelect/provinceData.js.map +1 -1
  9. package/dist/components/addLog/AddLogProcessor.js +6 -6
  10. package/dist/components/addLog/AddLogProcessor.js.map +1 -1
  11. package/dist/components/addLog/OperationLogApi.js +3 -3
  12. package/dist/components/addLog/OperationLogApi.js.map +1 -1
  13. package/dist/components/autoComplete/index.js +14 -14
  14. package/dist/components/autoComplete/index.js.map +1 -1
  15. package/dist/components/autoComplete/index.less +89 -89
  16. package/dist/components/autoComplete/option.js.map +1 -1
  17. package/dist/components/autoCompleteWithKeyboard/index.js +14 -14
  18. package/dist/components/autoCompleteWithKeyboard/index.js.map +1 -1
  19. package/dist/components/autoCompleteWithKeyboard/index.less +18 -18
  20. package/dist/components/billSearch/api.js +29 -29
  21. package/dist/components/billSearch/api.js.map +1 -1
  22. package/dist/components/billSearch/index.js +6 -6
  23. package/dist/components/billSearch/index.js.map +1 -1
  24. package/dist/components/billSearch/index.less +384 -384
  25. package/dist/components/cloudPrint/BTPrintFormatUtil.js +17 -17
  26. package/dist/components/cloudPrint/BTPrintFormatUtil.js.map +1 -1
  27. package/dist/components/cloudPrint/api.js.map +1 -1
  28. package/dist/components/cloudPrint/index.js.map +1 -1
  29. package/dist/components/cloudPrint/printDispatch.js +7 -7
  30. package/dist/components/cloudPrint/printDispatch.js.map +1 -1
  31. package/dist/components/cloudPrint/printTemplate/dialy_one.json +238 -238
  32. package/dist/components/cloudPrint/printTemplate/duty_one.json +238 -238
  33. package/dist/components/cloudPrint/printTemplate/retail_one.json +203 -203
  34. package/dist/components/cloudPrint/printTemplate/retail_two.json +219 -219
  35. package/dist/components/cloudPrint/printTemplate/storage_one.json +128 -128
  36. package/dist/components/cloudPrint/printTemplate/template.js +7 -7
  37. package/dist/components/cloudPrint/printTemplate/template.js.map +1 -1
  38. package/dist/components/commonForm/addressPicker/index.js +7 -7
  39. package/dist/components/commonForm/addressPicker/index.js.map +1 -1
  40. package/dist/components/commonForm/addressPicker/style.less +10 -10
  41. package/dist/components/commonForm/autoComplete/index.js.map +1 -1
  42. package/dist/components/commonForm/autoComplete/style.less +2 -2
  43. package/dist/components/commonForm/datePicker/index.js.map +1 -1
  44. package/dist/components/commonForm/datePicker/style.less +4 -4
  45. package/dist/components/commonForm/formControl/index.js.map +1 -1
  46. package/dist/components/commonForm/index.js +4 -4
  47. package/dist/components/commonForm/index.js.map +1 -1
  48. package/dist/components/commonForm/inputNumber/index.js.map +1 -1
  49. package/dist/components/commonForm/inputNumber/style.less +10 -10
  50. package/dist/components/commonForm/radio/index.js.map +1 -1
  51. package/dist/components/commonForm/style.less +1 -1
  52. package/dist/components/deliverySearch/api.js +21 -21
  53. package/dist/components/deliverySearch/api.js.map +1 -1
  54. package/dist/components/deliverySearch/index.js +6 -6
  55. package/dist/components/deliverySearch/index.js.map +1 -1
  56. package/dist/components/deliverySearch/index.less +553 -553
  57. package/dist/components/form/index.js.map +1 -1
  58. package/dist/components/hardwareAPI/index.js +7 -7
  59. package/dist/components/hardwareAPI/index.js.map +1 -1
  60. package/dist/components/hotKey/config.js +23 -23
  61. package/dist/components/hotKey/config.js.map +1 -1
  62. package/dist/components/hotKey/hotKeyModal.js.map +1 -1
  63. package/dist/components/hotKey/index.js +26 -26
  64. package/dist/components/hotKey/index.js.map +1 -1
  65. package/dist/components/hotKey/localConfig.js.map +1 -1
  66. package/dist/components/hotKey/style.less +96 -96
  67. package/dist/components/hotKey/utils.js.map +1 -1
  68. package/dist/components/input/index.js +6 -6
  69. package/dist/components/input/index.js.map +1 -1
  70. package/dist/components/input/scanInput.js.map +1 -1
  71. package/dist/components/input/scanInput.less +30 -30
  72. package/dist/components/input/style.less +106 -106
  73. package/dist/components/input/tplusInput/index.js +30 -30
  74. package/dist/components/input/tplusInput/index.js.map +1 -1
  75. package/dist/components/input/tplusInput/inputContent.js.map +1 -1
  76. package/dist/components/input/tplusInput/inputs.js.map +1 -1
  77. package/dist/components/input/tplusInput/style.less +132 -132
  78. package/dist/components/input/utils/index.js.map +1 -1
  79. package/dist/components/inventorySearch/api.js +58 -58
  80. package/dist/components/inventorySearch/api.js.map +1 -1
  81. package/dist/components/inventorySearch/index.js +3 -3
  82. package/dist/components/inventorySearch/index.js.map +1 -1
  83. package/dist/components/inventorySearch/index.less +119 -119
  84. package/dist/components/inventorySearch/store.js.map +1 -1
  85. package/dist/components/inventorySearch/tab.js.map +1 -1
  86. package/dist/components/keyboard/index.js.map +1 -1
  87. package/dist/components/keyboard/index.less +485 -485
  88. package/dist/components/keyboard/letterKeyboard.js +2 -2
  89. package/dist/components/keyboard/letterKeyboard.js.map +1 -1
  90. package/dist/components/keyboard/numKeyboard.js +4 -4
  91. package/dist/components/keyboard/numKeyboard.js.map +1 -1
  92. package/dist/components/keyboard/numKeyboardScan.js.map +1 -1
  93. package/dist/components/keyboard/numberButton_input.js +5 -5
  94. package/dist/components/keyboard/numberButton_input.js.map +1 -1
  95. package/dist/components/keyboard/numkeyboardPassword.js +4 -4
  96. package/dist/components/keyboard/numkeyboardPassword.js.map +1 -1
  97. package/dist/components/keyboard/onlyKeyboard.js +7 -7
  98. package/dist/components/keyboard/onlyKeyboard.js.map +1 -1
  99. package/dist/components/keyboard/onlyLetterButton.js +2 -2
  100. package/dist/components/keyboard/onlyLetterButton.js.map +1 -1
  101. package/dist/components/keyboard/onlyLetterButton2.js +2 -2
  102. package/dist/components/keyboard/onlyLetterButton2.js.map +1 -1
  103. package/dist/components/keyboard/onlyLetterButton2.less +156 -156
  104. package/dist/components/keyboard/onlyNumberButton.js +2 -2
  105. package/dist/components/keyboard/onlyNumberButton.js.map +1 -1
  106. package/dist/components/keyboard/onlyNumberButton2.js +3 -3
  107. package/dist/components/keyboard/onlyNumberButton2.js.map +1 -1
  108. package/dist/components/keyboard/textKeyboard.js.map +1 -1
  109. package/dist/components/layout/hamburger.js.map +1 -1
  110. package/dist/components/layout/index.js +10 -10
  111. package/dist/components/layout/index.js.map +1 -1
  112. package/dist/components/layout/layout.js.map +1 -1
  113. package/dist/components/layout/sider.js +12 -12
  114. package/dist/components/layout/sider.js.map +1 -1
  115. package/dist/components/layout/style.less +82 -82
  116. package/dist/components/loading/index.js +15 -15
  117. package/dist/components/loading/index.js.map +1 -1
  118. package/dist/components/loading/loadingContent.js.map +1 -1
  119. package/dist/components/loading/style.less +72 -72
  120. package/dist/components/loading/utils.js.map +1 -1
  121. package/dist/components/message/index.js +8 -8
  122. package/dist/components/message/index.js.map +1 -1
  123. package/dist/components/message/index.less +101 -101
  124. package/dist/components/modal/index.js.map +1 -1
  125. package/dist/components/modal/index.less +19 -19
  126. package/dist/components/modalVertical/index.js +7 -7
  127. package/dist/components/modalVertical/index.js.map +1 -1
  128. package/dist/components/modalVertical/style.less +60 -60
  129. package/dist/components/modalWraper/index.js +15 -15
  130. package/dist/components/modalWraper/index.js.map +1 -1
  131. package/dist/components/modalWraper/style.less +262 -262
  132. package/dist/components/modalWraper/utils.js.map +1 -1
  133. package/dist/components/notification/index.js +4 -4
  134. package/dist/components/notification/index.js.map +1 -1
  135. package/dist/components/notification/index.less +51 -51
  136. package/dist/components/overflowTip/index.js +15 -15
  137. package/dist/components/overflowTip/index.js.map +1 -1
  138. package/dist/components/overflowTip/style.less +66 -66
  139. package/dist/components/page/index.js.map +1 -1
  140. package/dist/components/page/index.less +21 -21
  141. package/dist/components/presale/pickup.js.map +1 -1
  142. package/dist/components/presale/style.less +58 -58
  143. package/dist/components/product/detail.js +7 -7
  144. package/dist/components/product/detail.js.map +1 -1
  145. package/dist/components/product/getCard.js +5 -5
  146. package/dist/components/product/getCard.js.map +1 -1
  147. package/dist/components/product/index.less +128 -128
  148. package/dist/components/progressState/EmptyAndErrorView.js.map +1 -1
  149. package/dist/components/progressState/ProgressState.js +10 -10
  150. package/dist/components/progressState/ProgressState.js.map +1 -1
  151. package/dist/components/progressState/index.js.map +1 -1
  152. package/dist/components/progressState/style.less +65 -65
  153. package/dist/components/scan/index.js.map +1 -1
  154. package/dist/components/scan/index.less +33 -33
  155. package/dist/components/select/index.js.map +1 -1
  156. package/dist/components/select/index.less +11 -11
  157. package/dist/components/settlement/asyncModal.js.map +1 -1
  158. package/dist/components/settlement/index.js.map +1 -1
  159. package/dist/components/settlement/moreCzkTable/index.js.map +1 -1
  160. package/dist/components/settlement/moreCzkTable/style.less +6 -6
  161. package/dist/components/settlement/prototypeTable/index.js.map +1 -1
  162. package/dist/components/settlement/prototypeTable/style.less +58 -58
  163. package/dist/components/settlement/prototypeTable/utils.js.map +1 -1
  164. package/dist/components/settlement/settlement.js +5 -5
  165. package/dist/components/settlement/settlement.js.map +1 -1
  166. package/dist/components/settlement/settlement.less +1707 -1707
  167. package/dist/components/settlement/settlementApi.js +7 -7
  168. package/dist/components/settlement/settlementApi.js.map +1 -1
  169. package/dist/components/settlement/settlementStore.js +6 -6
  170. package/dist/components/settlement/settlementStore.js.map +1 -1
  171. package/dist/components/settlement/utils.js.map +1 -1
  172. package/dist/components/socket/index.js +11 -11
  173. package/dist/components/socket/index.js.map +1 -1
  174. package/dist/components/spin/index.js +6 -6
  175. package/dist/components/spin/index.js.map +1 -1
  176. package/dist/components/spin/spin-style.less +436 -436
  177. package/dist/components/test/index.js +3 -3
  178. package/dist/components/test/index.js.map +1 -1
  179. package/dist/components/ticon/iconfont/demo.css +539 -539
  180. package/dist/components/ticon/iconfont/demo_index.html +5248 -5248
  181. package/dist/components/ticon/iconfont/iconfont.css +895 -895
  182. package/dist/components/ticon/iconfont/iconfont.json +1549 -1549
  183. package/dist/components/ticon/index.js.map +1 -1
  184. package/dist/components/touchScroll/index.js +9 -9
  185. package/dist/components/touchScroll/index.js.map +1 -1
  186. package/dist/components/touchTable/AuthProcess.js.map +1 -1
  187. package/dist/components/touchTable/generateWater.js.map +1 -1
  188. package/dist/components/touchTable/index.js +9 -9
  189. package/dist/components/touchTable/index.js.map +1 -1
  190. package/dist/components/touchTable/index.less +376 -376
  191. package/dist/components/touchTable/utils.js.map +1 -1
  192. package/dist/demo/PopOverDemo.js.map +1 -1
  193. package/dist/index.js +7 -7
  194. package/dist/index.js.map +1 -1
  195. package/dist/util/tools.js.map +1 -1
  196. package/locales/zh/tplus-components-touch.json +1 -1
  197. package/locales/zh-CN/tplus-components-touch.json +1 -1
  198. package/mocks/memberInfo.json +79 -79
  199. package/package.json +2 -2
  200. package/tsconfig.json +26 -26
package/README.md CHANGED
@@ -1,17 +1,17 @@
1
- # tplus-components-touch
2
-
3
- ### keyboard 键盘
4
- 1. 分五类:两个only, 只是弹框.
5
- (1) type='only' OnlyKeyboard 单独的键盘弹框, 需要传入 type, value, visible, onChange, handleOk, handleCancel;
6
- (2) type='onlytext' OnlyTextKeyboard 单独的键盘弹框, 需要传入 type, value, visible, title, handleOk, handleCancel;
7
- (3) type='letter' LetterKeyboard => (input + only) value, onChange, handleOk, handleCancel;
8
- (4) type='number' NumberKeyboard 数字+输入框 value, handleOk ;
9
- (5) type='text' TextKeyboard => (onlytext + div) title, value, handleOk, handleCancel;
10
- 2. LetterKeyboard 与 TextKeyboard 是 Model 对话框, NumberKeyboard 是 Popover 气泡卡片;
11
- 3. LetterKeyboard 有 suffix 属性, 则有后缀 icon, 点击召唤键盘;
12
-
13
- ### product 商品 (业务组件)
14
- 1. 一级菜单、二级菜单使用 swiper 组件;
15
- 2. 一级菜单中 常用、全部, 由接口返回, 对应 id 为 -2、-1;
16
- 3. 查询条码的输入框, 时间间隔为1s, 实时查询, 使用 LetterKeyboard, key 与 id 互斥;
1
+ # tplus-components-touch
2
+
3
+ ### keyboard 键盘
4
+ 1. 分五类:两个only, 只是弹框.
5
+ (1) type='only' OnlyKeyboard 单独的键盘弹框, 需要传入 type, value, visible, onChange, handleOk, handleCancel;
6
+ (2) type='onlytext' OnlyTextKeyboard 单独的键盘弹框, 需要传入 type, value, visible, title, handleOk, handleCancel;
7
+ (3) type='letter' LetterKeyboard => (input + only) value, onChange, handleOk, handleCancel;
8
+ (4) type='number' NumberKeyboard 数字+输入框 value, handleOk ;
9
+ (5) type='text' TextKeyboard => (onlytext + div) title, value, handleOk, handleCancel;
10
+ 2. LetterKeyboard 与 TextKeyboard 是 Model 对话框, NumberKeyboard 是 Popover 气泡卡片;
11
+ 3. LetterKeyboard 有 suffix 属性, 则有后缀 icon, 点击召唤键盘;
12
+
13
+ ### product 商品 (业务组件)
14
+ 1. 一级菜单、二级菜单使用 swiper 组件;
15
+ 2. 一级菜单中 常用、全部, 由接口返回, 对应 id 为 -2、-1;
16
+ 3. 查询条码的输入框, 时间间隔为1s, 实时查询, 使用 LetterKeyboard, key 与 id 互斥;
17
17
  4. <Product onClick={(value) => {console.log(value)}} />
@@ -32,13 +32,13 @@ var _select = require('antd/es/select');
32
32
 
33
33
  var _select2 = _interopRequireDefault(_select);
34
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
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
42
  */
43
43
 
44
44
  require('antd/es/select/style');
@@ -235,20 +235,20 @@ var CitySelect = (_temp = _class = function (_Component) {
235
235
  return result;
236
236
  }
237
237
 
238
- /**
239
- * 函数功能:重新构建 省市和区域的初始值;
240
- * @param originalArr 原始数据;
241
- * @param disabledCityArr 对应禁用的数据;
242
- * @param lang 获取语言类型;
238
+ /**
239
+ * 函数功能:重新构建 省市和区域的初始值;
240
+ * @param originalArr 原始数据;
241
+ * @param disabledCityArr 对应禁用的数据;
242
+ * @param lang 获取语言类型;
243
243
  * */
244
244
 
245
245
 
246
- /**
247
- * 构建区域所在的基本数据;
248
- * @param areaArr 当前区域原始数据;
249
- * @param cityName 当前区域所在的城市;
250
- * @param disabledAreaObj 设置的不可选中的地域数据;
251
- * @param lang 获取语言类型;
246
+ /**
247
+ * 构建区域所在的基本数据;
248
+ * @param areaArr 当前区域原始数据;
249
+ * @param cityName 当前区域所在的城市;
250
+ * @param disabledAreaObj 设置的不可选中的地域数据;
251
+ * @param lang 获取语言类型;
252
252
  * */
253
253
 
254
254
  }, {
@@ -1 +1 @@
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":["/*\r\n * @Descripttion:\r\n * @version:\r\n * @Author: chenlongad\r\n * @Date: 2021-01-06 15:40:39\r\n * @LastEditors: chenlongad\r\n * @LastEditTime: 2021-01-06 16:16:27\r\n */\r\n\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Select } from 'antd';\r\nimport findIndex from 'lodash.findindex';\r\nimport { zh } from './provinceData';\r\nimport './CitySelect.less';\r\nconst Option = Select.Option;\r\n\r\nconst propTypes = {\r\n defaultValue: PropTypes.object,\r\n value: PropTypes.object,\r\n onChange: PropTypes.func,\r\n provinceData: PropTypes.array,\r\n lang: PropTypes.string,\r\n disabled: PropTypes.bool, //设置组件是否被禁用;\r\n disabledProvinceArr: PropTypes.array, //设置禁用的省份\r\n disabledCityArr: PropTypes.array, //设置禁用的地级市\r\n disabledAreaObj: PropTypes.object, //设置不可用的区域;\r\n allowClear : PropTypes.bool //设置城市选择框是否可以被清除;\r\n};\r\nconst defaultProps = {\r\n defaultValue: zh.defaultValue,\r\n value: zh.defaultValue,\r\n onChange: () => { },\r\n provinceData: zh.provinceData,\r\n lang: 'zh_CN',\r\n disabled: false,\r\n allowClear : false,\r\n disabledProvinceArr: [],\r\n disabledCityArr: [],\r\n disabledAreaObj: null\r\n};\r\nclass CitySelect extends Component {\r\n constructor(props) {\r\n super(props);\r\n let { provinceData, disabledProvinceArr, disabledCityArr, disabledAreaObj, lang } = props;\r\n // if (props.lang === 'zh_TW') {\r\n // provinceData = tw.provinceData;\r\n // } else if (props.lang === 'en_US') {\r\n // provinceData = en.provinceData\r\n // }\r\n this.state = {\r\n provinceIndex: 0,\r\n cityIndex: 0,\r\n province: '北京',\r\n secondCity: provinceData[0].city[0].name,\r\n secondArea: provinceData[0].city[0].area[0],\r\n provinceData: this.buildInitDataArr(provinceData, disabledProvinceArr, lang),\r\n cities: this.buildInitDataArr(provinceData[0].city, disabledCityArr, lang),\r\n areas: this.buildAreaInitData(provinceData[0].city[0].area, provinceData[0].name, disabledAreaObj, lang),\r\n }\r\n }\r\n componentDidMount() {\r\n let { defaultValue: _defaultValue, value, lang, disabledProvinceArr, disabledCityArr, disabledAreaObj } = this.props;\r\n let provinceData = this.state.provinceData;\r\n // if (lang === 'zh_TW') {\r\n // provinceData = tw.provinceData;\r\n // _defaultValue = tw.defaultValue;\r\n // } else if (lang === 'en_US') {\r\n // provinceData = en.provinceData;\r\n // _defaultValue = en.defaultValue;\r\n // }\r\n let defaultValue = value ? value : _defaultValue;\r\n let province = defaultValue.province;\r\n let provinceIndex = this.getIndex('province', defaultValue.province);\r\n let cityIndex = this.getIndex('city', defaultValue.city, provinceIndex);\r\n\r\n provinceIndex = provinceIndex < 0 ? 0 : provinceIndex;\r\n cityIndex = cityIndex < 0 ? 0 : cityIndex;\r\n\r\n let secondCity = defaultValue.city;\r\n let secondArea = defaultValue.area;\r\n let provinceInitData = this.buildInitDataArr(provinceData, disabledProvinceArr, lang);\r\n let citiesInitData = this.buildInitDataArr(provinceInitData[provinceIndex].city, disabledCityArr, lang);\r\n let areasInitData = this.buildAreaInitData(citiesInitData[cityIndex].area, citiesInitData[cityIndex].name, disabledAreaObj, lang);\r\n\r\n this.setState({\r\n province,\r\n provinceIndex, //被选中省的下标\r\n cityIndex, //被选中市的下标\r\n cities: citiesInitData,\r\n secondCity: secondCity,\r\n areas: areasInitData,\r\n secondArea,\r\n provinceData: provinceInitData\r\n });\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.value) return;\r\n const { province:oldProvince, city:oldCity, area:oldArea } = this.props.value;\r\n const { province, city, area } = nextProps.value;\r\n const { preLang, lang } = nextProps;\r\n if(province !== oldProvince) {\r\n const { newProvince, newCity, newArea } = this.getCurrentValue(province, city, area, preLang, lang);\r\n this.setState({\r\n province:newProvince,\r\n });\r\n return this.handleProvinceChange(newProvince, newCity, newArea);\r\n }\r\n if(city !== oldCity) {\r\n const { newCity, newArea } = this.getCurrentValue(province, city, area, preLang, lang);\r\n this.setState({\r\n secondCity: newCity,\r\n });\r\n return this.handleCityChange(newCity, newArea);\r\n }\r\n if(area !== oldArea) {\r\n const { newArea } = this.getCurrentValue(province, city, area, preLang, lang);\r\n this.setState({\r\n secondArea: newArea\r\n });\r\n this.onSecondAreaChange(newArea);\r\n }\r\n }\r\n // 切换语种后,要自动翻译value\r\n getCurrentValue (province, city, area, preLang, lang) {\r\n const result = {\r\n newProvince:province,\r\n newCity:city,\r\n newArea:area\r\n }\r\n if (!preLang || preLang === lang) return result;\r\n let newValue = this.translateValue(province, city, area, preLang);\r\n if (newValue) {\r\n result.newProvince = newValue.province;\r\n result.newCity = newValue.city;\r\n result.newArea = newValue.area\r\n }\r\n return result\r\n }\r\n\r\n /**\r\n * 函数功能:重新构建 省市和区域的初始值;\r\n * @param originalArr 原始数据;\r\n * @param disabledCityArr 对应禁用的数据;\r\n * @param lang 获取语言类型;\r\n * */\r\n buildInitDataArr = (originalArr, disabledCityArr, lang) => {\r\n let newDataArr = JSON.parse(JSON.stringify(originalArr));\r\n disabledCityArr = JSON.parse(JSON.stringify(disabledCityArr));\r\n newDataArr.forEach(function (newDataArr, index, obj) {\r\n newDataArr.disabled = false;\r\n let provinceName = newDataArr.name;\r\n if (disabledCityArr.length > 0) {\r\n for (let i = 0; i < disabledCityArr.length; i++) {\r\n if (lang === \"en_US\") {\r\n if (provinceName.toLowerCase() === disabledCityArr[i].toLowerCase()) {\r\n newDataArr.disabled = true;\r\n }\r\n } else {\r\n if (provinceName === disabledCityArr[i]) {\r\n newDataArr.disabled = true;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n return newDataArr;\r\n };\r\n\r\n /**\r\n * 构建区域所在的基本数据;\r\n * @param areaArr 当前区域原始数据;\r\n * @param cityName 当前区域所在的城市;\r\n * @param disabledAreaObj 设置的不可选中的地域数据;\r\n * @param lang 获取语言类型;\r\n * */\r\n buildAreaInitData = (areaArr, cityName, disabledAreaObj, lang) => {\r\n let newArr = [];\r\n for (let i = 0; i < areaArr.length; i++) {\r\n let jsonItem = {};\r\n jsonItem.name = areaArr[i];\r\n jsonItem.disabled = false;\r\n if (disabledAreaObj != undefined && disabledAreaObj[cityName] != undefined) {\r\n let disabledAreaArr = disabledAreaObj[cityName];\r\n for (let j = 0; j < disabledAreaArr.length; j++) {\r\n if (lang === \"en_US\") {\r\n if (areaArr[i].toLowerCase() === disabledAreaArr[j].toLowerCase()) {\r\n jsonItem.disabled = true;\r\n }\r\n } else {\r\n if (areaArr[i] === disabledAreaArr[j]) {\r\n jsonItem.disabled = true;\r\n }\r\n }\r\n }\r\n }\r\n newArr.push(jsonItem);\r\n }\r\n return newArr;\r\n };\r\n\r\n getIndex = (type, name, provinceIndex, targetData) => {\r\n let provinceData = targetData || this.state.provinceData;\r\n let provinceI = provinceIndex || this.state.provinceIndex;\r\n provinceI = provinceI < 0 ? 0 : provinceI;\r\n switch (type) {\r\n case 'province':\r\n return findIndex(provinceData, function (province) {\r\n return province.name === name;\r\n });\r\n case 'city':\r\n return findIndex(provinceData[provinceI].city, function (city) {\r\n return city.name === name;\r\n });\r\n }\r\n };\r\n handleProvinceChange = (value, cityValue, areaValue) => {\r\n value = (value) ? value : '';\r\n let city = '',\r\n area = '',\r\n index = 0,\r\n citesInitArr = [],\r\n areasInitData = [];\r\n if(value !== ''){\r\n let { provinceData,provinceIndex } = this.state;\r\n let { disabledCityArr, disabledAreaObj, lang } = this.props;\r\n index = this.getIndex('province', value);\r\n if(index > -1){\r\n citesInitArr = this.buildInitDataArr(provinceData[index].city, disabledCityArr, lang);\r\n areasInitData = this.buildAreaInitData(citesInitArr[0].area, citesInitArr[0].name, disabledAreaObj, lang);\r\n city = cityValue ? cityValue : citesInitArr[0].name;\r\n area = areaValue ? areaValue : areasInitData[0].name;\r\n }\r\n }\r\n this.setState({\r\n province: value,\r\n cities: citesInitArr,\r\n secondCity: city,\r\n provinceIndex: index,\r\n areas: areasInitData,\r\n secondArea: area,\r\n });\r\n this.onChange(value, city, area);\r\n };\r\n handleCityChange = (value, areaValue) => {\r\n value = (value) ? value : '';\r\n let index = '',\r\n area = '',\r\n areasInitData = [];\r\n let { province,cities,cityIndex } = this.state;\r\n let { disabledAreaObj, lang } = this.props;\r\n if(value !== ''){\r\n index = this.getIndex('city', value);\r\n if(index > -1){\r\n areasInitData = this.buildAreaInitData(cities[index].area, cities[index].name, disabledAreaObj, lang);\r\n area = areaValue ? areaValue : areasInitData[0].name;\r\n }\r\n }\r\n this.setState({\r\n secondCity: value,\r\n areas: areasInitData,\r\n secondArea: area,\r\n cityIndex: value\r\n });\r\n this.onChange(province, value, area);\r\n };\r\n onSecondAreaChange = (value) => {\r\n value = (value) ? value : '';\r\n let { province,secondCity } = this.state;\r\n this.setState({\r\n secondArea: value,\r\n });\r\n this.onChange(province, secondCity, value);\r\n };\r\n onChange = (province, city, area) => {\r\n this.props.onChange({\r\n province: province,\r\n city: city,\r\n area: area\r\n })\r\n };\r\n translateValue = (province, secondCity, secondArea, preLang) => {\r\n let { provinceData } = this.state;\r\n let lastData;\r\n // if (preLang === 'zh_TW') {\r\n // lastData = tw.provinceData;\r\n // } else if (preLang === 'en_US') {\r\n // lastData = en.provinceData;\r\n // } else if (preLang === 'zh_CN') {\r\n lastData = zh.provinceData;\r\n // }\r\n let provinceIndex = this.getIndex('province', province, undefined, lastData);\r\n let cityIndex = this.getIndex('city', secondCity, provinceIndex, lastData);\r\n if (provinceIndex > -1 && cityIndex > -1) {\r\n let areaIndex = findIndex(lastData[provinceIndex].city[cityIndex].area, function (item) {\r\n return item === secondArea;\r\n });\r\n if (areaIndex < 0) return\r\n const newProvince = provinceData[provinceIndex];\r\n const newCity = newProvince.city[cityIndex];\r\n return {\r\n province: newProvince.name,\r\n city: newCity.name,\r\n area: newCity.area[areaIndex]\r\n }\r\n }\r\n }\r\n render() {\r\n let { provinceData, cities, areas } = this.state;\r\n const { notFoundContent } = this.props;\r\n\r\n const provinceOptions = provinceData.map((province, index) => {\r\n if (province.disabled) {\r\n return (<Option key={province.name} disabled>{province.name}</Option>);\r\n } else {\r\n return (<Option key={province.name} >{province.name}</Option>)\r\n }\r\n });\r\n const cityOptions = cities.map((city, index) => {\r\n if (city.disabled) {\r\n return (<Option key={city.name} disabled>{city.name}</Option>);\r\n } else {\r\n return (<Option key={city.name} >{city.name}</Option>)\r\n }\r\n });\r\n\r\n const areaOptions = areas.map((area, index) => {\r\n if (area.disabled) {\r\n return (<Option key={area.name} disabled>{area.name}</Option>);\r\n } else {\r\n return (<Option key={area.name} >{area.name}</Option>)\r\n }\r\n });\r\n return (\r\n <div className={classNames(\"city-select\", this.props.className)}>\r\n <Select\r\n value={this.state.province}\r\n className=\"province\"\r\n disabled={this.props.disabled}\r\n notFoundContent={notFoundContent}\r\n allowClear = {this.state.province && this.props.allowClear}\r\n onChange={(value) => this.handleProvinceChange(value)}>\r\n {provinceOptions}\r\n </Select>\r\n <Select\r\n value={this.state.secondCity}\r\n disabled={this.props.disabled}\r\n notFoundContent={notFoundContent}\r\n allowClear = {this.state.secondCity && this.props.allowClear}\r\n className=\"city\"\r\n onChange={(value) => this.handleCityChange(value)}>\r\n {cityOptions}\r\n </Select>\r\n <Select\r\n value={this.state.secondArea}\r\n className=\"area\"\r\n allowClear = {this.state.secondArea && this.props.allowClear}\r\n disabled={this.props.disabled}\r\n notFoundContent={notFoundContent}\r\n onChange={(value) => this.onSecondAreaChange(value)}>\r\n {areaOptions}\r\n </Select>\r\n </div>\r\n );\r\n }\r\n}\r\nCitySelect.propTypes = propTypes;\r\nCitySelect.defaultProps = defaultProps;\r\nexport default CitySelect;"]}
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;"]}
@@ -1,10 +1,10 @@
1
-
2
-
3
- .city-select{
4
- .province , .city{
5
- margin-right: 10px;
6
- }
7
- .ant-select{
8
- width: 92px;
9
- }
1
+
2
+
3
+ .city-select{
4
+ .province , .city{
5
+ margin-right: 10px;
6
+ }
7
+ .ant-select{
8
+ width: 92px;
9
+ }
10
10
  }