tplus-member 3.28.4 → 3.28.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. package/dist/member/ShopMember.less +17 -6
  2. package/package.json +1 -1
  3. package/dist/domain/member/AuthProcess.js +0 -40
  4. package/dist/domain/member/AuthProcess.js.map +0 -1
  5. package/dist/domain/member/CardCodeChangedProcessor.js +0 -35
  6. package/dist/domain/member/CardCodeChangedProcessor.js.map +0 -1
  7. package/dist/domain/member/CheckCardCodeAndCodeProcessor.js +0 -48
  8. package/dist/domain/member/CheckCardCodeAndCodeProcessor.js.map +0 -1
  9. package/dist/domain/member/CheckMobilephoneFormatProcessor.js +0 -38
  10. package/dist/domain/member/CheckMobilephoneFormatProcessor.js.map +0 -1
  11. package/dist/domain/member/CheckPresentAmountProcessor.js +0 -99
  12. package/dist/domain/member/CheckPresentAmountProcessor.js.map +0 -1
  13. package/dist/domain/member/EffectiveDateChangedProcessor.js +0 -57
  14. package/dist/domain/member/EffectiveDateChangedProcessor.js.map +0 -1
  15. package/dist/domain/member/GetThisPresentAmountProcessor.js +0 -112
  16. package/dist/domain/member/GetThisPresentAmountProcessor.js.map +0 -1
  17. package/dist/domain/member/InitDataProcessor.js +0 -153
  18. package/dist/domain/member/InitDataProcessor.js.map +0 -1
  19. package/dist/domain/member/IsMemberEffectiveProcessor.js +0 -45
  20. package/dist/domain/member/IsMemberEffectiveProcessor.js.map +0 -1
  21. package/dist/domain/member/IsMemberEnableProcessor.js +0 -42
  22. package/dist/domain/member/IsMemberEnableProcessor.js.map +0 -1
  23. package/dist/domain/member/IsMemberExpirationProcessor.js +0 -46
  24. package/dist/domain/member/IsMemberExpirationProcessor.js.map +0 -1
  25. package/dist/domain/member/IsMemberPasswordSameProcessor.js +0 -41
  26. package/dist/domain/member/IsMemberPasswordSameProcessor.js.map +0 -1
  27. package/dist/domain/member/IsMemberStorageForStoreProcessor.js +0 -46
  28. package/dist/domain/member/IsMemberStorageForStoreProcessor.js.map +0 -1
  29. package/dist/domain/member/MemberTypeChangedProcessor.js +0 -127
  30. package/dist/domain/member/MemberTypeChangedProcessor.js.map +0 -1
  31. package/dist/domain/member/MobilephoneChangedProcessor.js +0 -39
  32. package/dist/domain/member/MobilephoneChangedProcessor.js.map +0 -1
  33. package/dist/domain/member/PersonProcesser.js +0 -35
  34. package/dist/domain/member/PersonProcesser.js.map +0 -1
  35. package/dist/domain/member/PriuserdefChangedProcessor.js +0 -50
  36. package/dist/domain/member/PriuserdefChangedProcessor.js.map +0 -1
  37. package/dist/domain/operationLog/AddLogProcessor.js +0 -46
  38. package/dist/domain/operationLog/AddLogProcessor.js.map +0 -1
  39. package/dist/domain/operationLog/OperationConfig.js +0 -34
  40. package/dist/domain/operationLog/OperationConfig.js.map +0 -1
  41. package/dist/domain/operationLog/OperationLog.js +0 -170
  42. package/dist/domain/operationLog/OperationLog.js.map +0 -1
  43. package/dist/member/ShopMember.js +0 -1083
  44. package/dist/member/ShopMember.js.map +0 -1
  45. package/dist/member/memberMenu/changeMemberCard/index.js +0 -260
  46. package/dist/member/memberMenu/changeMemberCard/index.js.map +0 -1
  47. package/dist/member/memberMenu/index.js +0 -720
  48. package/dist/member/memberMenu/index.js.map +0 -1
  49. package/dist/member/memberMenu/modifyPass/index.js +0 -391
  50. package/dist/member/memberMenu/modifyPass/index.js.map +0 -1
  51. package/dist/member/memberMenu/modifyPass/store.js +0 -321
  52. package/dist/member/memberMenu/modifyPass/store.js.map +0 -1
  53. package/dist/member/memberTab.js +0 -557
  54. package/dist/member/memberTab.js.map +0 -1
  55. package/dist/stores/MemberStore.js +0 -536
  56. package/dist/stores/MemberStore.js.map +0 -1
  57. package/dist/stores/index.js +0 -16
  58. package/dist/stores/index.js.map +0 -1
  59. package/dist/viewController/MemberOrderViewController.js +0 -144
  60. package/dist/viewController/MemberOrderViewController.js.map +0 -1
  61. package/dist/viewDoMain/CheckMemberProcessorBlock.js +0 -56
  62. package/dist/viewDoMain/CheckMemberProcessorBlock.js.map +0 -1
  63. package/dist/viewDoMain/CheckMemberStorageProcessorBlock.js +0 -85
  64. package/dist/viewDoMain/CheckMemberStorageProcessorBlock.js.map +0 -1
  65. package/dist/viewDoMain/CheckSelectMemberProcessorBlock.js +0 -69
  66. package/dist/viewDoMain/CheckSelectMemberProcessorBlock.js.map +0 -1
  67. package/dist/viewDoMain/CheckUpdatePasswordProcessorBlock.js +0 -44
  68. package/dist/viewDoMain/CheckUpdatePasswordProcessorBlock.js.map +0 -1
  69. package/dist/viewDoMain/MemberDataChangedProcessorBlock.js +0 -66
  70. package/dist/viewDoMain/MemberDataChangedProcessorBlock.js.map +0 -1
  71. package/dist/viewDoMain/MemberDataPreSaveProcessorBlock.js +0 -79
  72. package/dist/viewDoMain/MemberDataPreSaveProcessorBlock.js.map +0 -1
  73. package/dist/viewDoMain/StorageAmountChangedProcessorBlock.js +0 -136
  74. package/dist/viewDoMain/StorageAmountChangedProcessorBlock.js.map +0 -1
  75. package/dist/viewModels/memberVoucher.js +0 -269
  76. package/dist/viewModels/memberVoucher.js.map +0 -1
  77. package/dist/views/MemberOrderView.js +0 -435
  78. package/dist/views/MemberOrderView.js.map +0 -1
  79. package/dist/views/MemberStoreNewView.js +0 -538
  80. package/dist/views/MemberStoreNewView.js.map +0 -1
  81. package/dist/views/MemberStoreView.js +0 -441
  82. package/dist/views/MemberStoreView.js.map +0 -1
  83. package/dist/views/MemberStoreViewContainer.js +0 -72
  84. package/dist/views/MemberStoreViewContainer.js.map +0 -1
  85. package/dist/views/PresetDetailView.js +0 -88
  86. package/dist/views/PresetDetailView.js.map +0 -1
