tplus-member 3.50.1 → 3.52.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -78,13 +78,31 @@
78
78
  line-height: 65px;
79
79
  display: flex;
80
80
  align-items: center;
81
+ .temp {
82
+ padding-right: 30px;
83
+ .tplus-input-clear {
84
+ display: none;
85
+ }
86
+ }
81
87
  .search-input{
82
- margin-right: 20px;
88
+ margin-right: -28px;
83
89
  width: 270px;
84
90
  input{
85
91
  padding-left: 0;
86
92
  }
87
93
  }
94
+ .primary-btn {
95
+ margin-left: 50px;
96
+ }
97
+ .icon {
98
+ position: absolute;
99
+ left: 250px;
100
+ font-size: 20px;
101
+ color : @color-g2;
102
+ cursor : pointer;
103
+ margin-left: 8px;
104
+ margin-right: 8px;
105
+ }
88
106
  }
89
107
  .member-shop-content{
90
108
  display: flex;
@@ -9,6 +9,10 @@ var _button = require('antd/es/button');
9
9
 
10
10
  var _button2 = _interopRequireDefault(_button);
11
11
 
12
+ var _extends2 = require('babel-runtime/helpers/extends');
13
+
14
+ var _extends3 = _interopRequireDefault(_extends2);
15
+
12
16
  var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
13
17
 
14
18
  var _defineProperty3 = _interopRequireDefault(_defineProperty2);
@@ -73,6 +77,8 @@ var _MemberCardList2 = _interopRequireDefault(_MemberCardList);
73
77
 
74
78
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
75
79
 
80
+ var hasElectron = _mutantsMicrofx.env.platform === _mutantsMicrofx.env.constant.platform.electron;
81
+
76
82
  // let swiperSelectObserver;
77
83
 
78
84
  var ShopMemberStorage = (_temp = _class = function (_Component) {
@@ -81,45 +87,63 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
81
87
  function ShopMemberStorage(props) {
82
88
  (0, _classCallCheck3.default)(this, ShopMemberStorage);
83
89
 
84
- var _this = (0, _possibleConstructorReturn3.default)(this, (ShopMemberStorage.__proto__ || (0, _getPrototypeOf2.default)(ShopMemberStorage)).call(this, props));
90
+ var _this2 = (0, _possibleConstructorReturn3.default)(this, (ShopMemberStorage.__proto__ || (0, _getPrototypeOf2.default)(ShopMemberStorage)).call(this, props));
91
+
92
+ _this2.currentPage = 1;
93
+ _this2.cacheUserRetail = {};
85
94
 
86
- _this.currentPage = 1;
87
- _this.cacheUserRetail = {};
95
+ _this2.handleReadICard = function () {
96
+ _this2.readRfCard();
97
+ };
98
+
99
+ _this2.changeScanProduct = function () {
100
+ if (_this2.scanObj) _this2.scanObj.startScan();
101
+ };
88
102
 
89
- _this.hotKeyListener = function (nodeName, index) {
103
+ _this2.onScanCzkResult = function (val) {
104
+ var _this = _this2;
105
+ _this2.setState({
106
+ searchValue: val
107
+ });
108
+ setTimeout(function () {
109
+ _this.getCardList(val);
110
+ }, 0);
111
+ };
112
+
113
+ _this2.hotKeyListener = function (nodeName, index) {
90
114
  if (nodeName && ~nodeName.className.indexOf('slide-selected')) {
91
- _this.isHotKeyAction = true;
115
+ _this2.isHotKeyAction = true;
92
116
  var activeElement = document.activeElement;
93
117
  activeElement && activeElement.blur();
94
118
  }
95
119
  };
96
120
 
97
- _this.observerCard = function () {
121
+ _this2.observerCard = function () {
98
122
  setTimeout(function () {
99
123
  var slideSelected = document.querySelector('.slide-selected');
100
- _this.prevSlideSelected && swiperSelectObserver.unobserve(_this.prevSlideSelected);
101
- _this.prevSlideSelected = slideSelected;
124
+ _this2.prevSlideSelected && swiperSelectObserver.unobserve(_this2.prevSlideSelected);
125
+ _this2.prevSlideSelected = slideSelected;
102
126
  slideSelected && swiperSelectObserver.observe(slideSelected);
103
127
  });
104
128
  };
105
129
 
106
- _this.windowOnresize = function () {
107
- if (!_this.memberTab) {
108
- return window.removeEventListener('resize', _this.windowOnresize);
130
+ _this2.windowOnresize = function () {
131
+ if (!_this2.memberTab) {
132
+ return window.removeEventListener('resize', _this2.windowOnresize);
109
133
  };
110
- var memberTabHeight = _this.state.memberTabHeight;
134
+ var memberTabHeight = _this2.state.memberTabHeight;
111
135
 
112
- var clientHeight = _this.memberTab.clientHeight - _this.state.tabMenuHeight;
136
+ var clientHeight = _this2.memberTab.clientHeight - _this2.state.tabMenuHeight;
113
137
  if (memberTabHeight !== clientHeight) {
114
- _this.setState({ memberTabHeight: clientHeight });
138
+ _this2.setState({ memberTabHeight: clientHeight });
115
139
  }
116
140
  };
117
141
 
118
- _this.isNotSetState = function (Idmember) {
119
- if (_this.willUnmount || Idmember !== _this.currentMemberId) return true;
142
+ _this2.isNotSetState = function (Idmember) {
143
+ if (_this2.willUnmount || Idmember !== _this2.currentMemberId) return true;
120
144
  };
121
145
 
122
- _this.getCardList = function (cardNo) {
146
+ _this2.getCardList = function (cardNo) {
123
147
  var currentPage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
124
148
  var pageSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10;
125
149
  var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
@@ -130,25 +154,25 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
130
154
  return;
131
155
  }
132
156
  _tplusComponentsTouch.Loading.show({ target: '.memberShopContainer' });
133
- _this.setState({
157
+ _this2.setState({
134
158
  loadingBtn: true
135
159
  });
136
- _this.ms.getCardInfoByCardNo(cardNo).then(function (ret) {
160
+ _this2.ms.getCardInfoByCardNo(cardNo).then(function (ret) {
137
161
  var _ref = ret || {},
138
162
  _ref$data = _ref.data,
139
163
  data = _ref$data === undefined ? [] : _ref$data;
140
164
 
141
165
  if (data.length) {
142
- _this.setState({
166
+ _this2.setState({
143
167
  cardList: data,
144
168
  selected: 0,
145
169
  loadingBtn: false
146
170
  }, function () {
147
- _this.setCardInfo(currentPage === 1 ? 0 : key, data[0]);
148
- _this.memberCardList.resetSlideTop();
171
+ _this2.setCardInfo(currentPage === 1 ? 0 : key, data[0]);
172
+ _this2.memberCardList.resetSlideTop();
149
173
  });
150
174
  } else {
151
- _this.setCardInfo(key);
175
+ _this2.setCardInfo(key);
152
176
  }
153
177
 
154
178
  _tplusComponentsTouch.Loading.hide();
@@ -161,20 +185,20 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
161
185
  content: '\u8BF7\u8F93\u5165\u5361\u53F7\uFF01'
162
186
  });
163
187
  }
164
- _this.setCardInfo(key);
165
- _this.setState({
188
+ _this2.setCardInfo(key);
189
+ _this2.setState({
166
190
  loadingBtn: false
167
191
  });
168
192
  _tplusComponentsTouch.Loading.hide();
169
193
  });
170
194
  };
171
195
 
172
- _this.loadUserInfo = function (ID) {
196
+ _this2.loadUserInfo = function (ID) {
173
197
  // this.observerCard();
174
198
 
175
- _this.ms.getGetUmemberDTO(ID).then(function (ret) {
199
+ _this2.ms.getGetUmemberDTO(ID).then(function (ret) {
176
200
  _mutantsMicrofx.stores.selectMemberStore.setCurMemberInfo(ret);
177
- var memberChange = _this.props.memberChange;
201
+ var memberChange = _this2.props.memberChange;
178
202
 
179
203
  memberChange && memberChange(ret);
180
204
  }).catch(function (err) {
@@ -182,50 +206,50 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
182
206
  });
183
207
  };
184
208
 
185
- _this.setCardInfo = function (key) {
209
+ _this2.setCardInfo = function (key) {
186
210
  var cardInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
187
211
 
188
- _this.setState({
212
+ _this2.setState({
189
213
  selected: key,
190
214
  cardInfo: cardInfo
191
215
  });
192
216
  };
193
217
 
194
- _this.handleSearchClick = function () {
195
- var _this$state = _this.state,
196
- searchValue = _this$state.searchValue,
197
- selected = _this$state.selected;
218
+ _this2.handleSearchClick = function () {
219
+ var _this2$state = _this2.state,
220
+ searchValue = _this2$state.searchValue,
221
+ selected = _this2$state.selected;
198
222
 
199
- _this.userSearch = true;
200
- _this.currentPage = 1;
223
+ _this2.userSearch = true;
224
+ _this2.currentPage = 1;
201
225
  // this.setState({ selected: undefined });
202
- _this.getCardList(searchValue, _this.currentPage, 10, selected);
226
+ _this2.getCardList(searchValue, _this2.currentPage, 10, selected);
203
227
  };
204
228
 
205
- _this.handleSearchChange = function (val) {
206
- _this.setState({ searchValue: val });
229
+ _this2.handleSearchChange = function (val) {
230
+ _this2.setState({ searchValue: val });
207
231
  };
208
232
 
209
- _this.keyboardOnOk = function () {
210
- _this.handleSearchClick();
233
+ _this2.keyboardOnOk = function () {
234
+ _this2.handleSearchClick();
211
235
  };
212
236
 
213
- _this.keyboardOnClose = function () {
214
- _this.searchRef && _this.searchRef.blur();
237
+ _this2.keyboardOnClose = function () {
238
+ _this2.searchRef && _this2.searchRef.blur();
215
239
  };
216
240
 
217
- _this.onKeyPressed = function (e) {
241
+ _this2.onKeyPressed = function (e) {
218
242
  var keyCode = e.keyCode;
219
243
 
220
244
  var enterKey = 13;
221
245
  if (keyCode === enterKey) {
222
- _this.handleSearchClick();
223
- _this.keyboardOnClose();
246
+ _this2.handleSearchClick();
247
+ _this2.keyboardOnClose();
224
248
  }
225
249
  };
226
250
 
227
- _this.MemberMenuChange = function (dto) {
228
- var memberList = _this.state.memberList;
251
+ _this2.MemberMenuChange = function (dto) {
252
+ var memberList = _this2.state.memberList;
229
253
 
230
254
  (0, _utils.userInfoFormat)(dto);
231
255
  var arr = [];
@@ -236,31 +260,48 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
236
260
  arr.push(item);
237
261
  }
238
262
  });
239
- _this.setState({ member: dto, memberList: arr });
263
+ _this2.setState({ member: dto, memberList: arr });
240
264
  };
241
265
 
242
- _this.onClear = function (key, input) {
243
- _this.setState((0, _defineProperty3.default)({}, key, ''));
266
+ _this2.onClear = function (key, input) {
267
+ _this2.setState((0, _defineProperty3.default)({}, key, ''));
244
268
  input.focus();
245
269
  };
246
270
 
247
- var mode = _this.props.mode;
271
+ var mode = _this2.props.mode;
272
+
273
+ _this2.hasElectron = hasElectron;
248
274
 
249
- _this.state = {
275
+ var _ref2 = _mutantsMicrofx.stores.user.options.get('loginInfo') || {},
276
+ ICCardServer = _ref2.ICCardServer,
277
+ ICCardPassword = _ref2.ICCardPassword;
278
+
279
+ _this2.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用
280
+ _this2.iCCardPassword = ICCardPassword; //IC卡密码
281
+ _this2.state = {
250
282
  searchValue: '',
251
- searchStatus: !!_this.props.listArr ? true : false,
252
- tabIndex: _this.props.defaultActiveKey,
283
+ searchStatus: !!_this2.props.listArr ? true : false,
284
+ tabIndex: _this2.props.defaultActiveKey,
253
285
  tabMenuHeight: mode !== 'practice' ? 64 : 0, // 64为table上部操作菜单高度
254
286
  cardList: [], // 储值卡列表
255
- cardInfo: {} // 当前被选中的卡信息
287
+ cardInfo: {}, // 当前被选中的卡信息
288
+ connectCardStatus: false, //连接IC卡状态
289
+ connectCardError: '' //连接IC卡错误后记录错误信息
256
290
  };
257
- _this.ms = _api2.default;
258
- return _this;
291
+ _this2.ms = _api2.default;
292
+ //移动端环境下,没有读取IC卡的方式。
293
+
294
+ var _ref3 = _mutantsUtil.platform || {},
295
+ isHorizontalPad = _ref3.isHorizontalPad;
296
+
297
+ _this2.isHorizontalPad = !!isHorizontalPad;
298
+ return _this2;
259
299
  }
260
300
 
261
301
  (0, _createClass3.default)(ShopMemberStorage, [{
262
302
  key: 'componentDidMount',
263
303
  value: function componentDidMount() {
304
+ this.connectRfCard();
264
305
  window.addEventListener('resize', this.windowOnresize);
265
306
  $.on(this.hotKeyListener);
266
307
  this.ms.searchValue = ''; //初始化完成筛选列表清空数据(会员新增成功——封涛)
@@ -285,6 +326,63 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
285
326
  // swiperSelectObserver.disconnect();
286
327
  $.off(this.hotKeyListener);
287
328
  }
329
+ }, {
330
+ key: 'readRfCard',
331
+
332
+ //IC卡读取
333
+ value: function readRfCard() {
334
+ var _this3 = this;
335
+
336
+ //客户端环境下,并开启了启用IC卡。
337
+ if (this.hasElectron === true && this.iCCardServer === 1) {
338
+ var _state2 = this.state,
339
+ connectCardStatus = _state2.connectCardStatus,
340
+ connectCardError = _state2.connectCardError;
341
+
342
+ if (connectCardStatus === false) {
343
+ _tplusComponentsTouch.Message.error(connectCardError ? connectCardError : '读取IC卡失败');
344
+ this.connectRfCard(); //读取失败后,重新连接一下。
345
+ return;
346
+ }
347
+ var params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 };
348
+ _mutantsMicrofx.nativeMs.setIpcRendererMethod('ReadRfCard', (0, _extends3.default)({}, params), function (ret) {
349
+ if (ret.status === 0) {
350
+ _tplusComponentsTouch.Message.error(ret.value);
351
+ _this3.connectRfCard(); //读取失败后,重新连接一下。
352
+ return;
353
+ } else if (ret.status === 1) {
354
+ _this3.setState({
355
+ searchValue: ret.value
356
+ });
357
+ _this3.getCardList(ret.value);
358
+ }
359
+ });
360
+ }
361
+ }
362
+
363
+ //IC卡连接
364
+
365
+ }, {
366
+ key: 'connectRfCard',
367
+ value: function connectRfCard() {
368
+ var _this4 = this;
369
+
370
+ //客户端环境下,并开启了启用IC卡。
371
+ if (this.hasElectron === true && this.iCCardServer === 1) {
372
+ _mutantsMicrofx.nativeMs.setIpcRendererMethod('ConnectRfCard', null, function (ret) {
373
+ var result = {};
374
+ if (ret.status === 0) {
375
+ result = { connectCardStatus: false, connectCardError: ret.value };
376
+ } else {
377
+ result = { connectCardStatus: true, connectCardError: '' };
378
+ }
379
+ _this4.setState(result);
380
+ });
381
+ }
382
+ }
383
+
384
+ //移动端:扫描商品
385
+
288
386
 
289
387
  // 获取储值卡信息
290
388
 
@@ -294,19 +392,19 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
294
392
  }, {
295
393
  key: 'render',
296
394
  value: function render() {
297
- var _this2 = this;
395
+ var _this5 = this;
298
396
 
299
397
  var isUserAndroidKey = !!window.android_setKeyBoard;
300
- var _state2 = this.state,
301
- searchValue = _state2.searchValue,
302
- _state2$memberTabHeig = _state2.memberTabHeight,
303
- memberTabHeight = _state2$memberTabHeig === undefined ? 0 : _state2$memberTabHeig,
304
- initEmpty = _state2.initEmpty,
305
- loadingBtn = _state2.loadingBtn,
306
- selected = _state2.selected,
307
- isAllAuthority = _state2.isAllAuthority,
308
- cardList = _state2.cardList,
309
- cardInfo = _state2.cardInfo;
398
+ var _state3 = this.state,
399
+ searchValue = _state3.searchValue,
400
+ _state3$memberTabHeig = _state3.memberTabHeight,
401
+ memberTabHeight = _state3$memberTabHeig === undefined ? 0 : _state3$memberTabHeig,
402
+ initEmpty = _state3.initEmpty,
403
+ loadingBtn = _state3.loadingBtn,
404
+ selected = _state3.selected,
405
+ isAllAuthority = _state3.isAllAuthority,
406
+ cardList = _state3.cardList,
407
+ cardInfo = _state3.cardInfo;
310
408
  var _props = this.props,
311
409
  status = _props.status,
312
410
  showModal = _props.showModal,
@@ -337,35 +435,42 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
337
435
  tplusInput: true,
338
436
  placeholder: '\u5361\u53F7/\u624B\u673A\u53F7',
339
437
  prefix: 'sousuo',
340
- className: searchClassName + ' android_focus_keyboard',
438
+ className: searchClassName + ' android_focus_keyboard ' + (this.hasElectron === true && this.iCCardServer === 1 || this.isHorizontalPad === true ? 'temp' : ''),
341
439
  value: searchValue,
342
440
  type: 'native',
343
- onChange: function onChange(_ref2) {
344
- var searchValue = _ref2.target.value;
345
- return _this2.setState({ searchValue: searchValue });
441
+ onChange: function onChange(_ref4) {
442
+ var searchValue = _ref4.target.value;
443
+ return _this5.setState({ searchValue: searchValue });
346
444
  },
347
445
  inputRef: function inputRef(ref) {
348
- return _this2.searchRef = ref;
446
+ return _this5.searchRef = ref;
349
447
  },
350
448
  onClear: function onClear() {
351
- return _this2.onClear('searchValue', _this2.searchRef);
449
+ return _this5.onClear('searchValue', _this5.searchRef);
352
450
  },
353
- onFocus: function onFocus(_ref3) {
354
- var target = _ref3.target;
451
+ onFocus: function onFocus(_ref5) {
452
+ var target = _ref5.target;
355
453
 
356
454
  if (!isUserAndroidKey) {
357
- _this2.focusInputName = 'searchValue';
358
- _this2.inputTarget = target;
455
+ _this5.focusInputName = 'searchValue';
456
+ _this5.inputTarget = target;
359
457
  _tplusComponentsTouch.Keyboard.open(function (v) {
360
- var key = _this2.focusInputName;
361
- var value = _tplusComponentsTouch.Keyboard.getNewValue(_this2.inputTarget, _this2.inputTarget.value, v);
362
- _this2.setState((0, _defineProperty3.default)({}, key, value));
363
- }, _this2.keyboardOnOk, _this2.keyboardOnClose)();
458
+ var key = _this5.focusInputName;
459
+ var value = _tplusComponentsTouch.Keyboard.getNewValue(_this5.inputTarget, _this5.inputTarget.value, v);
460
+ _this5.setState((0, _defineProperty3.default)({}, key, value));
461
+ }, _this5.keyboardOnOk, _this5.keyboardOnClose)();
364
462
  }
365
463
  },
366
464
  onBlur: _tplusComponentsTouch.Keyboard.close,
367
465
  onKeyDown: this.onKeyPressed
368
466
  }),
467
+ this.hasElectron === true && this.iCCardServer === 1 && _react2.default.createElement(_tplusComponentsTouch.Ticon, { className: 'icon', onClick: this.handleReadICard, type: 'ICka' }),
468
+ this.isHorizontalPad && _react2.default.createElement(_tplusComponentsTouch.Ticon, { type: 'saomiao1', className: 'icon', onClick: this.changeScanProduct }),
469
+
470
+ /* 扫描组件 */
471
+ this.isHorizontalPad && _react2.default.createElement(Scan, { ref: function ref(scan) {
472
+ return _this5.scanObj = scan;
473
+ }, onChange: this.onScanCzkResult }),
369
474
  _react2.default.createElement(
370
475
  _button2.default,
371
476
  { className: 'primary-btn', onClick: this.handleSearchClick },
@@ -375,15 +480,15 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
375
480
  _react2.default.createElement(
376
481
  'div',
377
482
  {
378
- ref: function ref(_ref4) {
379
- return _this2.memberTab = _ref4;
483
+ ref: function ref(_ref6) {
484
+ return _this5.memberTab = _ref6;
380
485
  },
381
486
  className: '' + memberTabClassName
382
487
  },
383
488
  noList && _react2.default.createElement('div', { className: 'empty-data-img storage-empty-data-img' }),
384
489
  _react2.default.createElement(_MemberCardList2.default, {
385
490
  ref: function ref(list) {
386
- return _this2.memberCardList = list;
491
+ return _this5.memberCardList = list;
387
492
  },
388
493
  title: title,
389
494
  storeKey: storeKey,
@@ -1 +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","key","replace","length","Message","error","Loading","show","target","loadingBtn","ms","getCardInfoByCardNo","then","ret","data","cardList","selected","setCardInfo","memberCardList","resetSlideTop","hide","catch","message","err","includes","ModalWraper","warning","title","content","loadUserInfo","ID","getGetUmemberDTO","stores","selectMemberStore","setCurMemberInfo","memberChange","warn","cardInfo","handleSearchClick","searchValue","userSearch","handleSearchChange","val","keyboardOnOk","keyboardOnClose","searchRef","onKeyPressed","e","keyCode","enterKey","MemberMenuChange","dto","memberList","arr","map","item","push","member","onClear","input","focus","mode","searchStatus","listArr","tabIndex","defaultActiveKey","memberStore","addEventListener","$","on","off","isUserAndroidKey","android_setKeyBoard","initEmpty","isAllAuthority","status","showModal","titleModal","type","onCancel","authProcess","storeKey","showSearch","noList","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 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 cardInfo: {}, // 当前被选中的卡信息\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, key = 0) => {\r\n cardNo = cardNo.replace(/\\s+/g,\"\")\r\n if (cardNo.length === 0) {\r\n Message.error('请输入卡号')\r\n return\r\n }\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 if (data.length) {\r\n this.setState({\r\n cardList: data,\r\n selected: 0,\r\n loadingBtn: false\r\n }, () => {\r\n this.setCardInfo(currentPage === 1 ? 0 : key, data[0])\r\n this.memberCardList.resetSlideTop();\r\n })\r\n } else {\r\n this.setCardInfo(key)\r\n }\r\n \r\n Loading.hide();\r\n })\r\n .catch(err => {\r\n const { message } = err\r\n if (message.includes('code 404')) {\r\n ModalWraper.warning({\r\n title: '提示',\r\n content: `请输入卡号!`\r\n })\r\n }\r\n this.setCardInfo(key)\r\n this.setState({\r\n loadingBtn: false\r\n })\r\n Loading.hide()\r\n });\r\n }\r\n\r\n loadUserInfo = (ID) => {\r\n // this.observerCard();\r\n\r\n this.ms.getGetUmemberDTO(ID)\r\n .then(ret => {\r\n stores.selectMemberStore.setCurMemberInfo(ret);\r\n const { memberChange } = this.props;\r\n memberChange && memberChange(ret);\r\n }).catch(err => {\r\n Message.warn('会员信息更新失败!')\r\n });\r\n }\r\n\r\n // 设置当前被选中的卡信息\r\n setCardInfo = (key, cardInfo = {}) => {\r\n this.setState({\r\n selected: key,\r\n cardInfo\r\n })\r\n }\r\n\r\n handleSearchClick = () => {\r\n const { searchValue, selected } = this.state;\r\n this.userSearch = true;\r\n this.currentPage = 1;\r\n // this.setState({ selected: undefined });\r\n this.getCardList(searchValue, this.currentPage, 10, selected)\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, cardInfo } = 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 storage-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 setCardInfo={this.setCardInfo}\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 loadUserInfo={this.loadUserInfo}\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 selected={selected}\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"]}
1
+ {"version":3,"sources":["tplus-member/member/ShopMemberStorage.js"],"names":["hasElectron","env","platform","constant","electron","ShopMemberStorage","props","currentPage","cacheUserRetail","handleReadICard","readRfCard","changeScanProduct","scanObj","startScan","onScanCzkResult","val","_this","setState","searchValue","setTimeout","getCardList","hotKeyListener","nodeName","index","className","indexOf","isHotKeyAction","activeElement","document","blur","observerCard","slideSelected","querySelector","prevSlideSelected","swiperSelectObserver","unobserve","observe","windowOnresize","memberTab","window","removeEventListener","memberTabHeight","state","clientHeight","tabMenuHeight","isNotSetState","Idmember","willUnmount","currentMemberId","cardNo","pageSize","key","replace","length","Message","error","Loading","show","target","loadingBtn","ms","getCardInfoByCardNo","then","ret","data","cardList","selected","setCardInfo","memberCardList","resetSlideTop","hide","catch","message","err","includes","ModalWraper","warning","title","content","loadUserInfo","ID","getGetUmemberDTO","stores","selectMemberStore","setCurMemberInfo","memberChange","warn","cardInfo","handleSearchClick","userSearch","handleSearchChange","keyboardOnOk","keyboardOnClose","searchRef","onKeyPressed","e","keyCode","enterKey","MemberMenuChange","dto","memberList","arr","map","item","push","member","onClear","input","focus","mode","user","options","get","ICCardServer","ICCardPassword","iCCardServer","parseInt","iCCardPassword","searchStatus","listArr","tabIndex","defaultActiveKey","connectCardStatus","connectCardError","memberStore","isHorizontalPad","connectRfCard","addEventListener","$","on","off","params","cardPsw","cardSec","cardKm","nativeMs","setIpcRendererMethod","status","value","result","isUserAndroidKey","android_setKeyBoard","initEmpty","isAllAuthority","showModal","titleModal","type","onCancel","authProcess","storeKey","showSearch","noList","showSelectBtn","voucherStateType","searchClassName","hotKey","hotKeyNotFilter","memberTabClassName","hotKeyBindClass","ref","focusInputName","inputTarget","Keyboard","open","getNewValue","v","close","scan","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, env, nativeMs } 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\nconst hasElectron = (env.platform === env.constant.platform.electron);\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 this.hasElectron = hasElectron;\r\n const { ICCardServer, ICCardPassword } = stores.user.options.get('loginInfo') || {};\r\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\r\n this.iCCardPassword = ICCardPassword; //IC卡密码\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 cardInfo: {}, // 当前被选中的卡信息\r\n connectCardStatus: false, //连接IC卡状态\r\n connectCardError: '', //连接IC卡错误后记录错误信息\r\n };\r\n this.ms = memberStore;\r\n //移动端环境下,没有读取IC卡的方式。\r\n const { isHorizontalPad } = platform || {};\r\n this.isHorizontalPad = !!isHorizontalPad;\r\n }\r\n\r\n currentPage = 1;\r\n cacheUserRetail = {};\r\n\r\n componentDidMount() {\r\n this.connectRfCard();\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 handleReadICard = () => {\r\n this.readRfCard();\r\n }\r\n //IC卡读取\r\n readRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n const { connectCardStatus, connectCardError } = this.state;\r\n if (connectCardStatus === false) {\r\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n }\r\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\r\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\r\n if (ret.status === 0) {\r\n Message.error(ret.value);\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n } else if (ret.status === 1) {\r\n this.setState({\r\n searchValue: ret.value\r\n })\r\n this.getCardList(ret.value);\r\n }\r\n })\r\n }\r\n }\r\n\r\n //IC卡连接\r\n connectRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\r\n let result = {}\r\n if (ret.status === 0) {\r\n result = { connectCardStatus: false, connectCardError: ret.value }\r\n } else {\r\n result = { connectCardStatus: true, connectCardError: '' };\r\n }\r\n this.setState(result)\r\n })\r\n }\r\n }\r\n\r\n //移动端:扫描商品\r\n changeScanProduct = () => {\r\n if (this.scanObj) this.scanObj.startScan()\r\n }\r\n\r\n onScanCzkResult = (val) => {\r\n let _this = this;\r\n this.setState({\r\n searchValue: val\r\n })\r\n setTimeout(() => { _this.getCardList(val) }, 0)\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, key = 0) => {\r\n cardNo = cardNo.replace(/\\s+/g,\"\")\r\n if (cardNo.length === 0) {\r\n Message.error('请输入卡号')\r\n return\r\n }\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 if (data.length) {\r\n this.setState({\r\n cardList: data,\r\n selected: 0,\r\n loadingBtn: false\r\n }, () => {\r\n this.setCardInfo(currentPage === 1 ? 0 : key, data[0])\r\n this.memberCardList.resetSlideTop();\r\n })\r\n } else {\r\n this.setCardInfo(key)\r\n }\r\n \r\n Loading.hide();\r\n })\r\n .catch(err => {\r\n const { message } = err\r\n if (message.includes('code 404')) {\r\n ModalWraper.warning({\r\n title: '提示',\r\n content: `请输入卡号!`\r\n })\r\n }\r\n this.setCardInfo(key)\r\n this.setState({\r\n loadingBtn: false\r\n })\r\n Loading.hide()\r\n });\r\n }\r\n\r\n loadUserInfo = (ID) => {\r\n // this.observerCard();\r\n\r\n this.ms.getGetUmemberDTO(ID)\r\n .then(ret => {\r\n stores.selectMemberStore.setCurMemberInfo(ret);\r\n const { memberChange } = this.props;\r\n memberChange && memberChange(ret);\r\n }).catch(err => {\r\n Message.warn('会员信息更新失败!')\r\n });\r\n }\r\n\r\n // 设置当前被选中的卡信息\r\n setCardInfo = (key, cardInfo = {}) => {\r\n this.setState({\r\n selected: key,\r\n cardInfo\r\n })\r\n }\r\n\r\n handleSearchClick = () => {\r\n const { searchValue, selected } = this.state;\r\n this.userSearch = true;\r\n this.currentPage = 1;\r\n // this.setState({ selected: undefined });\r\n this.getCardList(searchValue, this.currentPage, 10, selected)\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, cardInfo } = 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 ${(this.hasElectron === true && this.iCCardServer === 1 || this.isHorizontalPad === true) ? 'temp' : ''}`}\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 {\r\n this.hasElectron === true && this.iCCardServer === 1 &&\r\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\r\n }\r\n {\r\n this.isHorizontalPad &&\r\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\r\n }\r\n {\r\n /* 扫描组件 */\r\n this.isHorizontalPad &&\r\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanCzkResult} />\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 storage-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 setCardInfo={this.setCardInfo}\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 loadUserInfo={this.loadUserInfo}\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 selected={selected}\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"]}
@@ -570,7 +570,8 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
570
570
  };
571
571
 
572
572
  //是否单据模式
573
- _this.isVoucherMode = _mutantsMicrofx.localStore && _mutantsMicrofx.localStore.get('voucherDefaultPosMode') == 'voucher';
573
+ var voucherDefaultPosMode = _mutantsMicrofx.localStore && _mutantsMicrofx.localStore.get('voucherDefaultPosMode') || 'touch';
574
+ _this.isVoucherMode = voucherDefaultPosMode == 'voucher';
574
575
  return _this;
575
576
  }
576
577
 
@@ -691,7 +692,7 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
691
692
  _this5.connectRfCard(); //读取失败后,重新连接一下。
692
693
  return;
693
694
  } else if (ret.status === 1) {
694
- _this5.searchMember(ret.value);
695
+ _this5.searchMember(ret.value, 'ok');
695
696
  }
696
697
  });
697
698
  }
@@ -870,7 +871,7 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
870
871
  } },
871
872
  _react2.default.createElement(
872
873
  'div',
873
- { className: 'one' },
874
+ { className: 'one oneDtMember' },
874
875
  dtMember.Name && _react2.default.createElement(
875
876
  'div',
876
877
  { className: 'a' },