tplus-member 3.25.4 → 3.26.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. package/dist/index.js +6 -1
  2. package/dist/index.js.map +1 -1
  3. package/dist/member/MemberCardList.js +374 -0
  4. package/dist/member/MemberCardList.js.map +1 -0
  5. package/dist/member/MemberShow.js +3 -1
  6. package/dist/member/MemberShow.js.map +1 -1
  7. package/dist/member/ShopMember.js +166 -271
  8. package/dist/member/ShopMember.js.map +1 -1
  9. package/dist/member/ShopMember.less +65 -1
  10. package/dist/member/ShopMemberStorage.js +399 -0
  11. package/dist/member/ShopMemberStorage.js.map +1 -0
  12. package/dist/member/api.js +228 -94
  13. package/dist/member/api.js.map +1 -1
  14. package/dist/member/index.js +11 -6
  15. package/dist/member/index.js.map +1 -1
  16. package/dist/member/memberMenu/bindCard/index.js +291 -0
  17. package/dist/member/memberMenu/bindCard/index.js.map +1 -0
  18. package/dist/member/memberMenu/bindCard/style.less +8 -0
  19. package/dist/member/memberMenu/index.js +502 -352
  20. package/dist/member/memberMenu/index.js.map +1 -1
  21. package/dist/member/memberMenu/modifyPass/store.js +9 -0
  22. package/dist/member/memberMenu/modifyPass/store.js.map +1 -1
  23. package/dist/member/memberMenu/style.less +42 -0
  24. package/dist/member/memberMenuStorage/bindCard/index.js +169 -0
  25. package/dist/member/memberMenuStorage/bindCard/index.js.map +1 -0
  26. package/dist/member/memberMenuStorage/bindCard/style.less +8 -0
  27. package/dist/member/memberMenuStorage/changeMemberCard/index.js +260 -0
  28. package/dist/member/memberMenuStorage/changeMemberCard/index.js.map +1 -0
  29. package/dist/member/memberMenuStorage/changeMemberCard/style.less +43 -0
  30. package/dist/member/memberMenuStorage/index.js +1105 -0
  31. package/dist/member/memberMenuStorage/index.js.map +1 -0
  32. package/dist/member/memberMenuStorage/modifyPass/index.js +417 -0
  33. package/dist/member/memberMenuStorage/modifyPass/index.js.map +1 -0
  34. package/dist/member/memberMenuStorage/modifyPass/store.js +426 -0
  35. package/dist/member/memberMenuStorage/modifyPass/store.js.map +1 -0
  36. package/dist/member/memberMenuStorage/modifyPass/style.less +96 -0
  37. package/dist/member/memberMenuStorage/style.less +127 -0
  38. package/dist/member/memberTab/MemberCardInfo.js +89 -0
  39. package/dist/member/memberTab/MemberCardInfo.js.map +1 -0
  40. package/dist/member/memberTab/MemberManager.js +591 -0
  41. package/dist/member/memberTab/MemberManager.js.map +1 -0
  42. package/dist/member/memberTab/MemberStorage.js +153 -0
  43. package/dist/member/memberTab/MemberStorage.js.map +1 -0
  44. package/dist/member/memberTab/index.js +133 -0
  45. package/dist/member/memberTab/index.js.map +1 -0
  46. package/dist/stores/MemberStore.js +16 -7
  47. package/dist/stores/MemberStore.js.map +1 -1
  48. package/dist/utils.js +16 -2
  49. package/dist/utils.js.map +1 -1
  50. package/dist/views/MemberOrderView.js +9 -6
  51. package/dist/views/MemberOrderView.js.map +1 -1
  52. package/dist/views/MemberStoreNew.less +1 -1
  53. package/dist/views/MemberStoreNewView.js +11 -25
  54. package/dist/views/MemberStoreNewView.js.map +1 -1
  55. package/package.json +6 -6
  56. package/dist/member/memberTab.js +0 -557
  57. package/dist/member/memberTab.js.map +0 -1