@@ -1,557 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = undefined;
7
-
8
- var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
9
-
10
- var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
11
-
12
- var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
13
-
14
- var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
15
-
16
- var _keys = require('babel-runtime/core-js/object/keys');
17
-
18
- var _keys2 = _interopRequireDefault(_keys);
19
-
20
- var _extends2 = require('babel-runtime/helpers/extends');
21
-
22
- var _extends3 = _interopRequireDefault(_extends2);
23
-
24
- var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
25
-
26
- var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
27
-
28
- var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
29
-
30
- var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
31
-
32
- var _createClass2 = require('babel-runtime/helpers/createClass');
33
-
34
- var _createClass3 = _interopRequireDefault(_createClass2);
35
-
36
- var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
37
-
38
- var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
39
-
40
- var _inherits2 = require('babel-runtime/helpers/inherits');
41
-
42
- var _inherits3 = _interopRequireDefault(_inherits2);
43
-
44
- var _tabs = require('antd/es/tabs');
45
-
46
- var _tabs2 = _interopRequireDefault(_tabs);
47
-
48
- var _class, _class2, _temp, _initialiseProps;
49
-
50
- require('antd/es/tabs/style');
51
-
52
- var _react = require('react');
53
-
54
- var _react2 = _interopRequireDefault(_react);
55
-
56
- var _mobxReact = require('mobx-react');
57
-
58
- var _mutantsMicrofx = require('mutants-microfx');
59
-
60
- var _tplusComponentsTouch = require('tplus-components-touch');
61
-
62
- var _utils = require('../utils');
63
-
64
- var _propTypes = require('prop-types');
65
-
66
- var _propTypes2 = _interopRequireDefault(_propTypes);
67
-
68
- var _mutantsUtil = require('mutants-util');
69
-
70
- require('./ShopMember.less');
71
-
72
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
73
-
74
- var TabPane = _tabs2.default.TabPane;
75
-
76
-
77
- var transform = {
78
- Code: '会员编号',
79
- CardCode: '会员卡号',
80
- Name: '会员姓名',
81
- MemberTypeName: '会员类型',
82
- Mobilephone: '手机号',
83
- Telephone: '联系电话',
84
- StoreName: '开卡门店',
85
- sex: '性别',
86
- BirthDate: '出生日期',
87
- TotalIntegral: '累计积分',
88
- BalanceIntegral: '积分余额',
89
- BalanceStorage: '当前总余额',
90
- TotalStorage: '储值总额', // 字段存疑
91
- TotalBegin: '期初余额',
92
- EffectiveDate: '生效日期',
93
- ExpirationDate: '失效日期',
94
- UmemberOpenId: '是否关注微信号',
95
- UmemberLabel: '会员标签',
96
- MemberCouponTitle: '优惠券',
97
- Memo: '备注'
98
- };
99
-
100
- var MemberTab = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_Component) {
101
- (0, _inherits3.default)(MemberTab, _Component);
102
-
103
- function MemberTab(props) {
104
- (0, _classCallCheck3.default)(this, MemberTab);
105
-
106
- var _this = (0, _possibleConstructorReturn3.default)(this, (MemberTab.__proto__ || (0, _getPrototypeOf2.default)(MemberTab)).call(this, props));
107
-
108
- _initialiseProps.call(_this);
109
-
110
- var _ref = _mutantsMicrofx.stores.user.options.get('loginInfo') || {},
111
- IsEnableUMember = _ref.IsEnableUMember;
112
-
113
- _this.state = { IsEnableUMember: !!IsEnableUMember };
114
- return _this;
115
- }
116
-
117
- (0, _createClass3.default)(MemberTab, [{
118
- key: 'componentDidMount',
119
- value: function componentDidMount() {
120
- this.overflowTip = new _tplusComponentsTouch.OverflowTip({
121
- target: '.member-content-tab',
122
- format: function format(text) {
123
- text = text || '';
124
- var colonStr = ':';
125
- if (text.startsWith(colonStr)) {
126
- return text.split(colonStr)[1];
127
- }
128
- return text;
129
- }
130
- });
131
- }
132
- }, {
133
- key: 'componentDidUpdate',
134
- value: function componentDidUpdate() {
135
- if (this.overflowTip && !this.overflowTip.containerDom) {
136
- this.overflowTip.update();
137
- }
138
- }
139
- }, {
140
- key: 'componentWillUnmount',
141
- value: function componentWillUnmount() {
142
- this.overflowTip.destroy();
143
- }
144
- }, {
145
- key: 'render',
146
- value: function render() {
147
- var _props$defaultActiveK = this.props.defaultActiveKey,
148
- defaultActiveKey = _props$defaultActiveK === undefined ? '1' : _props$defaultActiveK;
149
-
150
- return _react2.default.createElement(
151
- _tabs2.default,
152
- {
153
- defaultActiveKey: defaultActiveKey,
154
- onChange: this.props.onChange,
155
- className: 'member-table-container'
156
- },
157
- this.memberInfoEle({ title: '会员信息', key: '1' }),
158
- this.rmecommendEle({ title: '智能推荐', key: '2' }),
159
- this.recentlyEle({ title: '最近购买', key: '3' })
160
- );
161
- }
162
- }]);
163
- return MemberTab;
164
- }(_react.Component), _class2.propTypes = {
165
- memberTabHeight: _propTypes2.default.number,
166
- defaultActiveKey: _propTypes2.default.any,
167
- memberList: _propTypes2.default.array,
168
- columnInfo: _propTypes2.default.array,
169
- member: _propTypes2.default.object,
170
- memberInfo: _propTypes2.default.object,
171
- precisionInfo: _propTypes2.default.object,
172
- initEmpty: _propTypes2.default.bool,
173
- onChange: _propTypes2.default.func
174
- }, _initialiseProps = function _initialiseProps() {
175
- var _this2 = this;
176
-
177
- this.tabHeadHeight = 37;
178
-
179
- this.dataClear = function (keys, values, columnInfo) {
180
- var regKey = 'priuserdef';
181
- var dataSource = [];
182
- keys.forEach(function (key, index) {
183
- if (key.includes(regKey)) {
184
- var _ref2 = columnInfo.find(function (v) {
185
- return v.FieldName === key;
186
- }) || {},
187
- label = _ref2.Title;
188
-
189
- dataSource.push({ key: key, value: values[index], label: label });
190
- }
191
- });
192
- return dataSource.filter(function (v) {
193
- return v.label;
194
- });
195
- };
196
-
197
- this.memberInfoEle = function (_ref3) {
198
- var title = _ref3.title,
199
- key = _ref3.key;
200
-
201
- var _ref4 = _mutantsUtil.platform || {},
202
- isNewRetailBCPos = _ref4.isNewRetailBCPos;
203
-
204
- var _props = _this2.props,
205
- _props$member = _props.member,
206
- member = _props$member === undefined ? {} : _props$member,
207
- memberTabHeight = _props.memberTabHeight,
208
- _props$memberList = _props.memberList,
209
- memberList = _props$memberList === undefined ? [] : _props$memberList,
210
- _props$columnInfo = _props.columnInfo,
211
- columnInfo = _props$columnInfo === undefined ? [] : _props$columnInfo,
212
- _props$precisionInfo = _props.precisionInfo,
213
- precisionInfo = _props$precisionInfo === undefined ? {} : _props$precisionInfo,
214
- getMemberStateStamp = _props.getMemberStateStamp;
215
- var IsEnableUMember = _this2.state.IsEnableUMember;
216
- var _member$DynamicProper = member.DynamicPropertyKeys,
217
- DynamicPropertyKeys = _member$DynamicProper === undefined ? [] : _member$DynamicProper,
218
- _member$DynamicProper2 = member.DynamicPropertyValues,
219
- DynamicPropertyValues = _member$DynamicProper2 === undefined ? [] : _member$DynamicProper2,
220
- _member$ExpirationDat = member.ExpirationDate,
221
- ExpirationDate = _member$ExpirationDat === undefined ? '' : _member$ExpirationDat,
222
- _member$MemberType = member.MemberType;
223
- _member$MemberType = _member$MemberType === undefined ? {} : _member$MemberType;
224
- var MemberTypeName = _member$MemberType.Name,
225
- _member$Sex = member.Sex;
226
- _member$Sex = _member$Sex === undefined ? {} : _member$Sex;
227
- var sex = _member$Sex.Name,
228
- isExpiration = member.isExpiration,
229
- Uid = member.Uid,
230
- isUserLogout = member.isUserLogout,
231
- MemberState = member.MemberState,
232
- _member$Store = member.Store;
233
- _member$Store = _member$Store === undefined ? {} : _member$Store;
234
- var StoreName = _member$Store.Name;
235
-
236
- var priuserdefData = _this2.dataClear(DynamicPropertyKeys, DynamicPropertyValues, columnInfo);
237
- var isUMember = IsEnableUMember && Uid > 0; // 判断为u会员
238
- var isUMemberShow = ['UmemberOpenId', 'UmemberLabel', 'MemberCouponTitle'];
239
- var memberValues = (0, _extends3.default)({ MemberTypeName: MemberTypeName, sex: sex, StoreName: StoreName }, member);
240
- var memberInfos = [];
241
- var memberTabContentHeight = memberTabHeight - _this2.tabHeadHeight;
242
- var hasMemberInfo = (0, _keys2.default)(memberValues).some(function (v) {
243
- return memberValues[v];
244
- });
245
-
246
- var _enumController$getEn = _mutantsUtil.enumController.getEnumOj(),
247
- Differentiate = _enumController$getEn.Differentiate;
248
-
249
- var CC_NOT_DISPLAY = ["Code", "ExpirationDate", "UmemberOpenId", "UmemberLabel"];
250
-
251
- transform.MemberCouponTitle = Differentiate.COUPON;
252
- transform.MemberTypeName = Differentiate.MemberTypeName;
253
- (0, _keys2.default)(transform).forEach(function (v) {
254
- // 查找CC不需要显示的字段
255
- var isHaveCCNot = CC_NOT_DISPLAY.find(function (item) {
256
- return item == v;
257
- });
258
- if (isNewRetailBCPos && isHaveCCNot) return;
259
- if (isUMemberShow.includes(v) && !isNewRetailBCPos && !isUMember) return;
260
- var memberValue = memberValues[v];
261
- var precision = precisionInfo[v];
262
- //let value = formatPrecisionKeys.includes(v) ? (hasMemberInfo ? formatPrecision(memberValue, precision) : undefined) : memberValue;
263
- var value = !!precision ? hasMemberInfo ? (0, _utils.formatPrecision)(memberValue, precision) : undefined : memberValue;
264
- v === 'UmemberOpenId' && (value = memberValue ? '已关注' : '未关注');
265
- var dataItem = { label: '' + transform[v], value: value };
266
- memberInfos.push(dataItem);
267
- });
268
-
269
- //对自定义项的值进行处理。
270
- if (priuserdefData && priuserdefData.length > 0) {
271
- priuserdefData.map(function (item) {
272
- var _ref5 = item || {},
273
- key = _ref5.key,
274
- value = _ref5.value;
275
-
276
- var precision = precisionInfo[key];
277
- item['value'] = !!precision ? (0, _utils.formatPrecision)(value, precision) : value;
278
- });
279
- }
280
-
281
- memberInfos.push.apply(memberInfos, (0, _toConsumableArray3.default)(priuserdefData)); // 插入会员自定义项
282
- memberInfos.length % 2 && memberInfos.push({}); //奇数补全
283
-
284
- var formatValue = function formatValue(label, value) {
285
- var formatDateKeys = ['出生日期', '失效日期', '生效日期'];
286
- if (formatDateKeys.includes(label)) {
287
- return (0, _utils.dateFormat)(value);
288
- } else {
289
- return value;
290
- }
291
- };
292
- //状态戳
293
- var iconItems = getMemberStateStamp(member);
294
- return _react2.default.createElement(
295
- TabPane,
296
- { tab: title, key: key },
297
- _react2.default.createElement(
298
- 'div',
299
- { style: { height: memberTabContentHeight, position: 'relative' } },
300
- _react2.default.createElement(
301
- _tplusComponentsTouch.TouchScroll,
302
- { height: memberTabContentHeight },
303
- !!memberList.length && _react2.default.createElement(
304
- 'div',
305
- { className: 'member-info-table' },
306
- memberInfos.map(function (item, index) {
307
- return _react2.default.createElement(
308
- 'div',
309
- { key: index },
310
- item.label && _react2.default.createElement(
311
- 'span',
312
- null,
313
- item.label || ''
314
- ),
315
- item.label && _react2.default.createElement(
316
- 'span',
317
- { 'data-overflow': 'tip' },
318
- '\uFF1A',
319
- formatValue(item.label, item.value)
320
- )
321
- );
322
- }),
323
- !memberInfos.length && _react2.default.createElement(
324
- 'p',
325
- { className: 'empty-data' },
326
- '\u6682\u65E0\u6570\u636E~'
327
- )
328
- ),
329
- !memberList.length && _react2.default.createElement('div', { className: 'empty-data empty-data-img' })
330
- ),
331
- iconItems && iconItems.length > 0 && _react2.default.createElement(
332
- 'div',
333
- { className: 'memberstate-detail-stamp' },
334
- iconItems
335
- )
336
- )
337
- );
338
- };
339
-
340
- this.rmecommendEle = function (_ref6) {
341
- var title = _ref6.title,
342
- key = _ref6.key;
343
- var _props2 = _this2.props,
344
- _props2$recommend = _props2.recommend,
345
- recommends = _props2$recommend === undefined ? [] : _props2$recommend,
346
- _props2$memberInfo = _props2.memberInfo;
347
- _props2$memberInfo = _props2$memberInfo === undefined ? {} : _props2$memberInfo;
348
- var _props2$memberInfo$re = _props2$memberInfo.record,
349
- record = _props2$memberInfo$re === undefined ? [] : _props2$memberInfo$re,
350
- _props2$memberInfo$li = _props2$memberInfo.like,
351
- like = _props2$memberInfo$li === undefined ? [] : _props2$memberInfo$li,
352
- memberTabHeight = _props2.memberTabHeight,
353
- initEmpty = _props2.initEmpty;
354
-
355
- recommends = recommends.filter(function (v) {
356
- return v;
357
- });
358
- recommends.push({ Name: '最近购买', Value: like });
359
- var recommendInfoHeight = 74;
360
- var memberTabContentHeight = memberTabHeight - _this2.tabHeadHeight;
361
- var haveRecord = !!record.length && record.every(function (v) {
362
- return !!(v && v.value);
363
- });
364
- console.log('会员偶发白屏问题:recommends==', recommends);
365
- var emptyRecommend = recommends.every(function (v) {
366
- return !(v && v.Value || []).length;
367
- }) ? _react2.default.createElement(
368
- 'div',
369
- { className: 'empty-data' },
370
- '\u6682\u65E0\u63A8\u8350~'
371
- ) : null;
372
- var emptyData = !haveRecord && recommends.every(function (v) {
373
- return !(v && v.Value || []).length;
374
- }) ? _react2.default.createElement('div', { className: 'empty-data empty-data-img' }) : null;
375
- var showInfos = ['最近购买时间', '金额', '平均客单价'];
376
- var recordFilter = record.filter(function (v) {
377
- return showInfos.includes(v.name);
378
- });
379
- var recommendHeight = haveRecord ? memberTabContentHeight - recommendInfoHeight : memberTabContentHeight;
380
- return _react2.default.createElement(
381
- TabPane,
382
- { tab: title, key: key },
383
- _react2.default.createElement(
384
- 'div',
385
- { className: 'recommend-tab', style: { height: memberTabContentHeight } },
386
- haveRecord && _react2.default.createElement(
387
- 'div',
388
- { className: 'recommend-info' },
389
- recordFilter.map(function (item, key) {
390
- return _react2.default.createElement(
391
- 'span',
392
- { key: key },
393
- item.name,
394
- ': ',
395
- item.value
396
- );
397
- })
398
- ),
399
- _react2.default.createElement(
400
- 'div',
401
- { className: 'recommend-connent', style: { height: recommendHeight } },
402
- _react2.default.createElement(
403
- _tplusComponentsTouch.TouchScroll,
404
- { height: recommendHeight, key: recommendHeight },
405
- recommends.map(function (item, index) {
406
- if (!(item.Value || []).length) return null;
407
- return _react2.default.createElement(
408
- 'div',
409
- { key: index, className: 'detail-content' },
410
- _react2.default.createElement(
411
- 'h1',
412
- null,
413
- item.Name
414
- ),
415
- _react2.default.createElement(_tplusComponentsTouch.CardList, {
416
- list: item.Value || [],
417
- maxEmpyt: 5
418
- })
419
- );
420
- })
421
- ),
422
- initEmpty && emptyRecommend
423
- ),
424
- initEmpty && emptyData
425
- )
426
- );
427
- };
428
-
429
- this.recentlyEle = function (_ref7) {
430
- var title = _ref7.title,
431
- key = _ref7.key;
432
- var _props3 = _this2.props,
433
- memberTabHeight = _props3.memberTabHeight,
434
- _props3$memberInfo = _props3.memberInfo;
435
- _props3$memberInfo = _props3$memberInfo === undefined ? {} : _props3$memberInfo;
436
- var _props3$memberInfo$re = _props3$memberInfo.recency,
437
- recency = _props3$memberInfo$re === undefined ? [] : _props3$memberInfo$re;
438
-
439
- var theadHeight = 50;
440
- var tableHeight = memberTabHeight - _this2.tabHeadHeight;
441
- var dataSource = [];
442
- var data = recency;
443
- data.forEach(function (vlaue, i) {
444
- var index = dataSource.findIndex(function (v) {
445
- return v.code === vlaue.Code;
446
- });
447
- if (~index) {
448
- dataSource[index].data.push(vlaue);
449
- } else {
450
- var _ref8 = vlaue || {},
451
- Time = _ref8.Time,
452
- Code = _ref8.Code,
453
- rest = (0, _objectWithoutProperties3.default)(_ref8, ['Time', 'Code']);
454
-
455
- var itemValue = { date: Time, code: Code, data: [rest] };
456
- dataSource.push(itemValue);
457
- }
458
- });
459
-
460
- dataSource.forEach(function (value) {
461
- // 金额倒序排序
462
- var itemData = value.data;
463
- if (itemData.length > 1) {
464
- itemData.sort(function () {
465
- var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
466
- var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
467
- return b.Amount - a.Amount;
468
- });
469
- }
470
- });
471
-
472
- return _react2.default.createElement(
473
- TabPane,
474
- { tab: title, key: key },
475
- !!dataSource.length && _react2.default.createElement(
476
- 'div',
477
- { className: 'recently-tab' },
478
- _react2.default.createElement(
479
- 'table',
480
- { className: 'table' },
481
- _react2.default.createElement(
482
- 'thead',
483
- null,
484
- _react2.default.createElement(
485
- 'tr',
486
- null,
487
- _react2.default.createElement(
488
- 'th',
489
- { width: '25%' },
490
- '\u6D88\u8D39\u65E5\u671F'
491
- ),
492
- _react2.default.createElement(
493
- 'th',
494
- { width: '25%' },
495
- '\u5546\u54C1'
496
- ),
497
- _react2.default.createElement(
498
- 'th',
499
- { width: '25%', style: { textAlign: 'center' } },
500
- '\u6570\u91CF'
501
- ),
502
- _react2.default.createElement(
503
- 'th',
504
- { width: '25%', className: 'amount-item' },
505
- '\u6D88\u8D39\u91D1\u989D'
506
- )
507
- )
508
- ),
509
- _react2.default.createElement(
510
- 'tbody',
511
- { style: { height: tableHeight - theadHeight } },
512
- _react2.default.createElement(
513
- _tplusComponentsTouch.TouchScroll,
514
- null,
515
- dataSource.map(function (item, key) {
516
- return item.data.map(function (v, i) {
517
- return _react2.default.createElement(
518
- 'tr',
519
- { key: i },
520
- !i ? _react2.default.createElement(
521
- 'td',
522
- { className: item.data.length === 1 ? 'only-one-data' : '' },
523
- (0, _utils.dateFormat)(item.date)
524
- ) : _react2.default.createElement('td', { className: item.data.length - 1 === i ? 'data-border' : '' }),
525
- _react2.default.createElement(
526
- 'td',
527
- { 'data-overflow': 'tip' },
528
- v.Name
529
- ),
530
- _react2.default.createElement(
531
- 'td',
532
- { 'data-overflow': 'tip', style: { textAlign: 'center' } },
533
- v.Quantity
534
- ),
535
- _react2.default.createElement(
536
- 'td',
537
- { 'data-overflow': 'tip' },
538
- v.Amount
539
- )
540
- );
541
- });
542
- })
543
- )
544
- )
545
- )
546
- ),
547
- !dataSource.length && _react2.default.createElement(
548
- 'div',
549
- { style: { height: tableHeight, position: 'relative' } },
550
- _react2.default.createElement('div', { className: 'empty-data empty-data-img' })
551
- )
552
- );
553
- };
554
- }, _temp)) || _class;
555
-
556
- exports.default = MemberTab;
557
- //# sourceMappingURL=memberTab.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["tplus-member/member/memberTab.js"],"names":["TabPane","transform","Code","CardCode","Name","MemberTypeName","Mobilephone","Telephone","StoreName","sex","BirthDate","TotalIntegral","BalanceIntegral","BalanceStorage","TotalStorage","TotalBegin","EffectiveDate","ExpirationDate","UmemberOpenId","UmemberLabel","MemberCouponTitle","Memo","MemberTab","observer","props","stores","user","options","get","IsEnableUMember","state","overflowTip","OverflowTip","target","format","text","colonStr","startsWith","split","containerDom","update","destroy","defaultActiveKey","onChange","memberInfoEle","title","key","rmecommendEle","recentlyEle","Component","propTypes","memberTabHeight","PropTypes","number","any","memberList","array","columnInfo","member","object","memberInfo","precisionInfo","initEmpty","bool","func","tabHeadHeight","dataClear","keys","values","regKey","dataSource","forEach","index","includes","find","v","FieldName","label","Title","push","value","filter","platform","isNewRetailBCPos","getMemberStateStamp","DynamicPropertyKeys","DynamicPropertyValues","MemberType","Sex","isExpiration","Uid","isUserLogout","MemberState","Store","priuserdefData","isUMember","isUMemberShow","memberValues","memberInfos","memberTabContentHeight","hasMemberInfo","some","enumController","getEnumOj","Differentiate","CC_NOT_DISPLAY","COUPON","isHaveCCNot","item","memberValue","precision","undefined","dataItem","length","map","formatValue","formatDateKeys","iconItems","height","position","recommend","recommends","record","like","Value","recommendInfoHeight","haveRecord","every","console","log","emptyRecommend","emptyData","showInfos","recordFilter","name","recommendHeight","recency","theadHeight","tableHeight","data","vlaue","i","findIndex","code","Time","rest","itemValue","date","itemData","sort","a","b","Amount","textAlign","Quantity"],"mappings":"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","file":"memberTab.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { Tabs } from 'antd';\r\nimport { observer } from 'mobx-react';\r\nimport { stores, localStore } from 'mutants-microfx';\r\nimport { OverflowTip, TouchScroll, CardList } from 'tplus-components-touch';\r\nimport { formatPrecision, dateFormat } from '../utils';\r\nimport PropTypes from 'prop-types';\r\nimport { enumController, platform } from 'mutants-util';\r\nimport './ShopMember.less';\r\n\r\nconst { TabPane } = Tabs;\r\n\r\nlet transform = {\r\n Code: '会员编号',\r\n CardCode: '会员卡号',\r\n Name: '会员姓名',\r\n MemberTypeName: '会员类型',\r\n Mobilephone: '手机号',\r\n Telephone: '联系电话',\r\n StoreName:'开卡门店',\r\n sex: '性别',\r\n BirthDate: '出生日期',\r\n TotalIntegral: '累计积分',\r\n BalanceIntegral: '积分余额',\r\n BalanceStorage: '当前总余额',\r\n TotalStorage: '储值总额', // 字段存疑\r\n TotalBegin: '期初余额',\r\n EffectiveDate: '生效日期',\r\n ExpirationDate: '失效日期',\r\n UmemberOpenId: '是否关注微信号',\r\n UmemberLabel: '会员标签',\r\n MemberCouponTitle: '优惠券',\r\n Memo: '备注',\r\n};\r\n\r\n@observer\r\nexport default class MemberTab extends Component {\r\n\r\n static propTypes = {\r\n memberTabHeight: PropTypes.number,\r\n defaultActiveKey: PropTypes.any,\r\n memberList: PropTypes.array,\r\n columnInfo: PropTypes.array,\r\n member: PropTypes.object,\r\n memberInfo: PropTypes.object,\r\n precisionInfo: PropTypes.object,\r\n initEmpty: PropTypes.bool,\r\n onChange: PropTypes.func,\r\n };\r\n\r\n tabHeadHeight = 37;\r\n\r\n constructor(props) {\r\n super(props);\r\n const { IsEnableUMember } = stores.user.options.get('loginInfo') || {};\r\n this.state = { IsEnableUMember: !!IsEnableUMember };\r\n }\r\n\r\n componentDidMount() {\r\n this.overflowTip = new OverflowTip({\r\n target: '.member-content-tab',\r\n format(text) {\r\n text = text || '';\r\n const colonStr = ':';\r\n if (text.startsWith(colonStr)) {\r\n return text.split(colonStr)[1];\r\n }\r\n return text;\r\n }\r\n });\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.overflowTip && !this.overflowTip.containerDom) {\r\n this.overflowTip.update();\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n this.overflowTip.destroy();\r\n }\r\n\r\n dataClear = (keys, values, columnInfo) => {\r\n const regKey = 'priuserdef';\r\n const dataSource = [];\r\n keys.forEach((key, index) => {\r\n if (key.includes(regKey)) {\r\n const {Title: label} = columnInfo.find(v => v.FieldName === key) || {};\r\n dataSource.push({key, value: values[index], label});\r\n }\r\n });\r\n return dataSource.filter(v => v.label);\r\n }\r\n\r\n memberInfoEle = ({ title, key }) => {\r\n let { isNewRetailBCPos } = platform || {};\r\n const { member = {}, memberTabHeight, memberList = [], columnInfo = [], precisionInfo = {}, getMemberStateStamp} = this.props;\r\n const {IsEnableUMember} = this.state;\r\n const { DynamicPropertyKeys = [], DynamicPropertyValues = [], ExpirationDate = '', MemberType: { Name: MemberTypeName } = {},\r\n Sex: { Name: sex } = {}, isExpiration, Uid, isUserLogout, MemberState, Store: { Name : StoreName } = {} } = member;\r\n let priuserdefData = this.dataClear(DynamicPropertyKeys, DynamicPropertyValues, columnInfo);\r\n const isUMember = IsEnableUMember && Uid > 0; // 判断为u会员\r\n const isUMemberShow = ['UmemberOpenId', 'UmemberLabel', 'MemberCouponTitle'];\r\n const memberValues = { MemberTypeName, sex, StoreName , ...member};\r\n const memberInfos = [];\r\n const memberTabContentHeight = memberTabHeight - this.tabHeadHeight;\r\n const hasMemberInfo = Object.keys(memberValues).some(v => memberValues[v]);\r\n const { Differentiate } = enumController.getEnumOj();\r\n\r\n const CC_NOT_DISPLAY = [\"Code\", \"ExpirationDate\", \"UmemberOpenId\", \"UmemberLabel\"];\r\n\r\n transform.MemberCouponTitle = Differentiate.COUPON;\r\n transform.MemberTypeName = Differentiate.MemberTypeName;\r\n Object.keys(transform).forEach(v => {\r\n // 查找CC不需要显示的字段\r\n const isHaveCCNot = CC_NOT_DISPLAY.find(item => item == v);\r\n if (isNewRetailBCPos && isHaveCCNot) return;\r\n if (isUMemberShow.includes(v) && !isNewRetailBCPos &&!isUMember ) return;\r\n const memberValue = memberValues[v];\r\n const precision = precisionInfo[v];\r\n //let value = formatPrecisionKeys.includes(v) ? (hasMemberInfo ? formatPrecision(memberValue, precision) : undefined) : memberValue;\r\n let value = !!precision ? (hasMemberInfo ? formatPrecision(memberValue, precision) : undefined) : memberValue;\r\n (v === 'UmemberOpenId') && (value = memberValue ? '已关注' : '未关注');\r\n const dataItem = { label: `${transform[v]}`, value };\r\n memberInfos.push(dataItem);\r\n });\r\n\r\n //对自定义项的值进行处理。\r\n if (priuserdefData && priuserdefData.length > 0) {\r\n priuserdefData.map(item => {\r\n let { key, value } = item || {};\r\n let precision = precisionInfo[key];\r\n item['value'] = !!precision ? formatPrecision(value, precision) : value;\r\n })\r\n }\r\n\r\n memberInfos.push(...priuserdefData) // 插入会员自定义项\r\n memberInfos.length % 2 && memberInfos.push({}); //奇数补全\r\n\r\n const formatValue = (label, value) => {\r\n const formatDateKeys = ['出生日期', '失效日期', '生效日期'];\r\n if (formatDateKeys.includes(label)) {\r\n return dateFormat(value);\r\n } else {\r\n return value;\r\n }\r\n }\r\n //状态戳\r\n let iconItems = getMemberStateStamp(member);\r\n return (\r\n <TabPane tab={title} key={key}>\r\n <div style={{ height: memberTabContentHeight, position: 'relative' }}>\r\n <TouchScroll height={memberTabContentHeight} >\r\n {\r\n !!memberList.length && <div className='member-info-table'>\r\n {\r\n memberInfos.map((item, index) => <div key={index}>\r\n {item.label && <span>{item.label || ''}</span>}\r\n {item.label && <span data-overflow='tip'>:{formatValue(item.label, item.value)}</span>}\r\n </div>)\r\n }\r\n {\r\n !memberInfos.length && <p className='empty-data'>暂无数据~</p>\r\n }\r\n </div>\r\n }\r\n {\r\n !memberList.length && <div className='empty-data empty-data-img' />\r\n }\r\n </TouchScroll>\r\n {\r\n iconItems && iconItems.length > 0 &&\r\n <div className='memberstate-detail-stamp'>\r\n {iconItems}\r\n </div>\r\n }\r\n </div>\r\n </TabPane >)\r\n };\r\n\r\n rmecommendEle = ({ title, key }) => {\r\n let { recommend: recommends = [], memberInfo: { record = [], like = [] } = {}, memberTabHeight, initEmpty } = this.props;\r\n recommends = recommends.filter(v => v);\r\n recommends.push({ Name: '最近购买', Value: like });\r\n const recommendInfoHeight = 74;\r\n const memberTabContentHeight = memberTabHeight - this.tabHeadHeight;\r\n const haveRecord = !!record.length && record.every(v => !!(v && v.value));\r\n console.log('会员偶发白屏问题:recommends==', recommends)\r\n const emptyRecommend = recommends.every(v => !((v && v.Value) || []).length) ? <div className='empty-data'>暂无推荐~</div> : null;\r\n const emptyData = (!haveRecord && recommends.every(v => !((v && v.Value) || []).length)) ? <div className='empty-data empty-data-img' /> : null;\r\n const showInfos = ['最近购买时间', '金额', '平均客单价']\r\n const recordFilter = record.filter(v => showInfos.includes(v.name));\r\n const recommendHeight = haveRecord ? memberTabContentHeight - recommendInfoHeight : memberTabContentHeight;\r\n return <TabPane tab={title} key={key}>\r\n <div className='recommend-tab' style={{height: memberTabContentHeight}}>\r\n {haveRecord && <div className='recommend-info'>\r\n {recordFilter.map((item, key) => <span key={key}>{item.name}: {item.value}</span>)}\r\n </div>}\r\n <div className='recommend-connent' style={{height: recommendHeight}}>\r\n <TouchScroll height={recommendHeight} key={recommendHeight}>\r\n {recommends.map((item, index) => {\r\n if (!(item.Value || []).length) return null;\r\n return <div key={index} className='detail-content'>\r\n <h1>{item.Name}</h1>\r\n <CardList\r\n list={item.Value || []}\r\n maxEmpyt={5}\r\n />\r\n </div>\r\n })}\r\n </TouchScroll>\r\n {initEmpty && emptyRecommend}\r\n </div>\r\n {initEmpty && emptyData}\r\n </div>\r\n </TabPane>;\r\n };\r\n\r\n recentlyEle = ({ title, key }) => {\r\n const {memberTabHeight, memberInfo: {recency = []} = {}} = this.props;\r\n const theadHeight = 50;\r\n const tableHeight = memberTabHeight - this.tabHeadHeight;\r\n const dataSource = [];\r\n const data = recency;\r\n data.forEach((vlaue, i) => {\r\n const index = dataSource.findIndex(v => v.code === vlaue.Code);\r\n if (~index) {\r\n dataSource[index].data.push(vlaue);\r\n } else {\r\n const { Time, Code, ...rest } = vlaue || {};\r\n const itemValue = { date: Time, code: Code, data: [rest] };\r\n dataSource.push(itemValue);\r\n }\r\n });\r\n\r\n dataSource.forEach(value => {\r\n // 金额倒序排序\r\n const itemData = value.data;\r\n if (itemData.length > 1) {\r\n itemData.sort((a = {}, b = {}) => b.Amount - a.Amount);\r\n }\r\n });\r\n\r\n return <TabPane tab={title} key={key}>\r\n {!!dataSource.length && <div className='recently-tab'>\r\n <table className='table'>\r\n <thead>\r\n <tr>\r\n <th width='25%'>消费日期</th>\r\n <th width='25%'>商品</th>\r\n <th width='25%' style={{textAlign: 'center'}}>数量</th>\r\n <th width='25%' className='amount-item'>消费金额</th>\r\n </tr>\r\n </thead>\r\n <tbody style={{height: tableHeight - theadHeight}}>\r\n <TouchScroll>\r\n {dataSource.map((item, key) => {\r\n return item.data.map((v, i) =>\r\n <tr key={i}>\r\n {!i ?\r\n <td className={item.data.length === 1 ? 'only-one-data' : ''}>{dateFormat(item.date)}</td> :\r\n <td className={item.data.length - 1 === i ? 'data-border' : ''}/>\r\n }\r\n <td data-overflow='tip'>{v.Name}</td>\r\n <td data-overflow='tip' style={{textAlign: 'center'}}>{v.Quantity}</td>\r\n <td data-overflow='tip'>{v.Amount}</td>\r\n </tr>\r\n );\r\n })}\r\n </TouchScroll>\r\n </tbody>\r\n </table>\r\n </div>}\r\n {!dataSource.length && <div style={{height: tableHeight, position: 'relative'}}><div className='empty-data empty-data-img' /></div>}\r\n </TabPane>;\r\n };\r\n\r\n render() {\r\n const {defaultActiveKey = '1' } = this.props;\r\n return (\r\n <Tabs\r\n defaultActiveKey={defaultActiveKey}\r\n onChange={this.props.onChange}\r\n className=\"member-table-container\"\r\n >\r\n {this.memberInfoEle({ title: '会员信息', key: '1' })}\r\n {this.rmecommendEle({ title: '智能推荐', key: '2' })}\r\n {this.recentlyEle({ title: '最近购买', key: '3' })}\r\n </Tabs>\r\n );\r\n }\r\n}\r\n"]}