tplus-components-touch 3.28.2 → 3.28.3
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/dist/components/acCitySelect/CitySelect.js +541 -0
- package/dist/components/acCitySelect/CitySelect.js.map +1 -0
- package/dist/components/acCitySelect/CitySelect.less +10 -0
- package/dist/components/acCitySelect/citys.js +1270 -0
- package/dist/components/acCitySelect/citys.js.map +1 -0
- package/dist/components/acCitySelect/index.js +18 -0
- package/dist/components/acCitySelect/index.js.map +1 -0
- package/dist/components/acCitySelect/provinceData.js +40 -0
- package/dist/components/acCitySelect/provinceData.js.map +1 -0
- package/dist/components/addLog/AddLogProcessor.js +49 -0
- package/dist/components/addLog/AddLogProcessor.js.map +1 -0
- package/dist/components/addLog/OperationLogApi.js +125 -0
- package/dist/components/addLog/OperationLogApi.js.map +1 -0
- package/dist/components/autoComplete/index.js +245 -0
- package/dist/components/autoComplete/index.js.map +1 -0
- package/dist/components/autoComplete/index.less +89 -0
- package/dist/components/autoComplete/option.js +75 -0
- package/dist/components/autoComplete/option.js.map +1 -0
- package/dist/components/autoCompleteWithKeyboard/index.js +231 -0
- package/dist/components/autoCompleteWithKeyboard/index.js.map +1 -0
- package/dist/components/autoCompleteWithKeyboard/index.less +8 -0
- package/dist/components/billSearch/api.js +465 -0
- package/dist/components/billSearch/api.js.map +1 -0
- package/dist/components/billSearch/index.js +2201 -0
- package/dist/components/billSearch/index.js.map +1 -0
- package/dist/components/billSearch/index.less +376 -0
- package/dist/components/cloudPrint/BTPrintFormatUtil.js +568 -0
- package/dist/components/cloudPrint/BTPrintFormatUtil.js.map +1 -0
- package/dist/components/cloudPrint/api.js +391 -0
- package/dist/components/cloudPrint/api.js.map +1 -0
- package/dist/components/cloudPrint/index.js +727 -0
- package/dist/components/cloudPrint/index.js.map +1 -0
- package/dist/components/cloudPrint/printDispatch.js +324 -0
- package/dist/components/cloudPrint/printDispatch.js.map +1 -0
- package/dist/components/commonForm/addressPicker/index.js +232 -0
- package/dist/components/commonForm/addressPicker/index.js.map +1 -0
- package/dist/components/commonForm/addressPicker/style.less +11 -0
- package/dist/components/commonForm/autoComplete/index.js +241 -0
- package/dist/components/commonForm/autoComplete/index.js.map +1 -0
- package/dist/components/commonForm/autoComplete/style.less +3 -0
- package/dist/components/commonForm/datePicker/index.js +89 -0
- package/dist/components/commonForm/datePicker/index.js.map +1 -0
- package/dist/components/commonForm/datePicker/style.less +5 -0
- package/dist/components/commonForm/formControl/index.js +143 -0
- package/dist/components/commonForm/formControl/index.js.map +1 -0
- package/dist/components/commonForm/formControl/style.less +0 -0
- package/dist/components/commonForm/index.js +225 -0
- package/dist/components/commonForm/index.js.map +1 -0
- package/dist/components/commonForm/inputNumber/index.js +272 -0
- package/dist/components/commonForm/inputNumber/index.js.map +1 -0
- package/dist/components/commonForm/inputNumber/style.less +11 -0
- package/dist/components/commonForm/radio/index.js +132 -0
- package/dist/components/commonForm/radio/index.js.map +1 -0
- package/dist/components/commonForm/radio/style.less +0 -0
- package/dist/components/commonForm/style.less +2 -0
- package/dist/components/deliverySearch/api.js +355 -0
- package/dist/components/deliverySearch/api.js.map +1 -0
- package/dist/components/deliverySearch/index.js +1218 -0
- package/dist/components/deliverySearch/index.js.map +1 -0
- package/dist/components/deliverySearch/index.less +554 -0
- package/dist/components/form/index.js +310 -0
- package/dist/components/form/index.js.map +1 -0
- package/dist/components/hardwareAPI/index.js +181 -0
- package/dist/components/hardwareAPI/index.js.map +1 -0
- package/dist/components/hotKey/config.js +306 -0
- package/dist/components/hotKey/config.js.map +1 -0
- package/dist/components/hotKey/hotKeyModal.js +479 -0
- package/dist/components/hotKey/hotKeyModal.js.map +1 -0
- package/dist/components/hotKey/index.js +785 -0
- package/dist/components/hotKey/index.js.map +1 -0
- package/dist/components/hotKey/localConfig.js +1021 -0
- package/dist/components/hotKey/localConfig.js.map +1 -0
- package/dist/components/hotKey/style.less +96 -0
- package/dist/components/hotKey/utils.js +135 -0
- package/dist/components/hotKey/utils.js.map +1 -0
- package/dist/components/input/index.js +251 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/input/scanInput.js +98 -0
- package/dist/components/input/scanInput.js.map +1 -0
- package/dist/components/input/scanInput.less +28 -0
- package/dist/components/input/style.less +99 -0
- package/dist/components/input/tplusInput/index.js +81 -0
- package/dist/components/input/tplusInput/index.js.map +1 -0
- package/dist/components/input/tplusInput/inputContent.js +128 -0
- package/dist/components/input/tplusInput/inputContent.js.map +1 -0
- package/dist/components/input/tplusInput/inputs.js +151 -0
- package/dist/components/input/tplusInput/inputs.js.map +1 -0
- package/dist/components/input/tplusInput/style.less +132 -0
- package/dist/components/input/utils/index.js +26 -0
- package/dist/components/input/utils/index.js.map +1 -0
- package/dist/components/inventorySearch/api.js +214 -0
- package/dist/components/inventorySearch/api.js.map +1 -0
- package/dist/components/inventorySearch/index.js +303 -0
- package/dist/components/inventorySearch/index.js.map +1 -0
- package/dist/components/inventorySearch/index.less +120 -0
- package/dist/components/inventorySearch/store.js +363 -0
- package/dist/components/inventorySearch/store.js.map +1 -0
- package/dist/components/inventorySearch/tab.js +273 -0
- package/dist/components/inventorySearch/tab.js.map +1 -0
- package/dist/components/keyboard/index.js +255 -0
- package/dist/components/keyboard/index.js.map +1 -0
- package/dist/components/keyboard/index.less +470 -0
- package/dist/components/keyboard/letterKeyboard.js +210 -0
- package/dist/components/keyboard/letterKeyboard.js.map +1 -0
- package/dist/components/keyboard/numKeyboard.js +459 -0
- package/dist/components/keyboard/numKeyboard.js.map +1 -0
- package/dist/components/keyboard/numKeyboardScan.js +195 -0
- package/dist/components/keyboard/numKeyboardScan.js.map +1 -0
- package/dist/components/keyboard/numberButton_input.js +303 -0
- package/dist/components/keyboard/numberButton_input.js.map +1 -0
- package/dist/components/keyboard/numkeyboardPassword.js +460 -0
- package/dist/components/keyboard/numkeyboardPassword.js.map +1 -0
- package/dist/components/keyboard/onlyKeyboard.js +90 -0
- package/dist/components/keyboard/onlyKeyboard.js.map +1 -0
- package/dist/components/keyboard/onlyLetterButton.js +187 -0
- package/dist/components/keyboard/onlyLetterButton.js.map +1 -0
- package/dist/components/keyboard/onlyLetterButton2.js +235 -0
- package/dist/components/keyboard/onlyLetterButton2.js.map +1 -0
- package/dist/components/keyboard/onlyLetterButton2.less +162 -0
- package/dist/components/keyboard/onlyNumberButton.js +128 -0
- package/dist/components/keyboard/onlyNumberButton.js.map +1 -0
- package/dist/components/keyboard/onlyNumberButton2.js +115 -0
- package/dist/components/keyboard/onlyNumberButton2.js.map +1 -0
- package/dist/components/keyboard/textKeyboard.js +50 -0
- package/dist/components/keyboard/textKeyboard.js.map +1 -0
- package/dist/components/layout/hamburger.js +29 -0
- package/dist/components/layout/hamburger.js.map +1 -0
- package/dist/components/layout/index.js +31 -0
- package/dist/components/layout/index.js.map +1 -0
- package/dist/components/layout/layout.js +182 -0
- package/dist/components/layout/layout.js.map +1 -0
- package/dist/components/layout/sider.js +165 -0
- package/dist/components/layout/sider.js.map +1 -0
- package/dist/components/layout/style.less +82 -0
- package/dist/components/loading/index.js +198 -0
- package/dist/components/loading/index.js.map +1 -0
- package/dist/components/loading/loadingContent.js +185 -0
- package/dist/components/loading/loadingContent.js.map +1 -0
- package/dist/components/loading/style.less +70 -0
- package/dist/components/loading/utils.js +29 -0
- package/dist/components/loading/utils.js.map +1 -0
- package/dist/components/message/index.js +311 -0
- package/dist/components/message/index.js.map +1 -0
- package/dist/components/message/index.less +101 -0
- package/dist/components/modal/index.js +93 -0
- package/dist/components/modal/index.js.map +1 -0
- package/dist/components/modal/index.less +19 -0
- package/dist/components/modalVertical/index.js +325 -0
- package/dist/components/modalVertical/index.js.map +1 -0
- package/dist/components/modalVertical/style.less +60 -0
- package/dist/components/modalWraper/index.js +470 -0
- package/dist/components/modalWraper/index.js.map +1 -0
- package/dist/components/modalWraper/style.less +257 -0
- package/dist/components/modalWraper/utils.js +48 -0
- package/dist/components/modalWraper/utils.js.map +1 -0
- package/dist/components/notification/index.js +119 -0
- package/dist/components/notification/index.js.map +1 -0
- package/dist/components/notification/index.less +52 -0
- package/dist/components/overflowTip/index.js +269 -0
- package/dist/components/overflowTip/index.js.map +1 -0
- package/dist/components/overflowTip/style.less +66 -0
- package/dist/components/page/index.js +49 -0
- package/dist/components/page/index.js.map +1 -0
- package/dist/components/page/index.less +22 -0
- package/dist/components/product/detail.js +148 -0
- package/dist/components/product/detail.js.map +1 -0
- package/dist/components/product/getCard.js +145 -0
- package/dist/components/product/getCard.js.map +1 -0
- package/dist/components/product/index.less +128 -0
- package/dist/components/progressState/EmptyAndErrorView.js +143 -0
- package/dist/components/progressState/EmptyAndErrorView.js.map +1 -0
- package/dist/components/progressState/ProgressState.js +157 -0
- package/dist/components/progressState/ProgressState.js.map +1 -0
- package/dist/components/progressState/index.js +14 -0
- package/dist/components/progressState/index.js.map +1 -0
- package/dist/components/progressState/style.less +65 -0
- package/dist/components/scan/index.js +219 -0
- package/dist/components/scan/index.js.map +1 -0
- package/dist/components/scan/index.less +34 -0
- package/dist/components/select/index.js +28 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/select/index.less +12 -0
- package/dist/components/settlement/asyncModal.js +204 -0
- package/dist/components/settlement/asyncModal.js.map +1 -0
- package/dist/components/settlement/index.js +16 -0
- package/dist/components/settlement/index.js.map +1 -0
- package/dist/components/settlement/prototypeTable/index.js +349 -0
- package/dist/components/settlement/prototypeTable/index.js.map +1 -0
- package/dist/components/settlement/prototypeTable/style.less +59 -0
- package/dist/components/settlement/prototypeTable/utils.js +14 -0
- package/dist/components/settlement/prototypeTable/utils.js.map +1 -0
- package/dist/components/settlement/settlement.js +5474 -0
- package/dist/components/settlement/settlement.js.map +1 -0
- package/dist/components/settlement/settlement.less +1595 -0
- package/dist/components/settlement/settlementStore.js +2117 -0
- package/dist/components/settlement/settlementStore.js.map +1 -0
- package/dist/components/settlement/utils.js +249 -0
- package/dist/components/settlement/utils.js.map +1 -0
- package/dist/components/socket/index.js +221 -0
- package/dist/components/socket/index.js.map +1 -0
- package/dist/components/spin/index.js +95 -0
- package/dist/components/spin/index.js.map +1 -0
- package/dist/components/spin/spin-style.less +436 -0
- package/dist/components/test/index.js +330 -0
- package/dist/components/test/index.js.map +1 -0
- package/dist/components/ticon/iconfont/demo.css +539 -0
- package/dist/components/ticon/iconfont/demo_index.html +5202 -0
- package/dist/components/ticon/iconfont/iconfont.css +887 -0
- package/dist/components/ticon/iconfont/iconfont.eot +0 -0
- package/dist/components/ticon/iconfont/iconfont.js +35 -0
- package/dist/components/ticon/iconfont/iconfont.js.map +1 -0
- package/dist/components/ticon/iconfont/iconfont.json +1535 -0
- package/dist/components/ticon/iconfont/iconfont.svg +593 -0
- 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 +60 -0
- package/dist/components/ticon/index.js.map +1 -0
- package/dist/components/touchScroll/index.js +182 -0
- package/dist/components/touchScroll/index.js.map +1 -0
- package/dist/components/touchTable/AuthProcess.js +42 -0
- package/dist/components/touchTable/AuthProcess.js.map +1 -0
- package/dist/components/touchTable/generateWater.js +59 -0
- package/dist/components/touchTable/generateWater.js.map +1 -0
- package/dist/components/touchTable/index.js +1110 -0
- package/dist/components/touchTable/index.js.map +1 -0
- package/dist/components/touchTable/index.less +370 -0
- package/dist/components/touchTable/utils.js +14 -0
- package/dist/components/touchTable/utils.js.map +1 -0
- package/dist/demo/PopOverDemo.js +126 -0
- package/dist/demo/PopOverDemo.js.map +1 -0
- package/dist/index.js +266 -0
- package/dist/index.js.map +1 -0
- package/dist/util/tools.js +200 -0
- package/dist/util/tools.js.map +1 -0
- 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":";;;;;;;AAQA;;;;AACA;;;;AATA;;;;;;;;AAWA,IAAIA,gBAAgB,ogBAApB;;AAEO,IAAMC,sCAAe,SAAfA,YAAe,CAASC,MAAT,EAAiBC,MAAjB,EAAyB;AACnD,MAAID,WAAW,EAAX,IAAiBA,WAAWE,SAA5B,IAAyCF,WAAW,IAAxD,EAA8D;AAC5DA,aAAS,CAAT;AACD;AACDA,YAAU,EAAV;AACA,MAAIC,UAAU,CAAd,EAAiB;AACf,WAAOE,SAASH,MAAT,CAAP;AACD;AACD,MAAIA,OAAOI,OAAP,CAAe,GAAf,IAAsB,CAA1B,EAA6B;AAC3BJ,cAAU,YAAV;AACD,GAFD,MAEO;AACLA,cAAU,aAAV;AACD;AACD,SAAOA,OAAOK,SAAP,CAAiB,CAAjB,EAAmBL,OAAOI,OAAP,CAAe,GAAf,IAAsB,CAACH,MAAvB,GAAgC,CAAnD,CAAP;AACD,CAdM;;kBAiBQ,gBAAiH;AAAA,MAA/GK,IAA+G,QAA/GA,IAA+G;AAAA,MAAzGC,KAAyG,QAAzGA,KAAyG;AAAA,uBAAlGC,IAAkG;AAAA,MAAlGA,IAAkG,6BAA3F,OAA2F;AAAA,4BAAlFC,SAAkF;AAAA,MAAlFA,SAAkF,kCAAtE,EAACC,KAAK,IAAN,EAAYC,MAAM,IAAlB,EAAwBC,MAAM,IAA9B,EAAoCC,OAAO,IAA3C,EAAsE;AAAA,MAApBC,cAAoB,QAApBA,cAAoB;;AAC9H,MAAIC,YAAY;AACdC,WAAO,kCADO;AAEdC,YAAQ,kCAFM;AAGdC,SAAK;AAHS,GAAhB;AAKAX,UAAQA,SAAU,YAAM,CAAE,CAA1B;AACA,MAAIY,SAASb,KAAKc,SAAL,IAAkB,EAA/B;;AAEAD,WAASA,OAAOE,KAAP,CAAa,GAAb,EAAkB,CAAlB,IAAuBF,OAAOE,KAAP,CAAa,GAAb,EAAkB,CAAlB,CAAvB,GAA8C,EAAvD;;AAEA,MAAIC,aAAaC,SAASC,aAAT,CAAuB,KAAvB,CAAjB;AACAF,aAAWG,KAAX,CAAiBC,UAAjB,GAA8B,SAA9B;AACA,SACE;AAAA;AAAA,MAAK,wBAAqB,YAAYlB,IAAjC,CAAL,EAA8C,SAAS,oBAAK;AAC1D,YAAImB,MAAMR,SAASS,EAAEC,aAAF,CAAgBC,QAAhB,CAAyB,CAAzB,CAAT,GAAuCR,UAAjD;AACA,YAAIS,YAAYZ,SAAS,KAAT,GAAiB,IAAjC;AACAZ,cAAMD,IAAN,EAAYsB,EAAEI,OAAd,EAAuBJ,EAAEK,OAAzB,EAAkCN,GAAlC,EAAuCI,SAAvC;AACD,OAJD,EAIG,KAAKzB,KAAK4B,EAJb;AAMIzB,cAAUC,GAAV,GAEES,SACG,uCAAK,WAAU,YAAf,EAA4B,OAAO,EAACgB,iBAAiB,SAAOhB,MAAP,GAAgBJ,UAAUP,IAAV,CAAhB,GAAiC,GAAnD;AACA4B,wBAAgB,SADhB;AAEAC,4BAAoB,QAFpB;AAGAC,0BAAkB,WAHlB,EAAnC,GADH,GAKM;AAAA;AAAA,QAAK,WAAU,YAAf;AAA4B,oCAAC,YAAD,IAAO,MAAK,QAAZ,EAAqB,WAAU,aAA/B;AAA5B,KAPR,GAQI,IAdR;AAgBE;AAAA;AAAA,QAAK,iBAAc7B,UAAUC,GAAV,GAAgB,EAAhB,GAAqB,oBAAnC,CAAL;AAGID,gBAAUE,IAAV,GACI;AAAA;AAAA,UAAK,iDAA8CF,UAAUC,GAAV,GAAgB,aAAhB,GAA+B,EAA7E,CAAL;AAA0FJ,aAAKiC;AAA/F,OADJ,GAEI,IALR;AAQI9B,gBAAUG,IAAV,GACI;AAAA;AAAA,UAAK,WAAU,iCAAf;AAAmDN,aAAKkC;AAAxD,OADJ,GAEI,IAVR;AAaI/B,gBAAUgC,aAAV,GACE;AAAA;AAAA,UAAK,sCAAmCjC,QAAQ,KAAR,GAAgB,8CAAhB,GAAiE,gDAApG,aAA0JC,UAAUC,GAAV,GAAgB,8BAAhB,GAAiD,EAA3M,CAAL;AAAwNJ,aAAKoC;AAA7N,OADF,GAEE,IAfN;AAkBIjC,gBAAUI,KAAV,GACI;AAAA;AAAA,UAAK,WAAU,kCAAf;AACE;AAAA;AAAA,YAAM,WAAU,kBAAhB;AACEP,eAAKqC,gBAAL,IAA0BrC,KAAKqC,gBAAL,GAAwB;AADpD,SADF;AAIE;AAAA;AAAA,YAAM,WAAU,OAAhB;AACE,wCAAC,WAAD,IAAa,MAAOrC,IAApB,GADF;AAEE,wCAAC,KAAD,IAAO,MAAOA,IAAd,EAAoB,gBAAkBQ,cAAtC;AAFF;AAJF,OADJ,GAUI;AA5BR;AAhBF,GADF;AAmDD,C;;AAED;;;AACA,IAAM8B,cAAc,SAAdA,WAAc,QAAY;AAAA,MAAVtC,IAAU,SAAVA,IAAU;;AAC9B,SAAQA,KAAKqC,gBAAL,IAAyBrC,KAAKuC,WAA9B,IAA6C;AAAA;AAAA;AAAM;AAAA;AAAA;AAAA;AAAA,KAAN;AAAc;AAAA;AAAA;AAAA;AAAA;AAAd,GAA9C,IAAgF,IAAvF;AACD,CAFD;;AAIA;AACA,IAAMC,QAAQ,SAARA,KAAQ,QAA2B;AAAA,MAAzBxC,IAAyB,SAAzBA,IAAyB;AAAA,MAApBQ,cAAoB,SAApBA,cAAoB;;AACvC,SACE;AAAA;AAAA;AAEKR,SAAKqC,gBAAL,IAAyBrC,KAAKuC,WAA9B,IAA6C,CAAEvC,KAAKqC,gBAArD,GAAyE7B,kBAAkBR,KAAKuC,WAAvB,GACvE9C,aAAaO,KAAKuC,WAAlB,EAA+B/B,cAA/B,CADuE,GAGvER,KAAKuC,WAHP,GAGoB;AALxB,GADF;AAUD,CAXD","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}"]}
|