tplus-components-touch 3.28.2 → 3.28.6

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 (236) hide show
  1. package/dist/components/acCitySelect/CitySelect.js +541 -0
  2. package/dist/components/acCitySelect/CitySelect.js.map +1 -0
  3. package/dist/components/acCitySelect/CitySelect.less +10 -0
  4. package/dist/components/acCitySelect/citys.js +1270 -0
  5. package/dist/components/acCitySelect/citys.js.map +1 -0
  6. package/dist/components/acCitySelect/index.js +18 -0
  7. package/dist/components/acCitySelect/index.js.map +1 -0
  8. package/dist/components/acCitySelect/provinceData.js +40 -0
  9. package/dist/components/acCitySelect/provinceData.js.map +1 -0
  10. package/dist/components/addLog/AddLogProcessor.js +49 -0
  11. package/dist/components/addLog/AddLogProcessor.js.map +1 -0
  12. package/dist/components/addLog/OperationLogApi.js +125 -0
  13. package/dist/components/addLog/OperationLogApi.js.map +1 -0
  14. package/dist/components/autoComplete/index.js +245 -0
  15. package/dist/components/autoComplete/index.js.map +1 -0
  16. package/dist/components/autoComplete/index.less +89 -0
  17. package/dist/components/autoComplete/option.js +75 -0
  18. package/dist/components/autoComplete/option.js.map +1 -0
  19. package/dist/components/autoCompleteWithKeyboard/index.js +231 -0
  20. package/dist/components/autoCompleteWithKeyboard/index.js.map +1 -0
  21. package/dist/components/autoCompleteWithKeyboard/index.less +8 -0
  22. package/dist/components/billSearch/api.js +465 -0
  23. package/dist/components/billSearch/api.js.map +1 -0
  24. package/dist/components/billSearch/index.js +2201 -0
  25. package/dist/components/billSearch/index.js.map +1 -0
  26. package/dist/components/billSearch/index.less +376 -0
  27. package/dist/components/cloudPrint/BTPrintFormatUtil.js +568 -0
  28. package/dist/components/cloudPrint/BTPrintFormatUtil.js.map +1 -0
  29. package/dist/components/cloudPrint/api.js +391 -0
  30. package/dist/components/cloudPrint/api.js.map +1 -0
  31. package/dist/components/cloudPrint/index.js +727 -0
  32. package/dist/components/cloudPrint/index.js.map +1 -0
  33. package/dist/components/cloudPrint/printDispatch.js +324 -0
  34. package/dist/components/cloudPrint/printDispatch.js.map +1 -0
  35. package/dist/components/commonForm/addressPicker/index.js +232 -0
  36. package/dist/components/commonForm/addressPicker/index.js.map +1 -0
  37. package/dist/components/commonForm/addressPicker/style.less +11 -0
  38. package/dist/components/commonForm/autoComplete/index.js +241 -0
  39. package/dist/components/commonForm/autoComplete/index.js.map +1 -0
  40. package/dist/components/commonForm/autoComplete/style.less +3 -0
  41. package/dist/components/commonForm/datePicker/index.js +89 -0
  42. package/dist/components/commonForm/datePicker/index.js.map +1 -0
  43. package/dist/components/commonForm/datePicker/style.less +5 -0
  44. package/dist/components/commonForm/formControl/index.js +143 -0
  45. package/dist/components/commonForm/formControl/index.js.map +1 -0
  46. package/dist/components/commonForm/formControl/style.less +0 -0
  47. package/dist/components/commonForm/index.js +225 -0
  48. package/dist/components/commonForm/index.js.map +1 -0
  49. package/dist/components/commonForm/inputNumber/index.js +272 -0
  50. package/dist/components/commonForm/inputNumber/index.js.map +1 -0
  51. package/dist/components/commonForm/inputNumber/style.less +11 -0
  52. package/dist/components/commonForm/radio/index.js +132 -0
  53. package/dist/components/commonForm/radio/index.js.map +1 -0
  54. package/dist/components/commonForm/radio/style.less +0 -0
  55. package/dist/components/commonForm/style.less +2 -0
  56. package/dist/components/deliverySearch/api.js +355 -0
  57. package/dist/components/deliverySearch/api.js.map +1 -0
  58. package/dist/components/deliverySearch/index.js +1218 -0
  59. package/dist/components/deliverySearch/index.js.map +1 -0
  60. package/dist/components/deliverySearch/index.less +554 -0
  61. package/dist/components/form/index.js +310 -0
  62. package/dist/components/form/index.js.map +1 -0
  63. package/dist/components/hardwareAPI/index.js +181 -0
  64. package/dist/components/hardwareAPI/index.js.map +1 -0
  65. package/dist/components/hotKey/config.js +306 -0
  66. package/dist/components/hotKey/config.js.map +1 -0
  67. package/dist/components/hotKey/hotKeyModal.js +479 -0
  68. package/dist/components/hotKey/hotKeyModal.js.map +1 -0
  69. package/dist/components/hotKey/index.js +785 -0
  70. package/dist/components/hotKey/index.js.map +1 -0
  71. package/dist/components/hotKey/localConfig.js +1021 -0
  72. package/dist/components/hotKey/localConfig.js.map +1 -0
  73. package/dist/components/hotKey/style.less +96 -0
  74. package/dist/components/hotKey/utils.js +135 -0
  75. package/dist/components/hotKey/utils.js.map +1 -0
  76. package/dist/components/input/index.js +251 -0
  77. package/dist/components/input/index.js.map +1 -0
  78. package/dist/components/input/scanInput.js +98 -0
  79. package/dist/components/input/scanInput.js.map +1 -0
  80. package/dist/components/input/scanInput.less +28 -0
  81. package/dist/components/input/style.less +99 -0
  82. package/dist/components/input/tplusInput/index.js +81 -0
  83. package/dist/components/input/tplusInput/index.js.map +1 -0
  84. package/dist/components/input/tplusInput/inputContent.js +128 -0
  85. package/dist/components/input/tplusInput/inputContent.js.map +1 -0
  86. package/dist/components/input/tplusInput/inputs.js +151 -0
  87. package/dist/components/input/tplusInput/inputs.js.map +1 -0
  88. package/dist/components/input/tplusInput/style.less +132 -0
  89. package/dist/components/input/utils/index.js +26 -0
  90. package/dist/components/input/utils/index.js.map +1 -0
  91. package/dist/components/inventorySearch/api.js +214 -0
  92. package/dist/components/inventorySearch/api.js.map +1 -0
  93. package/dist/components/inventorySearch/index.js +303 -0
  94. package/dist/components/inventorySearch/index.js.map +1 -0
  95. package/dist/components/inventorySearch/index.less +120 -0
  96. package/dist/components/inventorySearch/store.js +363 -0
  97. package/dist/components/inventorySearch/store.js.map +1 -0
  98. package/dist/components/inventorySearch/tab.js +274 -0
  99. package/dist/components/inventorySearch/tab.js.map +1 -0
  100. package/dist/components/keyboard/index.js +255 -0
  101. package/dist/components/keyboard/index.js.map +1 -0
  102. package/dist/components/keyboard/index.less +470 -0
  103. package/dist/components/keyboard/letterKeyboard.js +210 -0
  104. package/dist/components/keyboard/letterKeyboard.js.map +1 -0
  105. package/dist/components/keyboard/numKeyboard.js +459 -0
  106. package/dist/components/keyboard/numKeyboard.js.map +1 -0
  107. package/dist/components/keyboard/numKeyboardScan.js +195 -0
  108. package/dist/components/keyboard/numKeyboardScan.js.map +1 -0
  109. package/dist/components/keyboard/numberButton_input.js +305 -0
  110. package/dist/components/keyboard/numberButton_input.js.map +1 -0
  111. package/dist/components/keyboard/numkeyboardPassword.js +460 -0
  112. package/dist/components/keyboard/numkeyboardPassword.js.map +1 -0
  113. package/dist/components/keyboard/onlyKeyboard.js +90 -0
  114. package/dist/components/keyboard/onlyKeyboard.js.map +1 -0
  115. package/dist/components/keyboard/onlyLetterButton.js +187 -0
  116. package/dist/components/keyboard/onlyLetterButton.js.map +1 -0
  117. package/dist/components/keyboard/onlyLetterButton2.js +235 -0
  118. package/dist/components/keyboard/onlyLetterButton2.js.map +1 -0
  119. package/dist/components/keyboard/onlyLetterButton2.less +157 -0
  120. package/dist/components/keyboard/onlyNumberButton.js +128 -0
  121. package/dist/components/keyboard/onlyNumberButton.js.map +1 -0
  122. package/dist/components/keyboard/onlyNumberButton2.js +115 -0
  123. package/dist/components/keyboard/onlyNumberButton2.js.map +1 -0
  124. package/dist/components/keyboard/textKeyboard.js +50 -0
  125. package/dist/components/keyboard/textKeyboard.js.map +1 -0
  126. package/dist/components/layout/hamburger.js +29 -0
  127. package/dist/components/layout/hamburger.js.map +1 -0
  128. package/dist/components/layout/index.js +31 -0
  129. package/dist/components/layout/index.js.map +1 -0
  130. package/dist/components/layout/layout.js +182 -0
  131. package/dist/components/layout/layout.js.map +1 -0
  132. package/dist/components/layout/sider.js +165 -0
  133. package/dist/components/layout/sider.js.map +1 -0
  134. package/dist/components/layout/style.less +82 -0
  135. package/dist/components/loading/index.js +198 -0
  136. package/dist/components/loading/index.js.map +1 -0
  137. package/dist/components/loading/loadingContent.js +185 -0
  138. package/dist/components/loading/loadingContent.js.map +1 -0
  139. package/dist/components/loading/style.less +72 -0
  140. package/dist/components/loading/utils.js +29 -0
  141. package/dist/components/loading/utils.js.map +1 -0
  142. package/dist/components/message/index.js +311 -0
  143. package/dist/components/message/index.js.map +1 -0
  144. package/dist/components/message/index.less +101 -0
  145. package/dist/components/modal/index.js +93 -0
  146. package/dist/components/modal/index.js.map +1 -0
  147. package/dist/components/modal/index.less +19 -0
  148. package/dist/components/modalVertical/index.js +325 -0
  149. package/dist/components/modalVertical/index.js.map +1 -0
  150. package/dist/components/modalVertical/style.less +60 -0
  151. package/dist/components/modalWraper/index.js +470 -0
  152. package/dist/components/modalWraper/index.js.map +1 -0
  153. package/dist/components/modalWraper/style.less +257 -0
  154. package/dist/components/modalWraper/utils.js +48 -0
  155. package/dist/components/modalWraper/utils.js.map +1 -0
  156. package/dist/components/notification/index.js +119 -0
  157. package/dist/components/notification/index.js.map +1 -0
  158. package/dist/components/notification/index.less +52 -0
  159. package/dist/components/overflowTip/index.js +269 -0
  160. package/dist/components/overflowTip/index.js.map +1 -0
  161. package/dist/components/overflowTip/style.less +66 -0
  162. package/dist/components/page/index.js +49 -0
  163. package/dist/components/page/index.js.map +1 -0
  164. package/dist/components/page/index.less +22 -0
  165. package/dist/components/product/detail.js +148 -0
  166. package/dist/components/product/detail.js.map +1 -0
  167. package/dist/components/product/getCard.js +145 -0
  168. package/dist/components/product/getCard.js.map +1 -0
  169. package/dist/components/product/index.less +128 -0
  170. package/dist/components/progressState/EmptyAndErrorView.js +143 -0
  171. package/dist/components/progressState/EmptyAndErrorView.js.map +1 -0
  172. package/dist/components/progressState/ProgressState.js +157 -0
  173. package/dist/components/progressState/ProgressState.js.map +1 -0
  174. package/dist/components/progressState/index.js +14 -0
  175. package/dist/components/progressState/index.js.map +1 -0
  176. package/dist/components/progressState/style.less +65 -0
  177. package/dist/components/scan/index.js +219 -0
  178. package/dist/components/scan/index.js.map +1 -0
  179. package/dist/components/scan/index.less +34 -0
  180. package/dist/components/select/index.js +28 -0
  181. package/dist/components/select/index.js.map +1 -0
  182. package/dist/components/select/index.less +12 -0
  183. package/dist/components/settlement/asyncModal.js +204 -0
  184. package/dist/components/settlement/asyncModal.js.map +1 -0
  185. package/dist/components/settlement/index.js +16 -0
  186. package/dist/components/settlement/index.js.map +1 -0
  187. package/dist/components/settlement/prototypeTable/index.js +349 -0
  188. package/dist/components/settlement/prototypeTable/index.js.map +1 -0
  189. package/dist/components/settlement/prototypeTable/style.less +59 -0
  190. package/dist/components/settlement/prototypeTable/utils.js +14 -0
  191. package/dist/components/settlement/prototypeTable/utils.js.map +1 -0
  192. package/dist/components/settlement/settlement.js +5479 -0
  193. package/dist/components/settlement/settlement.js.map +1 -0
  194. package/dist/components/settlement/settlement.less +1595 -0
  195. package/dist/components/settlement/settlementStore.js +2117 -0
  196. package/dist/components/settlement/settlementStore.js.map +1 -0
  197. package/dist/components/settlement/utils.js +249 -0
  198. package/dist/components/settlement/utils.js.map +1 -0
  199. package/dist/components/socket/index.js +221 -0
  200. package/dist/components/socket/index.js.map +1 -0
  201. package/dist/components/spin/index.js +95 -0
  202. package/dist/components/spin/index.js.map +1 -0
  203. package/dist/components/spin/spin-style.less +436 -0
  204. package/dist/components/test/index.js +330 -0
  205. package/dist/components/test/index.js.map +1 -0
  206. package/dist/components/ticon/iconfont/demo.css +539 -0
  207. package/dist/components/ticon/iconfont/demo_index.html +5202 -0
  208. package/dist/components/ticon/iconfont/iconfont.css +887 -0
  209. package/dist/components/ticon/iconfont/iconfont.eot +0 -0
  210. package/dist/components/ticon/iconfont/iconfont.js +35 -0
  211. package/dist/components/ticon/iconfont/iconfont.js.map +1 -0
  212. package/dist/components/ticon/iconfont/iconfont.json +1535 -0
  213. package/dist/components/ticon/iconfont/iconfont.svg +593 -0
  214. package/dist/components/ticon/iconfont/iconfont.ttf +0 -0
  215. package/dist/components/ticon/iconfont/iconfont.woff +0 -0
  216. package/dist/components/ticon/iconfont/iconfont.woff2 +0 -0
  217. package/dist/components/ticon/index.js +60 -0
  218. package/dist/components/ticon/index.js.map +1 -0
  219. package/dist/components/touchScroll/index.js +182 -0
  220. package/dist/components/touchScroll/index.js.map +1 -0
  221. package/dist/components/touchTable/AuthProcess.js +42 -0
  222. package/dist/components/touchTable/AuthProcess.js.map +1 -0
  223. package/dist/components/touchTable/generateWater.js +59 -0
  224. package/dist/components/touchTable/generateWater.js.map +1 -0
  225. package/dist/components/touchTable/index.js +1111 -0
  226. package/dist/components/touchTable/index.js.map +1 -0
  227. package/dist/components/touchTable/index.less +377 -0
  228. package/dist/components/touchTable/utils.js +14 -0
  229. package/dist/components/touchTable/utils.js.map +1 -0
  230. package/dist/demo/PopOverDemo.js +126 -0
  231. package/dist/demo/PopOverDemo.js.map +1 -0
  232. package/dist/index.js +266 -0
  233. package/dist/index.js.map +1 -0
  234. package/dist/util/tools.js +200 -0
  235. package/dist/util/tools.js.map +1 -0
  236. package/package.json +1 -1
