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,399 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = undefined;
7
+
8
+ var _button = require('antd/es/button');
9
+
10
+ var _button2 = _interopRequireDefault(_button);
11
+
12
+ var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
13
+
14
+ var _defineProperty3 = _interopRequireDefault(_defineProperty2);
15
+
16
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
19
+
20
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
21
+
22
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
23
+
24
+ var _createClass2 = require('babel-runtime/helpers/createClass');
25
+
26
+ var _createClass3 = _interopRequireDefault(_createClass2);
27
+
28
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
29
+
30
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
31
+
32
+ var _inherits2 = require('babel-runtime/helpers/inherits');
33
+
34
+ var _inherits3 = _interopRequireDefault(_inherits2);
35
+
36
+ var _class, _temp;
37
+
38
+ require('antd/es/button/style');
39
+
40
+ var _react = require('react');
41
+
42
+ var _react2 = _interopRequireDefault(_react);
43
+
44
+ var _propTypes = require('prop-types');
45
+
46
+ var _propTypes2 = _interopRequireDefault(_propTypes);
47
+
48
+ var _tplusComponentsTouch = require('tplus-components-touch');
49
+
50
+ var _mutantsMicrofx = require('mutants-microfx');
51
+
52
+ var _mutantsUtil = require('mutants-util');
53
+
54
+ var _api = require('./api');
55
+
56
+ var _api2 = _interopRequireDefault(_api);
57
+
58
+ var _index = require('./memberTab/index.js');
59
+
60
+ var _index2 = _interopRequireDefault(_index);
61
+
62
+ require('./ShopMember.less');
63
+
64
+ var _utils = require('../utils');
65
+
66
+ var _index3 = require('./memberMenuStorage/index.js');
67
+
68
+ var _index4 = _interopRequireDefault(_index3);
69
+
70
+ var _MemberCardList = require('./MemberCardList');
71
+
72
+ var _MemberCardList2 = _interopRequireDefault(_MemberCardList);
73
+
74
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
75
+
76
+ // let swiperSelectObserver;
77
+
78
+ var ShopMemberStorage = (_temp = _class = function (_Component) {
79
+ (0, _inherits3.default)(ShopMemberStorage, _Component);
80
+
81
+ function ShopMemberStorage(props) {
82
+ (0, _classCallCheck3.default)(this, ShopMemberStorage);
83
+
84
+ var _this = (0, _possibleConstructorReturn3.default)(this, (ShopMemberStorage.__proto__ || (0, _getPrototypeOf2.default)(ShopMemberStorage)).call(this, props));
85
+
86
+ _this.currentPage = 1;
87
+ _this.cacheUserRetail = {};
88
+
89
+ _this.hotKeyListener = function (nodeName, index) {
90
+ if (nodeName && ~nodeName.className.indexOf('slide-selected')) {
91
+ _this.isHotKeyAction = true;
92
+ var activeElement = document.activeElement;
93
+ activeElement && activeElement.blur();
94
+ }
95
+ };
96
+
97
+ _this.observerCard = function () {
98
+ setTimeout(function () {
99
+ var slideSelected = document.querySelector('.slide-selected');
100
+ _this.prevSlideSelected && swiperSelectObserver.unobserve(_this.prevSlideSelected);
101
+ _this.prevSlideSelected = slideSelected;
102
+ slideSelected && swiperSelectObserver.observe(slideSelected);
103
+ });
104
+ };
105
+
106
+ _this.windowOnresize = function () {
107
+ if (!_this.memberTab) {
108
+ return window.removeEventListener('resize', _this.windowOnresize);
109
+ };
110
+ var memberTabHeight = _this.state.memberTabHeight;
111
+
112
+ var clientHeight = _this.memberTab.clientHeight - _this.state.tabMenuHeight;
113
+ if (memberTabHeight !== clientHeight) {
114
+ _this.setState({ memberTabHeight: clientHeight });
115
+ }
116
+ };
117
+
118
+ _this.isNotSetState = function (Idmember) {
119
+ if (_this.willUnmount || Idmember !== _this.currentMemberId) return true;
120
+ };
121
+
122
+ _this.getCardList = function (cardNo) {
123
+ var currentPage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
124
+ var pageSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
125
+
126
+ _tplusComponentsTouch.Loading.show({ target: '.memberShopContainer' });
127
+ _this.setState({
128
+ loadingBtn: true
129
+ });
130
+ _this.ms.getCardInfoByCardNo(cardNo).then(function (ret) {
131
+ var _ref = ret || {},
132
+ _ref$data = _ref.data,
133
+ data = _ref$data === undefined ? {} : _ref$data;
134
+
135
+ _this.setState({
136
+ cardList: [data],
137
+ selected: 0,
138
+ loadingBtn: false
139
+ }, function () {
140
+ _this.memberCardList.resetSlideTop();
141
+ });
142
+ _tplusComponentsTouch.Loading.hide();
143
+ }).catch(function (err) {
144
+ _this.setState({
145
+ loadingBtn: false
146
+ });
147
+ _tplusComponentsTouch.Loading.hide();
148
+ });
149
+ };
150
+
151
+ _this.handleSearchClick = function () {
152
+ var searchValue = _this.state.searchValue;
153
+ var storeKey = _this.props.storeKey;
154
+
155
+ _this.userSearch = true;
156
+ _this.currentPage = 1;
157
+ _this.setState({ selected: undefined });
158
+ _this.getCardList(searchValue, _this.currentPage);
159
+ };
160
+
161
+ _this.handleSearchChange = function (val) {
162
+ _this.setState({ searchValue: val });
163
+ };
164
+
165
+ _this.keyboardOnOk = function () {
166
+ _this.handleSearchClick();
167
+ };
168
+
169
+ _this.keyboardOnClose = function () {
170
+ _this.searchRef && _this.searchRef.blur();
171
+ };
172
+
173
+ _this.onKeyPressed = function (e) {
174
+ var keyCode = e.keyCode;
175
+
176
+ var enterKey = 13;
177
+ if (keyCode === enterKey) {
178
+ _this.handleSearchClick();
179
+ _this.keyboardOnClose();
180
+ }
181
+ };
182
+
183
+ _this.MemberMenuChange = function (dto) {
184
+ var memberList = _this.state.memberList;
185
+
186
+ (0, _utils.userInfoFormat)(dto);
187
+ var arr = [];
188
+ memberList.map(function (item) {
189
+ if (item.ID == dto.ID) {
190
+ arr.push(dto);
191
+ } else {
192
+ arr.push(item);
193
+ }
194
+ });
195
+ _this.setState({ member: dto, memberList: arr });
196
+ };
197
+
198
+ _this.onClear = function (key, input) {
199
+ _this.setState((0, _defineProperty3.default)({}, key, ''));
200
+ input.focus();
201
+ };
202
+
203
+ var mode = _this.props.mode;
204
+
205
+ var _ref2 = _mutantsUtil.platform || {},
206
+ isNewRetailBCPos = _ref2.isNewRetailBCPos;
207
+
208
+ _this.state = {
209
+ searchValue: '',
210
+ searchStatus: !!_this.props.listArr ? true : false,
211
+ tabIndex: _this.props.defaultActiveKey,
212
+ tabMenuHeight: mode !== 'practice' ? 64 : 0, // 64为table上部操作菜单高度
213
+ cardList: [] // 储值卡列表
214
+ };
215
+ _this.ms = _api2.default;
216
+ return _this;
217
+ }
218
+
219
+ (0, _createClass3.default)(ShopMemberStorage, [{
220
+ key: 'componentDidMount',
221
+ value: function componentDidMount() {
222
+ window.addEventListener('resize', this.windowOnresize);
223
+ $.on(this.hotKeyListener);
224
+ this.ms.searchValue = ''; //初始化完成筛选列表清空数据(会员新增成功——封涛)
225
+ }
226
+ }, {
227
+ key: 'componentDidUpdate',
228
+ value: function componentDidUpdate() {
229
+ var _state = this.state,
230
+ memberTabHeight = _state.memberTabHeight,
231
+ tabMenuHeight = _state.tabMenuHeight;
232
+
233
+ var clientHeight = this.memberTab.clientHeight - tabMenuHeight;
234
+ if (clientHeight !== memberTabHeight) {
235
+ this.setState({ memberTabHeight: clientHeight });
236
+ }
237
+ }
238
+ }, {
239
+ key: 'componentWillUnmount',
240
+ value: function componentWillUnmount() {
241
+ this.willUnmount = true;
242
+ window.removeEventListener('resize', this.windowOnresize);
243
+ // swiperSelectObserver.disconnect();
244
+ $.off(this.hotKeyListener);
245
+ }
246
+
247
+ // 获取储值卡信息
248
+
249
+ }, {
250
+ key: 'render',
251
+ value: function render() {
252
+ var _this2 = this;
253
+
254
+ var isUserAndroidKey = !!window.android_setKeyBoard;
255
+ var _state2 = this.state,
256
+ searchValue = _state2.searchValue,
257
+ _state2$memberTabHeig = _state2.memberTabHeight,
258
+ memberTabHeight = _state2$memberTabHeig === undefined ? 0 : _state2$memberTabHeig,
259
+ initEmpty = _state2.initEmpty,
260
+ loadingBtn = _state2.loadingBtn,
261
+ selected = _state2.selected,
262
+ isAllAuthority = _state2.isAllAuthority,
263
+ cardList = _state2.cardList;
264
+ var _props = this.props,
265
+ status = _props.status,
266
+ showModal = _props.showModal,
267
+ titleModal = _props.titleModal,
268
+ type = _props.type,
269
+ defaultActiveKey = _props.defaultActiveKey,
270
+ onCancel = _props.onCancel,
271
+ authProcess = _props.authProcess,
272
+ mode = _props.mode,
273
+ title = _props.title,
274
+ storeKey = _props.storeKey;
275
+
276
+ var showSearch = ['会员查询'].includes(type);
277
+ var noList = !cardList.length;
278
+ var showSelectBtn = type === '会员查询' || !!status;
279
+ //是否正常开单
280
+ var voucherStateType = mode !== 'practice';
281
+ var searchClassName = _tplusComponentsTouch.hotKey.hotKeyNotFilter('search-input');
282
+ var memberTabClassName = _tplusComponentsTouch.hotKey.hotKeyBindClass('10', 'member-shop-content');
283
+
284
+ return _react2.default.createElement(
285
+ 'div',
286
+ { className: 'memberShopContainer' },
287
+ showSearch && _react2.default.createElement(
288
+ 'div',
289
+ { className: 'search-container' },
290
+ _react2.default.createElement(_tplusComponentsTouch.Input, {
291
+ tplusInput: true,
292
+ placeholder: '\u5361\u53F7',
293
+ prefix: 'sousuo',
294
+ className: searchClassName + ' android_focus_keyboard',
295
+ value: searchValue,
296
+ type: 'native',
297
+ onChange: function onChange(_ref3) {
298
+ var searchValue = _ref3.target.value;
299
+ return _this2.setState({ searchValue: searchValue });
300
+ },
301
+ inputRef: function inputRef(ref) {
302
+ return _this2.searchRef = ref;
303
+ },
304
+ onClear: function onClear() {
305
+ return _this2.onClear('searchValue', _this2.searchRef);
306
+ },
307
+ onFocus: function onFocus(_ref4) {
308
+ var target = _ref4.target;
309
+
310
+ if (!isUserAndroidKey) {
311
+ _this2.focusInputName = 'searchValue';
312
+ _this2.inputTarget = target;
313
+ _tplusComponentsTouch.Keyboard.open(function (v) {
314
+ var key = _this2.focusInputName;
315
+ var value = _tplusComponentsTouch.Keyboard.getNewValue(_this2.inputTarget, _this2.inputTarget.value, v);
316
+ _this2.setState((0, _defineProperty3.default)({}, key, value));
317
+ }, _this2.keyboardOnOk, _this2.keyboardOnClose)();
318
+ }
319
+ },
320
+ onBlur: _tplusComponentsTouch.Keyboard.close,
321
+ onKeyDown: this.onKeyPressed
322
+ }),
323
+ _react2.default.createElement(
324
+ _button2.default,
325
+ { className: 'primary-btn', onClick: this.handleSearchClick },
326
+ '\u641C\u7D22'
327
+ )
328
+ ),
329
+ _react2.default.createElement(
330
+ 'div',
331
+ {
332
+ ref: function ref(_ref5) {
333
+ return _this2.memberTab = _ref5;
334
+ },
335
+ className: '' + memberTabClassName
336
+ },
337
+ noList && _react2.default.createElement('div', { className: 'empty-data-img' }),
338
+ _react2.default.createElement(_MemberCardList2.default, {
339
+ ref: function ref(list) {
340
+ return _this2.memberCardList = list;
341
+ },
342
+ title: title,
343
+ storeKey: storeKey,
344
+ selected: selected,
345
+ cardList: cardList
346
+ }),
347
+ _react2.default.createElement(
348
+ 'div',
349
+ { className: 'member-content-tab content', style: { display: noList ? 'none' : 'flex' } },
350
+ voucherStateType && !isAllAuthority && _react2.default.createElement(
351
+ 'div',
352
+ null,
353
+ _react2.default.createElement(
354
+ 'div',
355
+ { className: 'menu' },
356
+ _react2.default.createElement(_index4.default, {
357
+ storeKey: storeKey,
358
+ authProcess: authProcess,
359
+ loadingBtn: loadingBtn,
360
+ selected: selected,
361
+ cardList: cardList,
362
+ getCardList: this.getCardList,
363
+ handleChange: this.MemberMenuChange })
364
+ ),
365
+ _react2.default.createElement('div', { className: 'line' })
366
+ ),
367
+ _react2.default.createElement(_index2.default, {
368
+ defaultActiveKey: defaultActiveKey,
369
+ showModal: showModal,
370
+ title: title,
371
+ titleModal: titleModal,
372
+ storeKey: storeKey,
373
+ memberTabHeight: memberTabHeight,
374
+ initEmpty: initEmpty,
375
+ cardList: cardList
376
+ })
377
+ )
378
+ ),
379
+ _react2.default.createElement(
380
+ 'div',
381
+ { className: 'member-footer' },
382
+ _react2.default.createElement(
383
+ _button2.default,
384
+ { onClick: onCancel },
385
+ '\u53D6\u6D88'
386
+ )
387
+ )
388
+ );
389
+ }
390
+ }]);
391
+ return ShopMemberStorage;
392
+ }(_react.Component), _class.defaultProps = {
393
+ onCancel: function onCancel() {}
394
+ }, _class.contextTypes = {
395
+ viewModel: _propTypes2.default.object,
396
+ columnInfo: _propTypes2.default.array
397
+ }, _temp);
398
+ exports.default = ShopMemberStorage;
399
+ //# sourceMappingURL=ShopMemberStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tplus-member/member/ShopMemberStorage.js"],"names":["ShopMemberStorage","props","currentPage","cacheUserRetail","hotKeyListener","nodeName","index","className","indexOf","isHotKeyAction","activeElement","document","blur","observerCard","setTimeout","slideSelected","querySelector","prevSlideSelected","swiperSelectObserver","unobserve","observe","windowOnresize","memberTab","window","removeEventListener","memberTabHeight","state","clientHeight","tabMenuHeight","setState","isNotSetState","Idmember","willUnmount","currentMemberId","getCardList","cardNo","pageSize","Loading","show","target","loadingBtn","ms","getCardInfoByCardNo","then","ret","data","cardList","selected","memberCardList","resetSlideTop","hide","catch","handleSearchClick","searchValue","storeKey","userSearch","undefined","handleSearchChange","val","keyboardOnOk","keyboardOnClose","searchRef","onKeyPressed","e","keyCode","enterKey","MemberMenuChange","dto","memberList","arr","map","item","ID","push","member","onClear","key","input","focus","mode","platform","isNewRetailBCPos","searchStatus","listArr","tabIndex","defaultActiveKey","memberStore","addEventListener","$","on","off","isUserAndroidKey","android_setKeyBoard","initEmpty","isAllAuthority","status","showModal","titleModal","type","onCancel","authProcess","title","showSearch","includes","noList","length","showSelectBtn","voucherStateType","searchClassName","hotKey","hotKeyNotFilter","memberTabClassName","hotKeyBindClass","value","ref","focusInputName","inputTarget","Keyboard","open","getNewValue","v","close","list","display","Component","defaultProps","contextTypes","viewModel","PropTypes","object","columnInfo","array"],"mappings":"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","file":"ShopMemberStorage.js","sourcesContent":["import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button } from 'antd';\r\nimport { ModalWraper, Input, Loading, Message, Ticon, Keyboard, Spin, hotKey } from 'tplus-components-touch';\r\nimport { stores } from 'mutants-microfx';\r\nimport { enumController, platform } from 'mutants-util';\r\nimport memberStore from './api';\r\nimport MemberTab from './memberTab/index.js';\r\nimport './ShopMember.less';\r\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\r\nimport MemberMenuStorage from './memberMenuStorage/index.js'\r\nimport MemberCardList from './MemberCardList'\r\n\r\n// let swiperSelectObserver;\r\n\r\nexport default class ShopMemberStorage extends Component {\r\n static defaultProps = {\r\n onCancel: () => {}\r\n };\r\n\r\n static contextTypes = {\r\n viewModel: PropTypes.object,\r\n columnInfo: PropTypes.array,\r\n };\r\n constructor(props) {\r\n super(props);\r\n const { mode } = this.props;\r\n let { isNewRetailBCPos } = platform || {};\r\n this.state = {\r\n searchValue: '',\r\n searchStatus: !!this.props.listArr ? true : false,\r\n tabIndex: this.props.defaultActiveKey,\r\n tabMenuHeight: mode !== 'practice' ? 64 : 0, // 64为table上部操作菜单高度\r\n cardList: [], // 储值卡列表\r\n };\r\n this.ms = memberStore;\r\n }\r\n\r\n currentPage = 1;\r\n cacheUserRetail = {};\r\n\r\n componentDidMount() {\r\n window.addEventListener('resize', this.windowOnresize);\r\n $.on(this.hotKeyListener);\r\n this.ms.searchValue = '';//初始化完成筛选列表清空数据(会员新增成功——封涛)\r\n }\r\n\r\n componentDidUpdate() {\r\n const {memberTabHeight, tabMenuHeight} = this.state;\r\n const clientHeight = this.memberTab.clientHeight - tabMenuHeight;\r\n if (clientHeight !== memberTabHeight) {\r\n this.setState({memberTabHeight: clientHeight});\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.willUnmount = true;\r\n window.removeEventListener('resize', this.windowOnresize);\r\n // swiperSelectObserver.disconnect();\r\n $.off(this.hotKeyListener);\r\n }\r\n\r\n hotKeyListener = (nodeName, index) => {\r\n if (nodeName && ~nodeName.className.indexOf('slide-selected')) {\r\n this.isHotKeyAction = true;\r\n const activeElement = document.activeElement;\r\n activeElement && activeElement.blur();\r\n }\r\n }\r\n\r\n observerCard = () => {\r\n setTimeout(() => {\r\n const slideSelected = document.querySelector('.slide-selected');\r\n this.prevSlideSelected && swiperSelectObserver.unobserve(this.prevSlideSelected);\r\n this.prevSlideSelected = slideSelected;\r\n slideSelected && swiperSelectObserver.observe(slideSelected);\r\n })\r\n }\r\n windowOnresize = () => {\r\n if (!this.memberTab) {\r\n return window.removeEventListener('resize', this.windowOnresize);\r\n };\r\n const {memberTabHeight} = this.state;\r\n const clientHeight = this.memberTab.clientHeight - this.state.tabMenuHeight;\r\n if (memberTabHeight !== clientHeight) {\r\n this.setState({memberTabHeight: clientHeight});\r\n }\r\n }\r\n\r\n isNotSetState = (Idmember) => {\r\n if (this.willUnmount || Idmember !== this.currentMemberId) return true;\r\n }\r\n\r\n // 获取储值卡信息\r\n getCardList = (cardNo, currentPage = 1, pageSize = 10) => {\r\n Loading.show({ target: '.memberShopContainer' });\r\n this.setState({\r\n loadingBtn: true\r\n })\r\n this.ms.getCardInfoByCardNo(cardNo)\r\n .then(ret => {\r\n const {data = {}} = ret || {}\r\n this.setState({\r\n cardList: [data],\r\n selected: 0,\r\n loadingBtn: false\r\n }, () => {\r\n this.memberCardList.resetSlideTop();\r\n })\r\n Loading.hide();\r\n })\r\n .catch(err => {\r\n this.setState({\r\n loadingBtn: false\r\n })\r\n Loading.hide()\r\n });\r\n }\r\n\r\n handleSearchClick = () => {\r\n const { searchValue } = this.state;\r\n const { storeKey } = this.props\r\n this.userSearch = true;\r\n this.currentPage = 1;\r\n this.setState({ selected: undefined });\r\n this.getCardList(searchValue, this.currentPage)\r\n }\r\n\r\n handleSearchChange = (val) => {\r\n this.setState({searchValue: val});\r\n }\r\n\r\n keyboardOnOk = () => {\r\n this.handleSearchClick();\r\n }\r\n\r\n keyboardOnClose = () => {\r\n this.searchRef && this.searchRef.blur();\r\n }\r\n\r\n onKeyPressed = (e) => {\r\n const { keyCode } = e;\r\n const enterKey = 13;\r\n if (keyCode === enterKey) {\r\n this.handleSearchClick();\r\n this.keyboardOnClose();\r\n }\r\n }\r\n\r\n MemberMenuChange = (dto) => {\r\n const { memberList } = this.state;\r\n userInfoFormat(dto)\r\n let arr = [];\r\n memberList.map(item => {\r\n if (item.ID == dto.ID) {\r\n arr.push(dto)\r\n } else {\r\n arr.push(item)\r\n }\r\n })\r\n this.setState({ member: dto, memberList: arr })\r\n }\r\n\r\n onClear = (key, input) => {\r\n this.setState({[key]: ''});\r\n input.focus();\r\n }\r\n\r\n render() {\r\n const isUserAndroidKey = !! window.android_setKeyBoard;\r\n const { searchValue, memberTabHeight = 0, initEmpty, loadingBtn, selected, isAllAuthority, cardList } = this.state;\r\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, authProcess, mode, title, storeKey } = this.props;\r\n const showSearch = ['会员查询'].includes(type);\r\n const noList = !cardList.length;\r\n const showSelectBtn = type === '会员查询' || !!status;\r\n //是否正常开单\r\n let voucherStateType = (mode !== 'practice');\r\n const searchClassName = hotKey.hotKeyNotFilter('search-input')\r\n const memberTabClassName = hotKey.hotKeyBindClass('10', 'member-shop-content')\r\n \r\n return (\r\n <div className='memberShopContainer'>\r\n {\r\n showSearch &&\r\n <div className='search-container'>\r\n <Input\r\n tplusInput\r\n placeholder='卡号'\r\n prefix='sousuo'\r\n className={`${searchClassName} android_focus_keyboard`}\r\n value={searchValue}\r\n type='native'\r\n onChange={\r\n ({ target: { value: searchValue } }) => this.setState({ searchValue })\r\n }\r\n inputRef={ref => this.searchRef = ref}\r\n onClear={() => this.onClear('searchValue', this.searchRef)}\r\n onFocus={({ target }) => {\r\n if(!isUserAndroidKey ){\r\n this.focusInputName = 'searchValue';\r\n this.inputTarget = target;\r\n Keyboard.open(v => {\r\n const key = this.focusInputName;\r\n const value = Keyboard.getNewValue(this.inputTarget, this.inputTarget.value, v);\r\n this.setState({ [key]: value });\r\n }, this.keyboardOnOk, this.keyboardOnClose)();\r\n }\r\n }}\r\n onBlur={Keyboard.close}\r\n onKeyDown={this.onKeyPressed}\r\n />\r\n <Button className='primary-btn' onClick={this.handleSearchClick}>搜索</Button>\r\n </div>\r\n }\r\n <div \r\n ref={ref => this.memberTab = ref} \r\n className={`${memberTabClassName}`}\r\n >\r\n {\r\n noList && <div className='empty-data-img' />\r\n }\r\n <MemberCardList \r\n ref={list => this.memberCardList = list}\r\n title={title}\r\n storeKey={storeKey}\r\n selected={selected}\r\n cardList={cardList}\r\n />\r\n \r\n <div className='member-content-tab content' style={{ display: noList ? 'none' : 'flex' }}>\r\n {\r\n (voucherStateType && !isAllAuthority) &&\r\n <div>\r\n <div className='menu'>\r\n <MemberMenuStorage \r\n storeKey={storeKey}\r\n authProcess={authProcess}\r\n loadingBtn={loadingBtn} \r\n selected={selected} \r\n cardList={cardList}\r\n getCardList={this.getCardList}\r\n handleChange={this.MemberMenuChange} />\r\n </div>\r\n <div className='line'></div>\r\n </div>\r\n }\r\n <MemberTab\r\n defaultActiveKey={defaultActiveKey}\r\n showModal={showModal}\r\n title={title}\r\n titleModal={titleModal}\r\n storeKey={storeKey}\r\n memberTabHeight={memberTabHeight}\r\n initEmpty={initEmpty}\r\n cardList={cardList}\r\n />\r\n </div>\r\n </div>\r\n <div className='member-footer'>\r\n <Button onClick={onCancel}>取消</Button>\r\n </div>\r\n </div>\r\n )\r\n }\r\n}\r\n"]}