@@ -0,0 +1,291 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = undefined;
7
+
8
+ var _input = require('antd/es/input');
9
+
10
+ var _input2 = _interopRequireDefault(_input);
11
+
12
+ var _regenerator = require('babel-runtime/regenerator');
13
+
14
+ var _regenerator2 = _interopRequireDefault(_regenerator);
15
+
16
+ var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
17
+
18
+ var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
19
+
20
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
23
+
24
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
25
+
26
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
27
+
28
+ var _createClass2 = require('babel-runtime/helpers/createClass');
29
+
30
+ var _createClass3 = _interopRequireDefault(_createClass2);
31
+
32
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
33
+
34
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
35
+
36
+ var _inherits2 = require('babel-runtime/helpers/inherits');
37
+
38
+ var _inherits3 = _interopRequireDefault(_inherits2);
39
+
40
+ require('antd/es/input/style');
41
+
42
+ var _react = require('react');
43
+
44
+ var _react2 = _interopRequireDefault(_react);
45
+
46
+ var _tplusComponentsTouch = require('tplus-components-touch');
47
+
48
+ require('./style.less');
49
+
50
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
51
+
52
+ var keyList = ['Shift', 'Backspace', 'Enter', 'Tab', 'CapsLock', 'Meta', 'Alt', 'Control', 'Delete'];
53
+
54
+ var BindCard = function (_Component) {
55
+ (0, _inherits3.default)(BindCard, _Component);
56
+
57
+ function BindCard(props) {
58
+ var _this2 = this;
59
+
60
+ (0, _classCallCheck3.default)(this, BindCard);
61
+
62
+ var _this = (0, _possibleConstructorReturn3.default)(this, (BindCard.__proto__ || (0, _getPrototypeOf2.default)(BindCard)).call(this, props));
63
+
64
+ _this.keyPressStamp = null;
65
+ _this.scanValue = '';
66
+
67
+ _this.onChange = function () {
68
+ var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(value) {
69
+ var newValue;
70
+ return _regenerator2.default.wrap(function _callee$(_context) {
71
+ while (1) {
72
+ switch (_context.prev = _context.next) {
73
+ case 0:
74
+ newValue = value;
75
+ // console.log(Date.now())
76
+
77
+ newValue = value.replace(/[^a-zA-Z0-9]/g, '');
78
+ // newValue = newValue.length > 16 ? newValue.substring(0, 16) : newValue
79
+ _context.next = 4;
80
+ return _this.setState({ value: newValue });
81
+
82
+ case 4:
83
+ _this.changeDisabled();
84
+
85
+ case 5:
86
+ case 'end':
87
+ return _context.stop();
88
+ }
89
+ }
90
+ }, _callee, _this2);
91
+ }));
92
+
93
+ return function (_x) {
94
+ return _ref.apply(this, arguments);
95
+ };
96
+ }();
97
+
98
+ _this.onPasswordChange = function () {
99
+ var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(password) {
100
+ return _regenerator2.default.wrap(function _callee2$(_context2) {
101
+ while (1) {
102
+ switch (_context2.prev = _context2.next) {
103
+ case 0:
104
+ _context2.next = 2;
105
+ return _this.setState({ password: password });
106
+
107
+ case 2:
108
+ _this.changeDisabled();
109
+
110
+ case 3:
111
+ case 'end':
112
+ return _context2.stop();
113
+ }
114
+ }
115
+ }, _callee2, _this2);
116
+ }));
117
+
118
+ return function (_x2) {
119
+ return _ref2.apply(this, arguments);
120
+ };
121
+ }();
122
+
123
+ _this.KeyboardShow = function (inputType) {
124
+ _tplusComponentsTouch.Keyboard.open(function (v) {
125
+ var value = _tplusComponentsTouch.Keyboard.getNewValue(_this.inputRef.input, _this.state.value, v);
126
+ inputType === 'value' && _this.onChange(value);
127
+ inputType === 'password' && _this.setState({ password: value });
128
+ }, function () {
129
+ // 点击键盘的确定按钮,设置disabled
130
+ _this.changeDisabled();
131
+ keyboard.close();
132
+ }, _this.keyboardClose)();
133
+ };
134
+
135
+ _this.keyboardClose = function () {
136
+ _this.changeDisabled();
137
+ _this.inputRef.blur();
138
+ };
139
+
140
+ _this.inputBlur = function () {
141
+ _tplusComponentsTouch.Keyboard.close();
142
+ _this.changeDisabled();
143
+ };
144
+
145
+ _this.handleKeyPress = function () {
146
+ var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(ev, value) {
147
+ var keyCode, key, currentStamp, newValue, password, bindCardClick;
148
+ return _regenerator2.default.wrap(function _callee3$(_context3) {
149
+ while (1) {
150
+ switch (_context3.prev = _context3.next) {
151
+ case 0:
152
+ keyCode = ev.keyCode, key = ev.key;
153
+
154
+ if (key && key.length && !keyList.includes(key)) _this.scanValue += key;
155
+ // 扫描录入会自动触发enter
156
+
157
+ if (!(keyCode === 13)) {
158
+ _context3.next = 14;
159
+ break;
160
+ }
161
+
162
+ currentStamp = Date.now();
163
+ // 触发enter事件的时候,如果当前触发事件-上次keyDown事件大于300毫秒,说明是手动录入,否则是扫描录入
164
+
165
+ if (!(currentStamp - _this.keyPressStamp <= 300)) {
166
+ _context3.next = 11;
167
+ break;
168
+ }
169
+
170
+ newValue = _this.scanValue.substring(0, 16);
171
+ password = _this.scanValue.substring(16);
172
+ bindCardClick = _this.props.bindCardClick;
173
+ _context3.next = 10;
174
+ return _this.setState({
175
+ value: newValue,
176
+ password: password
177
+ });
178
+
179
+ case 10:
180
+ bindCardClick();
181
+
182
+ case 11:
183
+ _this.scanValue = '';
184
+ _context3.next = 15;
185
+ break;
186
+
187
+ case 14:
188
+ // keydown的时候保存当前时间戳,用来做是手动录入的还是扫描录入的判断
189
+ _this.keyPressStamp = Date.now();
190
+
191
+ case 15:
192
+ _this.changeDisabled();
193
+
194
+ case 16:
195
+ case 'end':
196
+ return _context3.stop();
197
+ }
198
+ }
199
+ }, _callee3, _this2);
200
+ }));
201
+
202
+ return function (_x3, _x4) {
203
+ return _ref3.apply(this, arguments);
204
+ };
205
+ }();
206
+
207
+ _this.state = {
208
+ value: '',
209
+ password: ''
210
+ };
211
+ return _this;
212
+ }
213
+
214
+ (0, _createClass3.default)(BindCard, [{
215
+ key: 'componentDidMount',
216
+ value: function componentDidMount() {
217
+ // 设置输入框focus
218
+ this.inputRef.focus();
219
+ }
220
+
221
+ // 密码框
222
+
223
+ }, {
224
+ key: 'changeDisabled',
225
+ value: function changeDisabled() {
226
+ var _state = this.state,
227
+ value = _state.value,
228
+ password = _state.password;
229
+
230
+ this.props.changeBindCardBtnDisabled(!value.length || !password.length);
231
+ }
232
+ // 显示键盘
233
+
234
+ // 点击键盘的关闭按钮,设置disabled
235
+
236
+ // 输入框失去焦点,关闭键盘,设置disabled
237
+
238
+ }, {
239
+ key: 'render',
240
+ value: function render() {
241
+ var _this3 = this;
242
+
243
+ var _state2 = this.state,
244
+ value = _state2.value,
245
+ password = _state2.password;
246
+
247
+ return _react2.default.createElement(
248
+ 'div',
249
+ { className: 'bind-card-container', style: { marginTop: ' 14px' } },
250
+ _react2.default.createElement(_input2.default, {
251
+ className: _tplusComponentsTouch.hotKey.hotKeyNotFilter('storageNo-input'),
252
+ ref: function ref(input) {
253
+ return _this3.inputRef = input;
254
+ },
255
+ placeholder: '\u8BF7\u8F93\u5165\u50A8\u503C\u5361\u53F7',
256
+ value: value,
257
+ onChange: function onChange(_ref4) {
258
+ var value = _ref4.target.value;
259
+ return _this3.onChange(value);
260
+ },
261
+ onFocus: function onFocus() {
262
+ return _this3.KeyboardShow('value');
263
+ },
264
+ onBlur: this.inputBlur,
265
+ onKeyDown: this.handleKeyPress
266
+ }),
267
+ _react2.default.createElement('div', { className: 'line' }),
268
+ _react2.default.createElement(_input2.default, {
269
+ ref: function ref(input) {
270
+ return _this3.passwordRef = input;
271
+ },
272
+ type: 'password',
273
+ placeholder: '\u8BF7\u8F93\u5165\u5BC6\u7801',
274
+ value: password,
275
+ onChange: function onChange(_ref5) {
276
+ var value = _ref5.target.value;
277
+ return _this3.onPasswordChange(value);
278
+ },
279
+ onFocus: function onFocus() {
280
+ return _this3.KeyboardShow('password');
281
+ },
282
+ onBlur: this.inputBlur
283
+ })
284
+ );
285
+ }
286
+ }]);
287
+ return BindCard;
288
+ }(_react.Component);
289
+
290
+ exports.default = BindCard;
291
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tplus-member/member/memberMenu/bindCard/index.js"],"names":["keyList","BindCard","props","keyPressStamp","scanValue","onChange","value","newValue","replace","setState","changeDisabled","onPasswordChange","password","KeyboardShow","inputType","Keyboard","open","getNewValue","inputRef","input","state","v","keyboard","close","keyboardClose","blur","inputBlur","handleKeyPress","ev","keyCode","key","length","includes","currentStamp","Date","now","substring","bindCardClick","focus","changeBindCardBtnDisabled","marginTop","hotKey","hotKeyNotFilter","target","passwordRef","Component"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Component } from 'react'\r\nimport { Input } from 'antd'\r\nimport { Keyboard, hotKey } from 'tplus-components-touch'\r\nimport './style.less';\r\n\r\nconst keyList = ['Shift', 'Backspace', 'Enter', 'Tab', 'CapsLock', 'Meta', 'Alt', 'Control', 'Delete']\r\nexport default class BindCard extends Component {\r\n keyPressStamp = null\r\n scanValue = ''\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n value: '',\r\n password: ''\r\n }\r\n }\r\n componentDidMount () {\r\n // 设置输入框focus\r\n this.inputRef.focus()\r\n }\r\n onChange = async (value) => {\r\n let newValue = value\r\n // console.log(Date.now())\r\n newValue = value.replace(/[^a-zA-Z0-9]/g,'')\r\n // newValue = newValue.length > 16 ? newValue.substring(0, 16) : newValue\r\n await this.setState({value: newValue})\r\n this.changeDisabled()\r\n }\r\n \r\n // 密码框\r\n onPasswordChange = async (password) => {\r\n await this.setState({password})\r\n this.changeDisabled()\r\n }\r\n changeDisabled () {\r\n const { value, password } = this.state\r\n this.props.changeBindCardBtnDisabled((!value.length || !password.length))\r\n }\r\n // 显示键盘\r\n KeyboardShow = (inputType) => {\r\n Keyboard.open(v => {\r\n const value = Keyboard.getNewValue(this.inputRef.input, this.state.value, v);\r\n inputType === 'value' && this.onChange(value)\r\n inputType === 'password' && this.setState({password: value})\r\n }, () => {\r\n // 点击键盘的确定按钮,设置disabled\r\n this.changeDisabled()\r\n keyboard.close()\r\n }, this.keyboardClose)()\r\n }\r\n // 点击键盘的关闭按钮,设置disabled\r\n keyboardClose = () => {\r\n this.changeDisabled()\r\n this.inputRef.blur()\r\n }\r\n // 输入框失去焦点,关闭键盘,设置disabled\r\n inputBlur = () => {\r\n Keyboard.close()\r\n this.changeDisabled()\r\n }\r\n handleKeyPress = async (ev, value) => {\r\n const { keyCode, key } = ev\r\n if (key && key.length && !keyList.includes(key)) this.scanValue += key\r\n // 扫描录入会自动触发enter\r\n if (keyCode === 13) {\r\n const currentStamp = Date.now()\r\n // 触发enter事件的时候,如果当前触发事件-上次keyDown事件大于300毫秒,说明是手动录入,否则是扫描录入\r\n if (currentStamp - this.keyPressStamp <= 300) {\r\n const newValue = this.scanValue.substring(0, 16)\r\n const password = this.scanValue.substring(16)\r\n const { bindCardClick } = this.props\r\n await this.setState({\r\n value: newValue,\r\n password\r\n })\r\n bindCardClick()\r\n }\r\n this.scanValue = ''\r\n } else {\r\n // keydown的时候保存当前时间戳,用来做是手动录入的还是扫描录入的判断\r\n this.keyPressStamp = Date.now()\r\n }\r\n this.changeDisabled()\r\n }\r\n\r\n render () {\r\n const { value, password } = this.state\r\n return (\r\n <div className=\"bind-card-container\" style={{ marginTop:' 14px' }}>\r\n <Input \r\n className={hotKey.hotKeyNotFilter('storageNo-input')}\r\n ref={input => this.inputRef = input}\r\n placeholder='请输入储值卡号'\r\n value={value}\r\n onChange={({ target: { value } }) => this.onChange(value)}\r\n onFocus={() => this.KeyboardShow('value')}\r\n onBlur={this.inputBlur}\r\n onKeyDown={this.handleKeyPress}\r\n />\r\n <div className=\"line\"></div>\r\n <Input \r\n ref={input => this.passwordRef = input}\r\n type='password'\r\n placeholder='请输入密码'\r\n value={password}\r\n onChange={({ target: { value } }) => this.onPasswordChange(value)}\r\n onFocus={() => this.KeyboardShow('password')}\r\n onBlur={this.inputBlur}\r\n />\r\n </div>\r\n )\r\n }\r\n} "]}
@@ -0,0 +1,8 @@
1
+ .bind-card-container {
2
+ width: 250px;
3
+ margin: 0 auto;
4
+ margin-top: 37px;
5
+ .line {
6
+ height: 12px;
7
+ }
8
+ }