@@ -0,0 +1,269 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = undefined;
7
+
8
+ var _keys = require('babel-runtime/core-js/object/keys');
9
+
10
+ var _keys2 = _interopRequireDefault(_keys);
11
+
12
+ var _extends2 = require('babel-runtime/helpers/extends');
13
+
14
+ var _extends3 = _interopRequireDefault(_extends2);
15
+
16
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
17
+
18
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
19
+
20
+ var _createClass2 = require('babel-runtime/helpers/createClass');
21
+
22
+ var _createClass3 = _interopRequireDefault(_createClass2);
23
+
24
+ var _class, _temp, _initialiseProps; /**
25
+ * Created by hzy on 2019/8/2.
26
+ *
27
+ * options
28
+ * @target 实例化时传入的需要委托弹出tip外层容器class名 //new OverflowTip({target: '.member-content-tab'});
29
+ * @maxWidth tip最大宽度, 默认220
30
+ * @format 格式化展示内容方法, 参数为传入的原本字符串内容, 需要返回格式化后的字符串 // format(text) { return newText }
31
+ * @style 弹出tip样式
32
+ * 需要在弹出的提示的节点上绑定内容 data-overflow='tip' //<td data-overflow='tip'>{name}</td>
33
+ *
34
+ * @update 更新实例方法,参数与实例化时的options内容一致,不传项则用实例化时的内容或默认值 // update(options)
35
+ * @destroy 组件销毁时候需要调用该方法清理
36
+ * @hideTip 隐藏tip展示内容
37
+ * @tipShow 实例属性,判断tip是否为展示显示状态
38
+ * @containerDom 实例属性,委托时间外层容器dom节点
39
+ */
40
+
41
+
42
+ var _react = require('react');
43
+
44
+ var _react2 = _interopRequireDefault(_react);
45
+
46
+ var _reactDom = require('react-dom');
47
+
48
+ var _reactDom2 = _interopRequireDefault(_reactDom);
49
+
50
+ require('./style.less');
51
+
52
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
53
+
54
+ var currentDomId = void 0;
55
+ var OverflowTip = (_temp = _class = function () {
56
+ function OverflowTip(options) {
57
+ (0, _classCallCheck3.default)(this, OverflowTip);
58
+
59
+ _initialiseProps.call(this);
60
+
61
+ var target = options.target,
62
+ _options$maxWidth = options.maxWidth,
63
+ maxWidth = _options$maxWidth === undefined ? 220 : _options$maxWidth,
64
+ format = options.format,
65
+ _options$style = options.style,
66
+ style = _options$style === undefined ? {} : _options$style;
67
+
68
+
69
+ this.target = target;
70
+ this.maxWidth = maxWidth;
71
+ this.format = format;
72
+ this.style = style;
73
+ this.el = document.createElement('div');
74
+ this.containerDom = null;
75
+ this.tipShow = false;
76
+
77
+ document.body.appendChild(this.el);
78
+ document.body.addEventListener('click', this.bodyClickEvent, false);
79
+ document.body.addEventListener('touchmove', this.bodyTouchmoveEvent, false);
80
+
81
+ this.init();
82
+ }
83
+
84
+ (0, _createClass3.default)(OverflowTip, [{
85
+ key: 'init',
86
+ value: function init() {
87
+ var _this = this;
88
+
89
+ this.containerDom = document.querySelector(this.target);
90
+ if (this.containerDom) {
91
+ this.containerDom.addEventListener('click', function (e) {
92
+ var ev = e || window.event;
93
+ var target = ev.target || ev.srcElement;
94
+ if (target.dataset.overflow) {
95
+ var clientWidth = target.clientWidth;
96
+ var scrollWidth = target.scrollWidth;
97
+
98
+ if (clientWidth < scrollWidth) {
99
+ var pageX = ev.pageX,
100
+ pageY = ev.pageY;
101
+ var textContent = target.textContent;
102
+
103
+ var renderText = _this.format ? _this.format(textContent) : textContent;
104
+
105
+ var stampId = String(+new Date());
106
+ if (target.dataset.tipid && target.dataset.tipid === currentDomId) {
107
+ return _this.render(null);
108
+ } else {
109
+ target.dataset.tipid = stampId;
110
+ _this.tipShow && _this.render(null, undefined, true);
111
+ }
112
+
113
+ var tipMaxWidth = _this.maxWidth;
114
+ var bodyWidth = document.body.clientWidth;
115
+ var bodyHeight = document.body.clientHeight;
116
+ var offsetSize = 20;
117
+
118
+ var params = { tipMaxWidth: tipMaxWidth, renderText: renderText, bodyWidth: bodyWidth, bodyHeight: bodyHeight };
119
+
120
+ var _getVirtualTipDomSize = _this.getVirtualTipDomSize(params),
121
+ virtualTipDomWidth = _getVirtualTipDomSize.virtualTipDomWidth,
122
+ virtualTipDomHeight = _getVirtualTipDomSize.virtualTipDomHeight;
123
+
124
+ var pageXDirection = void 0;
125
+ var pageYDirection = void 0;
126
+
127
+ if (bodyWidth - pageX - virtualTipDomWidth < 10) {
128
+ //判断X轴是否超出可视区
129
+ pageXDirection = true;
130
+ }
131
+
132
+ if (bodyHeight - pageY - virtualTipDomHeight < offsetSize + 10) {
133
+ //判断Y轴是否超出可视区
134
+ pageYDirection = true;
135
+ }
136
+
137
+ var arrowSize = 10;
138
+ var arrowOffsetSize = 10;
139
+ var arrowAndOffsetSize = arrowSize + arrowOffsetSize;
140
+ var marginLeftStyle = pageXDirection ? -(virtualTipDomWidth - arrowAndOffsetSize) : -arrowOffsetSize;
141
+ var marginTopStyle = pageYDirection ? -virtualTipDomHeight : 0;
142
+
143
+ var offsetY = pageYDirection ? pageY - offsetSize : pageY + offsetSize;
144
+ var tipNode = _react2.default.createElement(
145
+ 'div',
146
+ {
147
+ className: 'overflow-tip-wrapper overflow-tip-show ' + (pageYDirection ? 'tip-arrow-bottom' : 'tip-arrow-top'),
148
+ style: (0, _extends3.default)({ left: pageX, top: offsetY }, _this.style)
149
+ },
150
+ _react2.default.createElement(
151
+ 'div',
152
+ {
153
+ className: '_overflow-tip',
154
+ style: { width: virtualTipDomWidth, marginLeft: marginLeftStyle, marginTop: marginTopStyle }
155
+ },
156
+ renderText
157
+ )
158
+ );
159
+
160
+ _this.render(tipNode, stampId);
161
+ } else {
162
+ _this.render(null);
163
+ }
164
+ }
165
+ }, false);
166
+ }
167
+ }
168
+ }, {
169
+ key: 'update',
170
+ value: function update() {
171
+ var _this2 = this;
172
+
173
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
174
+
175
+ (0, _keys2.default)(options).forEach(function (v) {
176
+ return _this2[v] = options[v];
177
+ });
178
+
179
+ this.init();
180
+ }
181
+ }, {
182
+ key: 'hideTip',
183
+ value: function hideTip() {
184
+ this.render(null);
185
+ }
186
+ }, {
187
+ key: 'destroy',
188
+ value: function destroy() {
189
+ _reactDom2.default.unmountComponentAtNode(this.el);
190
+ document.body.removeChild(this.el);
191
+ document.body.removeEventListener('click', this.bodyClickEvent, false);
192
+ document.body.removeEventListener('touchmove', this.bodyTouchmoveEvent, false);
193
+ }
194
+ }]);
195
+ return OverflowTip;
196
+ }(), _initialiseProps = function _initialiseProps() {
197
+ var _this3 = this;
198
+
199
+ this.bodyTouchmoveEvent = function (e) {
200
+ if (_this3.tipShow) _this3.render(null);
201
+ };
202
+
203
+ this.bodyClickEvent = function (e) {
204
+ var ev = e || window.event;
205
+ var target = ev.target || ev.srcElement;
206
+ if (target.className === '_overflow-tip') return;
207
+ if (!target.dataset.overflow) {
208
+ _this3.render(null);
209
+ }
210
+ };
211
+
212
+ this.getVirtualTipDomSize = function () {
213
+ var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
214
+ var tipMaxWidth = params.tipMaxWidth,
215
+ renderText = params.renderText,
216
+ bodyWidth = params.bodyWidth,
217
+ bodyHeight = params.bodyHeight;
218
+
219
+
220
+ var virtualTipDom = document.createElement('div');
221
+ virtualTipDom.style.position = 'fixed';
222
+ virtualTipDom.style.left = '-99999px';
223
+ virtualTipDom.style.top = '-99999px';
224
+ virtualTipDom.style.opacity = 0;
225
+
226
+ var virtualTipNode = _react2.default.createElement(
227
+ 'div',
228
+ {
229
+ className: '_overflow-tip',
230
+ style: { maxWidth: tipMaxWidth }
231
+ },
232
+ renderText
233
+ );
234
+
235
+ document.body.appendChild(virtualTipDom);
236
+
237
+ _reactDom2.default.render(virtualTipNode, virtualTipDom);
238
+
239
+ var virtualTipDomHeight = virtualTipDom.firstElementChild.clientHeight;
240
+ var virtualTipDomWidth = virtualTipDom.firstElementChild.clientWidth;
241
+
242
+ document.body.removeChild(virtualTipDom);
243
+
244
+ return { virtualTipDomHeight: virtualTipDomHeight, virtualTipDomWidth: virtualTipDomWidth };
245
+ };
246
+
247
+ this.render = function (children, stampId, destroyBefore) {
248
+ if (_this3.children && !destroyBefore) {
249
+ var className = _this3.children.props.className;
250
+
251
+ var newElement = _react2.default.cloneElement(_this3.children, { className: className + ' overflow-tip-hide' });
252
+ setTimeout(function () {
253
+ _reactDom2.default.render(null, _this3.el);
254
+ }, 120);
255
+
256
+ _this3.children = null;
257
+ currentDomId = undefined;
258
+ _this3.tipShow = false;
259
+ return _reactDom2.default.render(newElement, _this3.el);
260
+ }
261
+
262
+ _reactDom2.default.render(children, _this3.el);
263
+ currentDomId = stampId;
264
+ _this3.children = children;
265
+ _this3.tipShow = !!children;
266
+ };
267
+ }, _temp);
268
+ exports.default = OverflowTip;
269
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tplus-components-touch/components/overflowTip/index.js"],"names":["currentDomId","OverflowTip","options","target","maxWidth","format","style","el","document","createElement","containerDom","tipShow","body","appendChild","addEventListener","bodyClickEvent","bodyTouchmoveEvent","init","querySelector","e","ev","window","event","srcElement","dataset","overflow","clientWidth","scrollWidth","pageX","pageY","textContent","renderText","stampId","String","Date","tipid","render","undefined","tipMaxWidth","bodyWidth","bodyHeight","clientHeight","offsetSize","params","getVirtualTipDomSize","virtualTipDomWidth","virtualTipDomHeight","pageXDirection","pageYDirection","arrowSize","arrowOffsetSize","arrowAndOffsetSize","marginLeftStyle","marginTopStyle","offsetY","tipNode","left","top","width","marginLeft","marginTop","forEach","v","ReactDOM","unmountComponentAtNode","removeChild","removeEventListener","className","virtualTipDom","position","opacity","virtualTipNode","firstElementChild","children","destroyBefore","props","newElement","React","cloneElement","setTimeout"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Created by hzy on 2019/8/2.\n *\n * options\n * @target 实例化时传入的需要委托弹出tip外层容器class名 //new OverflowTip({target: '.member-content-tab'});\n * @maxWidth tip最大宽度, 默认220\n * @format 格式化展示内容方法, 参数为传入的原本字符串内容, 需要返回格式化后的字符串 // format(text) { return newText }\n * @style 弹出tip样式\n * 需要在弹出的提示的节点上绑定内容 data-overflow='tip' //<td data-overflow='tip'>{name}</td>\n *\n * @update 更新实例方法,参数与实例化时的options内容一致,不传项则用实例化时的内容或默认值 // update(options)\n * @destroy 组件销毁时候需要调用该方法清理\n * @hideTip 隐藏tip展示内容\n * @tipShow 实例属性,判断tip是否为展示显示状态\n * @containerDom 实例属性,委托时间外层容器dom节点\n */\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport './style.less';\n\nlet currentDomId;\nexport default class OverflowTip {\n\n constructor(options) {\n const {target, maxWidth = 220, format, style = {}} = options;\n\n this.target = target;\n this.maxWidth = maxWidth;\n this.format = format;\n this.style = style;\n this.el = document.createElement('div');\n this.containerDom = null;\n this.tipShow = false;\n\n document.body.appendChild(this.el);\n document.body.addEventListener('click', this.bodyClickEvent, false);\n document.body.addEventListener('touchmove', this.bodyTouchmoveEvent, false);\n\n this.init();\n }\n\n init() {\n this.containerDom = document.querySelector(this.target);\n if (this.containerDom) {\n this.containerDom.addEventListener('click', (e) => {\n const ev = e || window.event;\n const target = ev.target || ev.srcElement;\n if (target.dataset.overflow) {\n const clientWidth = target.clientWidth;\n const scrollWidth = target.scrollWidth;\n\n if (clientWidth < scrollWidth) {\n const {pageX, pageY} = ev;\n const {textContent} = target;\n const renderText = this.format ? this.format(textContent) : textContent;\n\n const stampId = String(+new Date());\n if (target.dataset.tipid && target.dataset.tipid === currentDomId) {\n return this.render(null);\n } else {\n target.dataset.tipid = stampId;\n this.tipShow && this.render(null, undefined, true);\n }\n\n const tipMaxWidth = this.maxWidth;\n const bodyWidth = document.body.clientWidth;\n const bodyHeight = document.body.clientHeight;\n const offsetSize = 20;\n\n const params = {tipMaxWidth, renderText, bodyWidth, bodyHeight};\n const {virtualTipDomWidth, virtualTipDomHeight} = this.getVirtualTipDomSize(params);\n\n let pageXDirection;\n let pageYDirection;\n\n if (bodyWidth - pageX - virtualTipDomWidth < 10) { //判断X轴是否超出可视区\n pageXDirection = true;\n }\n\n if (bodyHeight - pageY - virtualTipDomHeight < (offsetSize + 10)) { //判断Y轴是否超出可视区\n pageYDirection = true;\n }\n\n const arrowSize = 10;\n const arrowOffsetSize = 10;\n const arrowAndOffsetSize = arrowSize + arrowOffsetSize;\n const marginLeftStyle = pageXDirection ? -(virtualTipDomWidth - arrowAndOffsetSize) : -arrowOffsetSize;\n const marginTopStyle = pageYDirection ? -virtualTipDomHeight : 0;\n\n const offsetY = pageYDirection ? pageY - offsetSize : pageY + offsetSize;\n const tipNode = <div\n className={`overflow-tip-wrapper overflow-tip-show ${pageYDirection ? 'tip-arrow-bottom' : 'tip-arrow-top'}`}\n style={{left: pageX, top: offsetY, ...this.style}}\n >\n <div\n className='_overflow-tip'\n style={{width: virtualTipDomWidth, marginLeft: marginLeftStyle, marginTop: marginTopStyle}}\n >{renderText}</div>\n </div>\n\n this.render(tipNode, stampId);\n } else {\n this.render(null);\n }\n }\n }, false);\n }\n }\n\n bodyTouchmoveEvent = (e) => {\n if (this.tipShow) this.render(null);\n }\n\n bodyClickEvent = (e) => {\n const ev = e || window.event;\n const target = ev.target || ev.srcElement;\n if (target.className === '_overflow-tip') return;\n if(!target.dataset.overflow) {\n this.render(null);\n }\n }\n\n getVirtualTipDomSize = (params = {}) => {\n const {tipMaxWidth, renderText, bodyWidth, bodyHeight} = params;\n\n const virtualTipDom = document.createElement('div');\n virtualTipDom.style.position = 'fixed';\n virtualTipDom.style.left = '-99999px';\n virtualTipDom.style.top = '-99999px';\n virtualTipDom.style.opacity = 0;\n\n const virtualTipNode = <div\n className='_overflow-tip'\n style={{maxWidth: tipMaxWidth}}\n >{renderText}</div>\n\n document.body.appendChild(virtualTipDom);\n\n ReactDOM.render(\n virtualTipNode,\n virtualTipDom,\n );\n\n const virtualTipDomHeight = virtualTipDom.firstElementChild.clientHeight;\n const virtualTipDomWidth = virtualTipDom.firstElementChild.clientWidth;\n\n document.body.removeChild(virtualTipDom);\n\n return {virtualTipDomHeight, virtualTipDomWidth}\n }\n\n render = (children, stampId, destroyBefore) => {\n if (this.children && !destroyBefore) {\n const {props: {className}} = this.children;\n const newElement = React.cloneElement(\n this.children,\n {className: `${className} overflow-tip-hide`},\n );\n setTimeout(() => {\n ReactDOM.render(\n null,\n this.el,\n );\n }, 120);\n\n this.children = null;\n currentDomId = undefined;\n this.tipShow = false;\n return ReactDOM.render(\n newElement,\n this.el,\n );\n }\n\n ReactDOM.render(\n children,\n this.el,\n );\n currentDomId = stampId;\n this.children = children;\n this.tipShow = !!children;\n }\n\n update(options = {}) {\n Object.keys(options).forEach(v => this[v] = options[v]);\n\n this.init();\n }\n\n hideTip() {\n this.render(null);\n }\n\n destroy() {\n ReactDOM.unmountComponentAtNode(this.el);\n document.body.removeChild(this.el);\n document.body.removeEventListener('click', this.bodyClickEvent, false);\n document.body.removeEventListener('touchmove', this.bodyTouchmoveEvent, false);\n }\n}\n"]}
@@ -0,0 +1,66 @@
1
+ .overflow-tip-wrapper{
2
+ position: fixed;
3
+ z-index: 9999;
4
+ animation-duration: 0.1s;
5
+ animation-fill-mode: both;
6
+ animation-timing-function: ease-out;
7
+ animation-play-state: paused;
8
+ opacity: 0;
9
+ width: 0px;
10
+ &.overflow-tip-show{
11
+ animation-name: tipZoomIn;
12
+ animation-play-state: running;
13
+ }
14
+ &.overflow-tip-hide{
15
+ animation-name: tipZoomOut;
16
+ animation-play-state: running;
17
+ }
18
+ &.tip-arrow-top:before{
19
+ content: '';
20
+ display: block;
21
+ width: 0;
22
+ height: 0;
23
+ border-right: 5px solid transparent;
24
+ border-left: 5px solid transparent;
25
+ border-bottom: 5px solid rgba(0,0,0,.8);
26
+ }
27
+ &.tip-arrow-bottom:after{
28
+ content: '';
29
+ display: block;
30
+ width:0;
31
+ height:0;
32
+ border-right: 5px solid transparent;
33
+ border-left: 5px solid transparent;
34
+ border-top: 5px solid rgba(0,0,0,.8);
35
+ }
36
+ @keyframes tipZoomIn {
37
+ 0% {
38
+ opacity: .7;
39
+ transform: scale3d(0.9,0.9,0.9) translate3d(0,0,0)
40
+ }
41
+ 100% {
42
+ opacity: 1;
43
+ transform: scale3d(1,1,1) translate3d(0,0,0)
44
+ }
45
+ }
46
+ @keyframes tipZoomOut {
47
+ 0% {
48
+ opacity: 1;
49
+ transform: scale3d(1,1,1) translate3d(0,0,0);
50
+ }
51
+ 100% {
52
+ opacity: 0;
53
+ transform: scale3d(0.8,0.8,1) translate3d(0, -8%,0);
54
+ }
55
+ }
56
+ }
57
+ ._overflow-tip{
58
+ background-color: rgba(0,0,0,.8);
59
+ font-size: 14px;
60
+ color: #fff;
61
+ padding: 5px 10px;
62
+ text-align: left;
63
+ border-radius: 4px;
64
+ margin-top: -1px;
65
+ word-break: break-all;
66
+ }
@@ -0,0 +1,49 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _react = require('react');
8
+
9
+ var _react2 = _interopRequireDefault(_react);
10
+
11
+ var _index = require('../../index');
12
+
13
+ require('./index.less');
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+
17
+ exports.default = function (_ref) {
18
+ var total = _ref.total,
19
+ currentIndex = _ref.currentIndex,
20
+ previous = _ref.previous,
21
+ next = _ref.next,
22
+ _ref$className = _ref.className,
23
+ className = _ref$className === undefined ? '' : _ref$className;
24
+
25
+ currentIndex = total == 0 ? 0 : currentIndex;
26
+ var hide = total == 0 || total == 1 || !total;
27
+ return hide ? null : _react2.default.createElement(
28
+ 'div',
29
+ { className: 'page ' + className },
30
+ currentIndex <= 1 ? _react2.default.createElement(_index.Ticon, { type: 'zuozhihui', className: 'page-button page-button-left page-disabled' }) : _react2.default.createElement(_index.Ticon, { type: 'zuo1', className: 'page-button page-button-left page-active primary-color', onClick: previous }),
31
+ _react2.default.createElement(
32
+ 'span',
33
+ { className: 'page-text' },
34
+ _react2.default.createElement(
35
+ 'span',
36
+ null,
37
+ currentIndex
38
+ ),
39
+ '/',
40
+ _react2.default.createElement(
41
+ 'span',
42
+ null,
43
+ total
44
+ )
45
+ ),
46
+ currentIndex >= total || currentIndex == 0 ? _react2.default.createElement(_index.Ticon, { type: 'youzhihui', className: 'page-button page-button-right page-disabled' }) : _react2.default.createElement(_index.Ticon, { type: 'you1', className: 'page-button page-button-right page-active primary-color', onClick: next })
47
+ );
48
+ };
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tplus-components-touch/components/page/index.js"],"names":["total","currentIndex","previous","next","className","hide"],"mappings":";;;;;;AAAA;;;;AACA;;AACA;;;;kBAEe,gBAA2D;AAAA,MAAxDA,KAAwD,QAAxDA,KAAwD;AAAA,MAAjDC,YAAiD,QAAjDA,YAAiD;AAAA,MAAnCC,QAAmC,QAAnCA,QAAmC;AAAA,MAAzBC,IAAyB,QAAzBA,IAAyB;AAAA,4BAAnBC,SAAmB;AAAA,MAAnBA,SAAmB,kCAAT,EAAS;;AACxEH,iBAAeD,SAAS,CAAT,GAAa,CAAb,GAAiBC,YAAhC;AACA,MAAII,OAAQL,SAAS,CAAT,IAAcA,SAAS,CAAvB,IAA4B,CAACA,KAAzC;AACA,SACEK,OACA,IADA,GAGA;AAAA;AAAA,MAAK,qBAAmBD,SAAxB;AACGH,oBAAgB,CAAhB,GACC,8BAAC,YAAD,IAAO,MAAK,WAAZ,EAAwB,WAAU,4CAAlC,GADD,GAIC,8BAAC,YAAD,IAAO,MAAK,MAAZ,EAAmB,WAAU,wDAA7B,EAAsF,SAASC,QAA/F,GALJ;AAQE;AAAA;AAAA,QAAM,WAAU,WAAhB;AAA4B;AAAA;AAAA;AAAOD;AAAP,OAA5B;AAAA;AAAwD;AAAA;AAAA;AAAOD;AAAP;AAAxD,KARF;AAWIC,oBAAgBD,KAAhB,IAAyBC,gBAAgB,CAAzC,GACE,8BAAC,YAAD,IAAO,MAAK,WAAZ,EAAwB,WAAU,6CAAlC,GADF,GAIE,8BAAC,YAAD,IAAO,MAAK,MAAZ,EAAmB,WAAU,yDAA7B,EAAuF,SAASE,IAAhG;AAfN,GAJF;AAuBD,C","file":"index.js","sourcesContent":["import React from 'react';\nimport { Ticon } from '../../index';\nimport './index.less';\n\nexport default ({ total, currentIndex, previous, next, className='' }) => {\n currentIndex = total == 0 ? 0 : currentIndex;\n let hide = (total == 0 || total == 1 || !total);\n return (\n hide ?\n null\n :\n <div className={`page ${className}`}>\n {currentIndex <= 1 ?\n <Ticon type='zuozhihui' className='page-button page-button-left page-disabled' />\n :\n\n <Ticon type='zuo1' className='page-button page-button-left page-active primary-color' onClick={previous} />\n\n }\n <span className='page-text'><span>{currentIndex}</span>/<span>{total}</span></span>\n\n {\n currentIndex >= total || currentIndex == 0 ?\n <Ticon type='youzhihui' className='page-button page-button-right page-disabled' />\n :\n\n <Ticon type='you1' className='page-button page-button-right page-active primary-color' onClick={next} />\n }\n </div>\n )\n}"]}
@@ -0,0 +1,22 @@
1
+
2
+ .page {
3
+ .page-button {
4
+ font-size: 32px;
5
+ display: line-block;
6
+ vertical-align: middle;
7
+ }
8
+ .page-active {
9
+ cursor: pointer;
10
+ }
11
+ .page-disabled {
12
+ color: #666666;
13
+ cursor: not-allowed;
14
+ }
15
+ .page-text {
16
+ font-size: 14px;
17
+ color: rgba(0,0,0,0.65);
18
+ display: inline-block;
19
+ vertical-align: middle;
20
+ padding: 0 32px;
21
+ }
22
+ }
@@ -0,0 +1,148 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.formatNumber = undefined;
7
+
8
+ var _react = require('react');
9
+
10
+ var _react2 = _interopRequireDefault(_react);
11
+
12
+ var _index = require('../../index');
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ /*
17
+ * @Descripttion:
18
+ * @version:
19
+ * @Author: chenlongad
20
+ * @Date: 2021-05-12 14:40:26
21
+ * @LastEditors: chenlongad
22
+ * @LastEditTime: 2021-07-06 15:36:02
23
+ */
24
+ var defaultImgURL = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xMS41IC0xMC4yMzE3NCAyMyAyMC40NjM0OCI+CiAgPHRpdGxlPlJlYWN0IExvZ288L3RpdGxlPgogIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIyLjA1IiBmaWxsPSIjNjFkYWZiIi8+CiAgPGcgc3Ryb2tlPSIjNjFkYWZiIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiPgogICAgPGVsbGlwc2Ugcng9IjExIiByeT0iNC4yIi8+CiAgICA8ZWxsaXBzZSByeD0iMTEiIHJ5PSI0LjIiIHRyYW5zZm9ybT0icm90YXRlKDYwKSIvPgogICAgPGVsbGlwc2Ugcng9IjExIiByeT0iNC4yIiB0cmFuc2Zvcm09InJvdGF0ZSgxMjApIi8+CiAgPC9nPgo8L3N2Zz4K';
25
+
26
+ var formatNumber = exports.formatNumber = function formatNumber(number, length) {
27
+ if (number === '' || number === undefined || number === null) {
28
+ number = 0;
29
+ }
30
+ number += '';
31
+ if (length == 0) {
32
+ return parseInt(number);
33
+ }
34
+ if (number.indexOf('.') > 0) {
35
+ number += '0000000000';
36
+ } else {
37
+ number += '.0000000000';
38
+ }
39
+ return number.substring(0, number.indexOf(".") + +length + 1);
40
+ };
41
+
42
+ exports.default = function (_ref) {
43
+ var item = _ref.item,
44
+ click = _ref.click,
45
+ _ref$type = _ref.type,
46
+ type = _ref$type === undefined ? 'small' : _ref$type,
47
+ _ref$configure = _ref.configure,
48
+ configure = _ref$configure === undefined ? { img: true, name: true, code: true, price: true } : _ref$configure,
49
+ pricePrecision = _ref.pricePrecision;
50
+
51
+ var imgSuffix = {
52
+ small: '?x-oss-process=image/resize,l_76',
53
+ middle: '?x-oss-process=image/resize,l_96',
54
+ big: '?x-oss-process=image/resize,l_150'
55
+ };
56
+ click = click || function () {};
57
+ var imgUrl = item.ImageFile || '';
58
+
59
+ imgUrl = imgUrl.split(';')[0] ? imgUrl.split(';')[0] : '';
60
+
61
+ var defaultDom = document.createElement("div");
62
+ defaultDom.style.background = "#FF595E";
63
+ return _react2.default.createElement(
64
+ 'div',
65
+ { className: 'detail ' + ('detail-' + type), onClick: function onClick(e) {
66
+ var dom = imgUrl ? e.currentTarget.children[0] : defaultDom;
67
+ var isDefault = imgUrl ? false : true;
68
+ click(item, e.clientX, e.clientY, dom, isDefault);
69
+ }, key: item.Id },
70
+ configure.img ? imgUrl ? _react2.default.createElement('div', { className: 'detail-img', style: { backgroundImage: 'url(' + imgUrl + imgSuffix[type] + ')',
71
+ backgroundSize: 'contain',
72
+ backgroundPosition: 'center',
73
+ backgroundRepeat: 'no-repeat' } }) : _react2.default.createElement(
74
+ 'div',
75
+ { className: 'detail-img' },
76
+ _react2.default.createElement(_index.Ticon, { type: 'tupian', className: 'default-img' })
77
+ ) : null,
78
+ _react2.default.createElement(
79
+ 'div',
80
+ { className: '' + (configure.img ? '' : 'detail-content-box') },
81
+ configure.name ? _react2.default.createElement(
82
+ 'div',
83
+ { className: 'detail-name text-2line-overflow ' + (configure.img ? 'marginTop10' : '') },
84
+ item.Name
85
+ ) : null,
86
+ configure.code ? _react2.default.createElement(
87
+ 'div',
88
+ { className: 'detail-code text-1line-overflow' },
89
+ item.Code
90
+ ) : null,
91
+ configure.specification ? _react2.default.createElement(
92
+ 'div',
93
+ { className: 'detail-specification ' + (type == 'big' ? 'text-1line-overflow detail-specification-big' : 'text-2line-overflow detail-specification-small') + ' ' + (configure.img ? 'detail-specification-withimg' : '') },
94
+ item.Specification
95
+ ) : null,
96
+ configure.price ? _react2.default.createElement(
97
+ 'div',
98
+ { className: 'detail-price text-1line-overflow' },
99
+ _react2.default.createElement(
100
+ 'span',
101
+ { className: 'exchangeIntegral' },
102
+ item.ExchangeIntegral && item.ExchangeIntegral + "积分"
103
+ ),
104
+ _react2.default.createElement(
105
+ 'span',
106
+ { className: 'price' },
107
+ _react2.default.createElement(PriceHeader, { item: item }),
108
+ _react2.default.createElement(Price, { item: item, pricePrecision: pricePrecision })
109
+ )
110
+ ) : null
111
+ )
112
+ );
113
+ };
114
+
115
+ // 计算积分兑换并且兑换价不为0 展示+¥
116
+
117
+
118
+ var PriceHeader = function PriceHeader(_ref2) {
119
+ var item = _ref2.item;
120
+
121
+ return item.ExchangeIntegral && item.RetailPrice && _react2.default.createElement(
122
+ 'span',
123
+ null,
124
+ _react2.default.createElement(
125
+ 'i',
126
+ null,
127
+ '+'
128
+ ),
129
+ _react2.default.createElement(
130
+ 'i',
131
+ null,
132
+ '\uFFE5'
133
+ )
134
+ ) || null;
135
+ };
136
+
137
+ // 积分兑换 兑换价不为0展示钱 如果为0则不展示 普通订单正常展示
138
+ var Price = function Price(_ref3) {
139
+ var item = _ref3.item,
140
+ pricePrecision = _ref3.pricePrecision;
141
+
142
+ return _react2.default.createElement(
143
+ 'span',
144
+ null,
145
+ item.ExchangeIntegral && item.RetailPrice || !item.ExchangeIntegral ? pricePrecision && item.RetailPrice ? formatNumber(item.RetailPrice, pricePrecision) : item.RetailPrice : null
146
+ );
147
+ };
148
+ //# sourceMappingURL=detail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tplus-components-touch/components/product/detail.js"],"names":["defaultImgURL","formatNumber","number","length","undefined","parseInt","indexOf","substring","item","click","type","configure","img","name","code","price","pricePrecision","imgSuffix","small","middle","big","imgUrl","ImageFile","split","defaultDom","document","createElement","style","background","dom","e","currentTarget","children","isDefault","clientX","clientY","Id","backgroundImage","backgroundSize","backgroundPosition","backgroundRepeat","Name","Code","specification","Specification","ExchangeIntegral","PriceHeader","RetailPrice","Price"],"mappings":"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","file":"detail.js","sourcesContent":["/*\n * @Descripttion: \n * @version: \n * @Author: chenlongad\n * @Date: 2021-05-12 14:40:26\n * @LastEditors: chenlongad\n * @LastEditTime: 2021-07-06 15:36:02\n */\nimport React from 'react';\nimport { Ticon } from '../../index';\n\nlet defaultImgURL = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xMS41IC0xMC4yMzE3NCAyMyAyMC40NjM0OCI+CiAgPHRpdGxlPlJlYWN0IExvZ288L3RpdGxlPgogIDxjaXJjbGUgY3g9IjAiIGN5PSIwIiByPSIyLjA1IiBmaWxsPSIjNjFkYWZiIi8+CiAgPGcgc3Ryb2tlPSIjNjFkYWZiIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiPgogICAgPGVsbGlwc2Ugcng9IjExIiByeT0iNC4yIi8+CiAgICA8ZWxsaXBzZSByeD0iMTEiIHJ5PSI0LjIiIHRyYW5zZm9ybT0icm90YXRlKDYwKSIvPgogICAgPGVsbGlwc2Ugcng9IjExIiByeT0iNC4yIiB0cmFuc2Zvcm09InJvdGF0ZSgxMjApIi8+CiAgPC9nPgo8L3N2Zz4K';\n\nexport const formatNumber = function(number, length) {\n if (number === '' || number === undefined || number === null) {\n number = 0;\n }\n number += '';\n if (length == 0) {\n return parseInt(number);\n }\n if (number.indexOf('.') > 0) {\n number += '0000000000';\n } else {\n number += '.0000000000'\n }\n return number.substring(0,number.indexOf(\".\") + +length + 1)\n}\n\n\nexport default ({item, click, type = 'small', configure = {img: true, name: true, code: true, price: true}, pricePrecision}) => {\n let imgSuffix = {\n small: '?x-oss-process=image/resize,l_76',\n middle: '?x-oss-process=image/resize,l_96',\n big: '?x-oss-process=image/resize,l_150'\n }\n click = click || (() => {})\n let imgUrl = item.ImageFile || '';\n\n imgUrl = imgUrl.split(';')[0] ? imgUrl.split(';')[0] : '';\n\n let defaultDom = document.createElement(\"div\");\n defaultDom.style.background = \"#FF595E\";\n return (\n <div className={`detail ${'detail-' + type}`} onClick={e => {\n let dom = imgUrl ? e.currentTarget.children[0] : defaultDom;\n let isDefault = imgUrl ? false : true;\n click(item, e.clientX, e.clientY, dom, isDefault)\n }} key={item.Id}>\n {\n configure.img\n ?\n imgUrl ?\n <div className='detail-img' style={{backgroundImage: 'url('+imgUrl + imgSuffix[type] +')',\n backgroundSize: 'contain',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat'}}></div>\n : <div className='detail-img'><Ticon type='tupian' className='default-img' /></div>\n : null\n }\n <div className={`${configure.img ? '' : 'detail-content-box'}`}>\n\n {\n configure.name\n ? <div className={`detail-name text-2line-overflow ${configure.img ? 'marginTop10': ''}`} >{item.Name}</div>\n : null\n }\n {\n configure.code\n ? <div className='detail-code text-1line-overflow' >{item.Code}</div>\n : null\n }\n {\n configure.specification\n ? <div className={`detail-specification ${type == 'big' ? 'text-1line-overflow detail-specification-big' : 'text-2line-overflow detail-specification-small'} ${configure.img ? 'detail-specification-withimg' : ''}`} >{item.Specification}</div>\n : null\n }\n {\n configure.price\n ? <div className='detail-price text-1line-overflow' >\n <span className=\"exchangeIntegral\">\n { item.ExchangeIntegral && (item.ExchangeIntegral + \"积分\")}\n </span>\n <span className=\"price\">\n <PriceHeader item ={item}/>\n <Price item ={item} pricePrecision = {pricePrecision}/>\n </span>\n </div>\n : null\n }\n </div>\n\n </div>\n )\n}\n\n// 计算积分兑换并且兑换价不为0 展示+¥\nconst PriceHeader = ({item}) => {\n return (item.ExchangeIntegral && item.RetailPrice && <span><i>+</i><i>¥</i></span>) || null\n}\n\n// 积分兑换 兑换价不为0展示钱 如果为0则不展示 普通订单正常展示\nconst Price = ({item,pricePrecision}) => {\n return (\n <span>\n {\n (item.ExchangeIntegral && item.RetailPrice || ! item.ExchangeIntegral)?( pricePrecision && item.RetailPrice ?\n formatNumber(item.RetailPrice, pricePrecision)\n :\n item.RetailPrice):null\n }\n </span>\n )\n}"]}