tplus-member 1.27.1 → 1.27.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. package/dist/api.js +533 -0
  2. package/dist/api.js.map +1 -0
  3. package/dist/controllers/FeedbackController.js +53 -0
  4. package/dist/controllers/FeedbackController.js.map +1 -0
  5. package/dist/controllers/MemberOrderController.js +359 -0
  6. package/dist/controllers/MemberOrderController.js.map +1 -0
  7. package/dist/controllers/OpenCardController.js +289 -0
  8. package/dist/controllers/OpenCardController.js.map +1 -0
  9. package/dist/controllers/defaultConfig.js +19 -0
  10. package/dist/controllers/defaultConfig.js.map +1 -0
  11. package/dist/dataProvider/member.js +144 -0
  12. package/dist/dataProvider/member.js.map +1 -0
  13. package/dist/dataProvider/openCard.js +145 -0
  14. package/dist/dataProvider/openCard.js.map +1 -0
  15. package/dist/domain/member/AuthProcess.js +42 -0
  16. package/dist/domain/member/AuthProcess.js.map +1 -0
  17. package/dist/domain/member/CardCodeChangedProcessor.js +35 -0
  18. package/dist/domain/member/CardCodeChangedProcessor.js.map +1 -0
  19. package/dist/domain/member/CheckCardCodeAndCodeProcessor.js +48 -0
  20. package/dist/domain/member/CheckCardCodeAndCodeProcessor.js.map +1 -0
  21. package/dist/domain/member/CheckMobilephoneFormatProcessor.js +38 -0
  22. package/dist/domain/member/CheckMobilephoneFormatProcessor.js.map +1 -0
  23. package/dist/domain/member/CheckPresentAmountProcessor.js +99 -0
  24. package/dist/domain/member/CheckPresentAmountProcessor.js.map +1 -0
  25. package/dist/domain/member/EffectiveDateChangedProcessor.js +50 -0
  26. package/dist/domain/member/EffectiveDateChangedProcessor.js.map +1 -0
  27. package/dist/domain/member/GetThisPresentAmountProcessor.js +116 -0
  28. package/dist/domain/member/GetThisPresentAmountProcessor.js.map +1 -0
  29. package/dist/domain/member/InitDataDeductionProcessor.js +68 -0
  30. package/dist/domain/member/InitDataDeductionProcessor.js.map +1 -0
  31. package/dist/domain/member/InitDataProcessor.js +140 -0
  32. package/dist/domain/member/InitDataProcessor.js.map +1 -0
  33. package/dist/domain/member/InitDataProjectProcessor.js +102 -0
  34. package/dist/domain/member/InitDataProjectProcessor.js.map +1 -0
  35. package/dist/domain/member/IsMemberEffectiveProcessor.js +45 -0
  36. package/dist/domain/member/IsMemberEffectiveProcessor.js.map +1 -0
  37. package/dist/domain/member/IsMemberEnableProcessor.js +38 -0
  38. package/dist/domain/member/IsMemberEnableProcessor.js.map +1 -0
  39. package/dist/domain/member/IsMemberExpirationProcessor.js +46 -0
  40. package/dist/domain/member/IsMemberExpirationProcessor.js.map +1 -0
  41. package/dist/domain/member/IsMemberPasswordSameProcessor.js +41 -0
  42. package/dist/domain/member/IsMemberPasswordSameProcessor.js.map +1 -0
  43. package/dist/domain/member/IsMemberStorageForStoreProcessor.js +40 -0
  44. package/dist/domain/member/IsMemberStorageForStoreProcessor.js.map +1 -0
  45. package/dist/domain/member/MemberTypeChangedProcessor.js +120 -0
  46. package/dist/domain/member/MemberTypeChangedProcessor.js.map +1 -0
  47. package/dist/domain/member/MobilephoneChangedProcessor.js +39 -0
  48. package/dist/domain/member/MobilephoneChangedProcessor.js.map +1 -0
  49. package/dist/domain/member/PersonProcesser.js +35 -0
  50. package/dist/domain/member/PersonProcesser.js.map +1 -0
  51. package/dist/domain/member/PriuserdefChangedProcessor.js +50 -0
  52. package/dist/domain/member/PriuserdefChangedProcessor.js.map +1 -0
  53. package/dist/domain/operationLog/AddLogProcessor.js +50 -0
  54. package/dist/domain/operationLog/AddLogProcessor.js.map +1 -0
  55. package/dist/domain/operationLog/OperationConfig.js +34 -0
  56. package/dist/domain/operationLog/OperationConfig.js.map +1 -0
  57. package/dist/domain/operationLog/OperationLog.js +146 -0
  58. package/dist/domain/operationLog/OperationLog.js.map +1 -0
  59. package/dist/index.js +124 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/member/MemberPhoto.js +268 -0
  62. package/dist/member/MemberPhoto.js.map +1 -0
  63. package/dist/member/MemberShow.js +167 -0
  64. package/dist/member/MemberShow.js.map +1 -0
  65. package/dist/member/ShopMember.js +1096 -0
  66. package/dist/member/ShopMember.js.map +1 -0
  67. package/dist/member/ShopMember.less +605 -0
  68. package/dist/member/api.js +726 -0
  69. package/dist/member/api.js.map +1 -0
  70. package/dist/member/color.less +32 -0
  71. package/dist/member/index.js +843 -0
  72. package/dist/member/index.js.map +1 -0
  73. package/dist/member/index.less +466 -0
  74. package/dist/member/memberTab.js +675 -0
  75. package/dist/member/memberTab.js.map +1 -0
  76. package/dist/memberMenu/changeMemberCard/index.js +268 -0
  77. package/dist/memberMenu/changeMemberCard/index.js.map +1 -0
  78. package/dist/memberMenu/changeMemberCard/style.less +43 -0
  79. package/dist/memberMenu/index.js +826 -0
  80. package/dist/memberMenu/index.js.map +1 -0
  81. package/dist/memberMenu/modifyPass/index.js +207 -0
  82. package/dist/memberMenu/modifyPass/index.js.map +1 -0
  83. package/dist/memberMenu/modifyPass/store.js +357 -0
  84. package/dist/memberMenu/modifyPass/store.js.map +1 -0
  85. package/dist/memberMenu/modifyPass/style.less +91 -0
  86. package/dist/memberMenu/style.less +82 -0
  87. package/dist/socket.js +164 -0
  88. package/dist/socket.js.map +1 -0
  89. package/dist/utils.js +246 -0
  90. package/dist/utils.js.map +1 -0
  91. package/dist/viewController/MemberOrderViewController.js +144 -0
  92. package/dist/viewController/MemberOrderViewController.js.map +1 -0
  93. package/dist/viewDoMain/CheckMemberProcessorBlock.js +53 -0
  94. package/dist/viewDoMain/CheckMemberProcessorBlock.js.map +1 -0
  95. package/dist/viewDoMain/CheckMemberStorageProcessorBlock.js +85 -0
  96. package/dist/viewDoMain/CheckMemberStorageProcessorBlock.js.map +1 -0
  97. package/dist/viewDoMain/CheckSelectMemberProcessorBlock.js +69 -0
  98. package/dist/viewDoMain/CheckSelectMemberProcessorBlock.js.map +1 -0
  99. package/dist/viewDoMain/CheckUpdatePasswordProcessorBlock.js +44 -0
  100. package/dist/viewDoMain/CheckUpdatePasswordProcessorBlock.js.map +1 -0
  101. package/dist/viewDoMain/MemberDataChangedProcessorBlock.js +66 -0
  102. package/dist/viewDoMain/MemberDataChangedProcessorBlock.js.map +1 -0
  103. package/dist/viewDoMain/MemberDataPreSaveProcessorBlock.js +79 -0
  104. package/dist/viewDoMain/MemberDataPreSaveProcessorBlock.js.map +1 -0
  105. package/dist/viewModels/MemberDeduction.js +862 -0
  106. package/dist/viewModels/MemberDeduction.js.map +1 -0
  107. package/dist/viewModels/MemberOrder.js +248 -0
  108. package/dist/viewModels/MemberOrder.js.map +1 -0
  109. package/dist/viewModels/MemberProject.js +953 -0
  110. package/dist/viewModels/MemberProject.js.map +1 -0
  111. package/dist/viewModels/MemberStore.js +310 -0
  112. package/dist/viewModels/MemberStore.js.map +1 -0
  113. package/dist/views/commonPerson/commonPerson.less +54 -0
  114. package/dist/views/commonPerson/commonPersonModal.js +459 -0
  115. package/dist/views/commonPerson/commonPersonModal.js.map +1 -0
  116. package/dist/views/memberDeduction/MemberDeductionView.js +837 -0
  117. package/dist/views/memberDeduction/MemberDeductionView.js.map +1 -0
  118. package/dist/views/memberDeduction/deductionSuccess.js +62 -0
  119. package/dist/views/memberDeduction/deductionSuccess.js.map +1 -0
  120. package/dist/views/memberDeduction/memberDeduction.less +238 -0
  121. package/dist/views/memberManage/MemberOrderView.js +427 -0
  122. package/dist/views/memberManage/MemberOrderView.js.map +1 -0
  123. package/dist/views/memberManage/memberOrder.less +72 -0
  124. package/dist/views/memberProject/GroupProjectModal.js +676 -0
  125. package/dist/views/memberProject/GroupProjectModal.js.map +1 -0
  126. package/dist/views/memberProject/MemberProjectView.js +578 -0
  127. package/dist/views/memberProject/MemberProjectView.js.map +1 -0
  128. package/dist/views/memberProject/SelectProjectModal.js +330 -0
  129. package/dist/views/memberProject/SelectProjectModal.js.map +1 -0
  130. package/dist/views/memberProject/memberProject.less +334 -0
  131. package/dist/views/memberRecharge/MemberStoreView.js +546 -0
  132. package/dist/views/memberRecharge/MemberStoreView.js.map +1 -0
  133. package/dist/views/memberRecharge/memberStore.less +148 -0
  134. package/package.json +1 -1
@@ -0,0 +1,675 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = undefined;
7
+
8
+ var _Table2 = require('tinper-bee/dist/Table');
9
+
10
+ var _Table3 = _interopRequireDefault(_Table2);
11
+
12
+ var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
13
+
14
+ var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
15
+
16
+ var _toConsumableArray2 = require('babel-runtime/helpers/toConsumableArray');
17
+
18
+ var _toConsumableArray3 = _interopRequireDefault(_toConsumableArray2);
19
+
20
+ var _keys = require('babel-runtime/core-js/object/keys');
21
+
22
+ var _keys2 = _interopRequireDefault(_keys);
23
+
24
+ var _extends2 = require('babel-runtime/helpers/extends');
25
+
26
+ var _extends3 = _interopRequireDefault(_extends2);
27
+
28
+ var _Tabs3 = require('tinper-bee/dist/Tabs');
29
+
30
+ var _Tabs4 = _interopRequireDefault(_Tabs3);
31
+
32
+ var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
33
+
34
+ var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
35
+
36
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
37
+
38
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
39
+
40
+ var _createClass2 = require('babel-runtime/helpers/createClass');
41
+
42
+ var _createClass3 = _interopRequireDefault(_createClass2);
43
+
44
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
45
+
46
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
47
+
48
+ var _inherits2 = require('babel-runtime/helpers/inherits');
49
+
50
+ var _inherits3 = _interopRequireDefault(_inherits2);
51
+
52
+ var _class, _class2, _temp, _initialiseProps;
53
+
54
+ require('tinper-bee/dist/Table/index.css');
55
+
56
+ require('tinper-bee/dist/Tabs/index.css');
57
+
58
+ var _react = require('react');
59
+
60
+ var _react2 = _interopRequireDefault(_react);
61
+
62
+ var _mobxReact = require('mobx-react');
63
+
64
+ var _mutantsMicrofx = require('mutants-microfx');
65
+
66
+ var _tplusComponentsTouch = require('tplus-components-touch');
67
+
68
+ var _AuthProcess = require('../domain/member/AuthProcess');
69
+
70
+ var _utils = require('../utils');
71
+
72
+ var _propTypes = require('prop-types');
73
+
74
+ var _propTypes2 = _interopRequireDefault(_propTypes);
75
+
76
+ require('./ShopMember.less');
77
+
78
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
79
+
80
+ var TabPane = _Tabs4.default.TabPane;
81
+
82
+
83
+ var transform = {
84
+ Code: '会员编号',
85
+ CardCode: '会员卡号',
86
+ Name: '会员姓名',
87
+ MemberTypeName: '会员类型',
88
+ Mobilephone: '手机号',
89
+ Telephone: '联系电话',
90
+ StoreName: '开卡门店',
91
+ sex: '性别',
92
+ BirthDate: '出生日期',
93
+ TotalIntegral: '累计积分',
94
+ BalanceIntegral: '积分余额',
95
+ BalanceStorage: '储值余额',
96
+ TotalStorage: '储值总额', // 字段存疑
97
+ EffectiveDate: '生效日期',
98
+ ExpirationDate: '失效日期',
99
+ UmemberOpenId: '是否关注微信号',
100
+ UmemberLabel: '会员标签',
101
+ MemberCouponTitle: '代金券',
102
+ Memo: '备注',
103
+ MemberState: '会员状态'
104
+ };
105
+
106
+ var MemberTab = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_Component) {
107
+ (0, _inherits3.default)(MemberTab, _Component);
108
+
109
+ function MemberTab(props) {
110
+ (0, _classCallCheck3.default)(this, MemberTab);
111
+
112
+ var _this = (0, _possibleConstructorReturn3.default)(this, (MemberTab.__proto__ || (0, _getPrototypeOf2.default)(MemberTab)).call(this, props));
113
+
114
+ _initialiseProps.call(_this);
115
+
116
+ var _ref = _mutantsMicrofx.localStore.get('user') || {},
117
+ _ref$loginInfo = _ref.loginInfo;
118
+
119
+ _ref$loginInfo = _ref$loginInfo === undefined ? {} : _ref$loginInfo;
120
+ var IsEnableUMember = _ref$loginInfo.IsEnableUMember;
121
+
122
+ _this.state = { IsEnableUMember: !!IsEnableUMember };
123
+ return _this;
124
+ }
125
+
126
+ (0, _createClass3.default)(MemberTab, [{
127
+ key: 'componentDidMount',
128
+ value: function componentDidMount() {
129
+ this.overflowTip = new _tplusComponentsTouch.OverflowTip({
130
+ target: '.member-content-tab',
131
+ format: function format(text) {
132
+ text = text || '';
133
+ var colonStr = ':';
134
+ if (text.startsWith(colonStr)) {
135
+ return text.split(colonStr)[1];
136
+ }
137
+ return text;
138
+ }
139
+ });
140
+ }
141
+ }, {
142
+ key: 'componentDidUpdate',
143
+ value: function componentDidUpdate() {
144
+ if (this.overflowTip && !this.overflowTip.containerDom) {
145
+ this.overflowTip.update();
146
+ }
147
+ }
148
+ }, {
149
+ key: 'componentWillUnmount',
150
+ value: function componentWillUnmount() {
151
+ this.overflowTip.destroy();
152
+ }
153
+ }, {
154
+ key: 'render',
155
+ value: function render() {
156
+ var _props = this.props,
157
+ showModal = _props.showModal,
158
+ titleModal = _props.titleModal,
159
+ _props$memberInfo = _props.memberInfo,
160
+ memberInfo = _props$memberInfo === undefined ? {} : _props$memberInfo,
161
+ _props$defaultActiveK = _props.defaultActiveKey,
162
+ defaultActiveKey = _props$defaultActiveK === undefined ? '1' : _props$defaultActiveK;
163
+
164
+ var status = _AuthProcess.AuthProcess.execute('ProjectStorageNew') || _AuthProcess.AuthProcess.execute('ProjectStorageCost');
165
+ return _react2.default.createElement(
166
+ _Tabs4.default,
167
+ {
168
+ defaultActiveKey: defaultActiveKey,
169
+ onChange: this.props.onChange,
170
+ className: 'member-table-container'
171
+ },
172
+ this.memberInfoEle({ title: '会员信息', key: '1' }),
173
+ this.rmecommendEle({ title: '智能推荐', key: '2' }),
174
+ this.recentlyEle({ title: '最近购买', key: '3' }),
175
+ status && this.deductionEle({ title: '次卡', key: '4' })
176
+ );
177
+ }
178
+ }]);
179
+ return MemberTab;
180
+ }(_react.Component), _class2.propTypes = {
181
+ memberTabHeight: _propTypes2.default.number,
182
+ defaultActiveKey: _propTypes2.default.any,
183
+ memberList: _propTypes2.default.array,
184
+ columnInfo: _propTypes2.default.array,
185
+ member: _propTypes2.default.object,
186
+ memberInfo: _propTypes2.default.object,
187
+ precisionInfo: _propTypes2.default.object,
188
+ initEmpty: _propTypes2.default.bool,
189
+ onChange: _propTypes2.default.func
190
+ }, _initialiseProps = function _initialiseProps() {
191
+ var _this2 = this;
192
+
193
+ this.tabHeadHeight = 37;
194
+
195
+ this.dataClear = function (keys, values, columnInfo) {
196
+ var regKey = 'priuserdef';
197
+ var dataSource = [];
198
+ keys.forEach(function (key, index) {
199
+ if (key.includes(regKey)) {
200
+ var _ref2 = columnInfo.find(function (v) {
201
+ return v.FieldName === key;
202
+ }) || {},
203
+ label = _ref2.Title;
204
+
205
+ dataSource.push({ key: key, value: values[index], label: label });
206
+ }
207
+ });
208
+ return dataSource.filter(function (v) {
209
+ return v.label;
210
+ });
211
+ };
212
+
213
+ this.memberInfoEle = function (_ref3) {
214
+ var title = _ref3.title,
215
+ key = _ref3.key;
216
+ var _props2 = _this2.props,
217
+ _props2$member = _props2.member,
218
+ member = _props2$member === undefined ? {} : _props2$member,
219
+ memberTabHeight = _props2.memberTabHeight,
220
+ _props2$memberList = _props2.memberList,
221
+ memberList = _props2$memberList === undefined ? [] : _props2$memberList,
222
+ _props2$columnInfo = _props2.columnInfo,
223
+ columnInfo = _props2$columnInfo === undefined ? [] : _props2$columnInfo,
224
+ _props2$precisionInfo = _props2.precisionInfo,
225
+ precisionInfo = _props2$precisionInfo === undefined ? {} : _props2$precisionInfo,
226
+ getMemberStateStamp = _props2.getMemberStateStamp;
227
+ var IsEnableUMember = _this2.state.IsEnableUMember;
228
+ var _member$DynamicProper = member.DynamicPropertyKeys,
229
+ DynamicPropertyKeys = _member$DynamicProper === undefined ? [] : _member$DynamicProper,
230
+ _member$DynamicProper2 = member.DynamicPropertyValues,
231
+ DynamicPropertyValues = _member$DynamicProper2 === undefined ? [] : _member$DynamicProper2,
232
+ _member$ExpirationDat = member.ExpirationDate,
233
+ ExpirationDate = _member$ExpirationDat === undefined ? '' : _member$ExpirationDat,
234
+ _member$MemberType = member.MemberType;
235
+ _member$MemberType = _member$MemberType === undefined ? {} : _member$MemberType;
236
+ var MemberTypeName = _member$MemberType.Name,
237
+ _member$Sex = member.Sex;
238
+ _member$Sex = _member$Sex === undefined ? {} : _member$Sex;
239
+ var sex = _member$Sex.Name,
240
+ isExpiration = member.isExpiration,
241
+ Uid = member.Uid,
242
+ isUserLogout = member.isUserLogout,
243
+ MemberState = member.MemberState,
244
+ _member$Store = member.Store;
245
+ _member$Store = _member$Store === undefined ? {} : _member$Store;
246
+ var StoreName = _member$Store.Name;
247
+
248
+ var priuserdefData = _this2.dataClear(DynamicPropertyKeys, DynamicPropertyValues, columnInfo);
249
+ var isUMember = IsEnableUMember && Uid > 0; // 判断为u会员
250
+ var isUMemberShow = ['UmemberOpenId', 'UmemberLabel', 'MemberCouponTitle'];
251
+ var memberValues = (0, _extends3.default)({ MemberTypeName: MemberTypeName, sex: sex, StoreName: StoreName }, member);
252
+ var memberInfos = [];
253
+ var memberTabContentHeight = memberTabHeight - _this2.tabHeadHeight;
254
+ var hasMemberInfo = (0, _keys2.default)(memberValues).some(function (v) {
255
+ return memberValues[v];
256
+ });
257
+ (0, _keys2.default)(transform).forEach(function (v) {
258
+ if (isUMemberShow.includes(v) && !isUMember) return;
259
+ var memberValue = memberValues[v];
260
+ var precision = precisionInfo[v];
261
+ //let value = formatPrecisionKeys.includes(v) ? (hasMemberInfo ? formatPrecision(memberValue, precision) : undefined) : memberValue;
262
+ var value = !!precision ? hasMemberInfo ? (0, _utils.formatPrecision)(memberValue, precision) : undefined : memberValue;
263
+ v === 'UmemberOpenId' && (value = memberValue ? '已关注' : '未关注');
264
+ var dataItem = void 0;
265
+ if (v === 'MemberState') {
266
+ dataItem = { label: '' + transform[v], value: value && value.Name };
267
+ } else {
268
+ dataItem = { label: '' + transform[v], value: value };
269
+ }
270
+ memberInfos.push(dataItem);
271
+ });
272
+
273
+ //对自定义项的值进行处理。
274
+ if (priuserdefData && priuserdefData.length > 0) {
275
+ priuserdefData.map(function (item) {
276
+ var _ref4 = item || {},
277
+ key = _ref4.key,
278
+ value = _ref4.value;
279
+
280
+ var precision = precisionInfo[key];
281
+ item['value'] = !!precision ? (0, _utils.formatPrecision)(value, precision) : value;
282
+ });
283
+ }
284
+
285
+ memberInfos.push.apply(memberInfos, (0, _toConsumableArray3.default)(priuserdefData)); // 插入会员自定义项
286
+ memberInfos.length % 2 && memberInfos.push({}); //奇数补全
287
+
288
+ var formatValue = function formatValue(label, value) {
289
+ var formatDateKeys = ['出生日期', '失效日期', '生效日期'];
290
+ if (formatDateKeys.includes(label)) {
291
+ return (0, _utils.dateFormat)(value);
292
+ } else {
293
+ return value;
294
+ }
295
+ };
296
+ //状态戳
297
+ var iconItems = getMemberStateStamp(member);
298
+ return _react2.default.createElement(
299
+ TabPane,
300
+ { tab: title, key: key },
301
+ _react2.default.createElement(
302
+ 'div',
303
+ { style: { height: memberTabContentHeight, position: 'relative' } },
304
+ _react2.default.createElement(
305
+ _tplusComponentsTouch.TouchScroll,
306
+ { height: memberTabContentHeight },
307
+ !!memberList.length && _react2.default.createElement(
308
+ 'div',
309
+ { className: 'member-info-table' },
310
+ memberInfos.map(function (item, index) {
311
+ return _react2.default.createElement(
312
+ 'div',
313
+ { key: index },
314
+ item.label && _react2.default.createElement(
315
+ 'span',
316
+ null,
317
+ item.label || ''
318
+ ),
319
+ item.label && _react2.default.createElement(
320
+ 'span',
321
+ { 'data-overflow': 'tip' },
322
+ '\uFF1A',
323
+ formatValue(item.label, item.value)
324
+ )
325
+ );
326
+ }),
327
+ !memberInfos.length && _react2.default.createElement(
328
+ 'p',
329
+ { className: 'empty-data' },
330
+ '\u6682\u65E0\u6570\u636E~'
331
+ )
332
+ ),
333
+ !memberList.length && _react2.default.createElement('div', { className: 'empty-data empty-data-img' })
334
+ ),
335
+ iconItems && iconItems.length > 0 && _react2.default.createElement(
336
+ 'div',
337
+ { className: 'memberstate-detail-stamp' },
338
+ iconItems
339
+ )
340
+ )
341
+ );
342
+ };
343
+
344
+ this.rmecommendEle = function (_ref5) {
345
+ var title = _ref5.title,
346
+ key = _ref5.key;
347
+ var _props3 = _this2.props,
348
+ _props3$recommend = _props3.recommend,
349
+ recommends = _props3$recommend === undefined ? [] : _props3$recommend,
350
+ _props3$memberInfo = _props3.memberInfo;
351
+ _props3$memberInfo = _props3$memberInfo === undefined ? {} : _props3$memberInfo;
352
+ var _props3$memberInfo$re = _props3$memberInfo.record,
353
+ record = _props3$memberInfo$re === undefined ? [] : _props3$memberInfo$re,
354
+ _props3$memberInfo$li = _props3$memberInfo.like,
355
+ like = _props3$memberInfo$li === undefined ? [] : _props3$memberInfo$li,
356
+ memberTabHeight = _props3.memberTabHeight,
357
+ initEmpty = _props3.initEmpty;
358
+
359
+ recommends = recommends.filter(function (v) {
360
+ return v;
361
+ });
362
+ recommends.push({ Name: '最近购买', Value: like });
363
+ var recommendInfoHeight = 74;
364
+ var memberTabContentHeight = memberTabHeight - _this2.tabHeadHeight;
365
+ var haveRecord = !!record.length && record.every(function (v) {
366
+ return !!(v && v.value);
367
+ });
368
+ console.log('会员偶发白屏问题:recommends==', recommends);
369
+ var emptyRecommend = recommends.every(function (v) {
370
+ return !(v && v.Value || []).length;
371
+ }) ? _react2.default.createElement(
372
+ 'div',
373
+ { className: 'empty-data' },
374
+ '\u6682\u65E0\u63A8\u8350~'
375
+ ) : null;
376
+ var emptyData = !haveRecord && recommends.every(function (v) {
377
+ return !(v && v.Value || []).length;
378
+ }) ? _react2.default.createElement('div', { className: 'empty-data empty-data-img' }) : null;
379
+ var showInfos = ['最近购买时间', '金额', '平均客单价'];
380
+ var recordFilter = record.filter(function (v) {
381
+ return showInfos.includes(v.name);
382
+ });
383
+ var recommendHeight = haveRecord ? memberTabContentHeight - recommendInfoHeight : memberTabContentHeight;
384
+ return _react2.default.createElement(
385
+ TabPane,
386
+ { tab: title, key: key },
387
+ _react2.default.createElement(
388
+ 'div',
389
+ { className: 'recommend-tab', style: { height: memberTabContentHeight } },
390
+ haveRecord && _react2.default.createElement(
391
+ 'div',
392
+ { className: 'recommend-info' },
393
+ recordFilter.map(function (item, key) {
394
+ return _react2.default.createElement(
395
+ 'span',
396
+ { key: key },
397
+ item.name,
398
+ ': ',
399
+ item.value
400
+ );
401
+ })
402
+ ),
403
+ _react2.default.createElement(
404
+ 'div',
405
+ { className: 'recommend-connent', style: { height: recommendHeight } },
406
+ _react2.default.createElement(
407
+ _tplusComponentsTouch.TouchScroll,
408
+ { height: recommendHeight, key: recommendHeight },
409
+ recommends.map(function (item, index) {
410
+ if (!(item.Value || []).length) return null;
411
+ return _react2.default.createElement(
412
+ 'div',
413
+ { key: index, className: 'detail-content' },
414
+ _react2.default.createElement(
415
+ 'h1',
416
+ null,
417
+ item.Name
418
+ ),
419
+ _react2.default.createElement(_tplusComponentsTouch.CardList, {
420
+ list: item.Value || [],
421
+ maxEmpyt: 5
422
+ })
423
+ );
424
+ })
425
+ ),
426
+ initEmpty && emptyRecommend
427
+ ),
428
+ initEmpty && emptyData
429
+ )
430
+ );
431
+ };
432
+
433
+ this.recentlyEle = function (_ref6) {
434
+ var title = _ref6.title,
435
+ key = _ref6.key;
436
+ var _props4 = _this2.props,
437
+ memberTabHeight = _props4.memberTabHeight,
438
+ _props4$memberInfo = _props4.memberInfo;
439
+ _props4$memberInfo = _props4$memberInfo === undefined ? {} : _props4$memberInfo;
440
+ var _props4$memberInfo$re = _props4$memberInfo.recency,
441
+ recency = _props4$memberInfo$re === undefined ? [] : _props4$memberInfo$re;
442
+
443
+ var theadHeight = 50;
444
+ var tableHeight = memberTabHeight - _this2.tabHeadHeight;
445
+ var dataSource = [];
446
+ var data = recency;
447
+ data.forEach(function (vlaue, i) {
448
+ var index = dataSource.findIndex(function (v) {
449
+ return v.code === vlaue.Code;
450
+ });
451
+ if (~index) {
452
+ dataSource[index].data.push(vlaue);
453
+ } else {
454
+ var _ref7 = vlaue || {},
455
+ Time = _ref7.Time,
456
+ Code = _ref7.Code,
457
+ rest = (0, _objectWithoutProperties3.default)(_ref7, ['Time', 'Code']);
458
+
459
+ var itemValue = { date: Time, code: Code, data: [rest] };
460
+ dataSource.push(itemValue);
461
+ }
462
+ });
463
+
464
+ dataSource.forEach(function (value) {
465
+ // 金额倒序排序
466
+ var itemData = value.data;
467
+ if (itemData.length > 1) {
468
+ itemData.sort(function () {
469
+ var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
470
+ var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
471
+ return b.Amount - a.Amount;
472
+ });
473
+ }
474
+ });
475
+
476
+ return _react2.default.createElement(
477
+ TabPane,
478
+ { tab: title, key: key },
479
+ !!dataSource.length && _react2.default.createElement(
480
+ 'div',
481
+ { className: 'recently-tab' },
482
+ _react2.default.createElement(
483
+ 'table',
484
+ { className: 'table' },
485
+ _react2.default.createElement(
486
+ 'thead',
487
+ null,
488
+ _react2.default.createElement(
489
+ 'tr',
490
+ null,
491
+ _react2.default.createElement(
492
+ 'th',
493
+ { width: '25%' },
494
+ '\u6D88\u8D39\u65E5\u671F'
495
+ ),
496
+ _react2.default.createElement(
497
+ 'th',
498
+ { width: '25%' },
499
+ '\u5546\u54C1'
500
+ ),
501
+ _react2.default.createElement(
502
+ 'th',
503
+ { width: '25%', style: { textAlign: 'center' } },
504
+ '\u6570\u91CF'
505
+ ),
506
+ _react2.default.createElement(
507
+ 'th',
508
+ { width: '25%', className: 'amount-item' },
509
+ '\u6D88\u8D39\u91D1\u989D'
510
+ )
511
+ )
512
+ ),
513
+ _react2.default.createElement(
514
+ 'tbody',
515
+ { style: { height: tableHeight - theadHeight } },
516
+ _react2.default.createElement(
517
+ _tplusComponentsTouch.TouchScroll,
518
+ null,
519
+ dataSource.map(function (item, key) {
520
+ return item.data.map(function (v, i) {
521
+ return _react2.default.createElement(
522
+ 'tr',
523
+ { key: i },
524
+ !i ? _react2.default.createElement(
525
+ 'td',
526
+ { className: item.data.length === 1 ? 'only-one-data' : '' },
527
+ (0, _utils.dateFormat)(item.date)
528
+ ) : _react2.default.createElement('td', { className: item.data.length - 1 === i ? 'data-border' : '' }),
529
+ _react2.default.createElement(
530
+ 'td',
531
+ { 'data-overflow': 'tip' },
532
+ v.Name
533
+ ),
534
+ _react2.default.createElement(
535
+ 'td',
536
+ { 'data-overflow': 'tip', style: { textAlign: 'center' } },
537
+ v.Quantity
538
+ ),
539
+ _react2.default.createElement(
540
+ 'td',
541
+ { 'data-overflow': 'tip' },
542
+ v.Amount
543
+ )
544
+ );
545
+ });
546
+ })
547
+ )
548
+ )
549
+ )
550
+ ),
551
+ !dataSource.length && _react2.default.createElement(
552
+ 'div',
553
+ { style: { height: tableHeight, position: 'relative' } },
554
+ _react2.default.createElement('div', { className: 'empty-data empty-data-img' })
555
+ )
556
+ );
557
+ };
558
+
559
+ this.handleDeductionData = function (storages) {
560
+ var arr = [];
561
+ storages && storages.map(function (value) {
562
+ var _value$PackageInfo = value.PackageInfo,
563
+ PackageName = _value$PackageInfo.PackageName,
564
+ EffectiveDate = _value$PackageInfo.EffectiveDate,
565
+ ExpirationDate = _value$PackageInfo.ExpirationDate,
566
+ PackageIsLimit = _value$PackageInfo.PackageIsLimit;
567
+
568
+ var exprieTime = void 0;
569
+ if (EffectiveDate && ExpirationDate) {
570
+ exprieTime = (0, _utils.dateFormat)(EffectiveDate) + '至' + (0, _utils.dateFormat)(ExpirationDate);
571
+ } else if (EffectiveDate && !ExpirationDate) {
572
+ exprieTime = (0, _utils.dateFormat)(EffectiveDate) + '至';
573
+ } else if (!EffectiveDate && ExpirationDate) {
574
+ exprieTime = '至' + (0, _utils.dateFormat)(ExpirationDate);
575
+ }
576
+ value.ProjectInfo.map(function (newValue, index) {
577
+ var ProjectBuyTimes = newValue.ProjectBuyTimes,
578
+ ProjectUsedTimes = newValue.ProjectUsedTimes,
579
+ ProjectName = newValue.ProjectName;
580
+
581
+ arr.push({
582
+ PackageName: PackageName ? PackageName : '',
583
+ ProjectName: ProjectName,
584
+ ProjectBuyTimes: ProjectBuyTimes,
585
+ ProjectSplusTimes: ProjectBuyTimes - ProjectUsedTimes,
586
+ ProjectUsedTimes: ProjectUsedTimes,
587
+ exprieTime: exprieTime,
588
+ PackageIsLimit: PackageIsLimit
589
+ });
590
+ });
591
+ });
592
+ return arr;
593
+ };
594
+
595
+ this.handleDraggingBorder = function (event, width) {
596
+ if (!width) return;
597
+ var el = event && event.target;
598
+ var key = el.getAttribute('data-line-key');
599
+ if (key == 'rowNum') {
600
+ _this2.isAllowDragg = false;
601
+ } else {
602
+ _this2.isAllowDragg = true;
603
+ }
604
+ };
605
+
606
+ this.handleDropBorder = function (event, width) {
607
+ if (!width || !_this2.isAllowDragg) return;
608
+ var el = event && event.target;
609
+ var key = el.getAttribute('data-line-key');
610
+ key = _this2.getTableColumnName(key);
611
+ _this2.setVoucherWidth('RetailOrder', key, width);
612
+ _this2.handleTouchTableCallback();
613
+ console.log('调整列宽:' + key + ';' + width);
614
+ };
615
+
616
+ this.deductionEle = function (_ref8) {
617
+ var title = _ref8.title,
618
+ key = _ref8.key;
619
+ var _props5 = _this2.props,
620
+ _props5$member = _props5.member,
621
+ member = _props5$member === undefined ? {} : _props5$member,
622
+ memberTabHeight = _props5.memberTabHeight;
623
+ var storages = stores.memberStore.storages;
624
+
625
+ var memberTabContentHeight = memberTabHeight - _this2.tabHeadHeight;
626
+ var columns = [{ title: "套餐", dataIndex: "PackageName", key: "PackageName", textAlign: 'center', width: 80 }, { title: "项目", dataIndex: "ProjectName", key: "ProjectName", textAlign: 'center', width: 100 }, { title: "总次数", dataIndex: "ProjectBuyTimes", key: "ProjectBuyTimes", textAlign: 'center', width: 60,
627
+ render: function render(text, record, index) {
628
+ return !record.PackageIsLimit ? _react2.default.createElement(
629
+ 'span',
630
+ { className: 'isLimitClass' },
631
+ '\u65E0\u9650\u6B21'
632
+ ) : _react2.default.createElement(
633
+ 'span',
634
+ { className: 'text' },
635
+ text
636
+ );
637
+ } }, { title: "已使用", dataIndex: "ProjectUsedTimes", key: "ProjectUsedTimes", textAlign: 'center', width: 60 }, { title: "剩余次数", dataIndex: "ProjectSplusTimes", key: "ProjectSplusTimes", textAlign: 'center', width: 80, controlType: 'NumTextBox',
638
+ render: function render(text, record, index) {
639
+ return !record.PackageIsLimit ? _react2.default.createElement(
640
+ 'span',
641
+ { className: 'isLimitClass' },
642
+ '\u65E0\u9650\u6B21'
643
+ ) : _react2.default.createElement(
644
+ 'span',
645
+ { className: 'text' },
646
+ text
647
+ );
648
+ } }, { title: "有效日期", dataIndex: "exprieTime", key: "exprieTime", textAlign: 'center', width: 100 }];
649
+
650
+ var selectDeductionList = _this2.handleDeductionData(storages);
651
+ return _react2.default.createElement(
652
+ TabPane,
653
+ { tab: title, key: key, className: 'deduction-tab' },
654
+ _react2.default.createElement(
655
+ 'div',
656
+ { style: { height: memberTabContentHeight, position: 'relative' } },
657
+ selectDeductionList && _react2.default.createElement(_Table3.default, {
658
+ bodyDisplayInRow: true,
659
+ columns: columns,
660
+ dragborder: true
661
+ // onDraggingBorder={(e, width) => this.handleDraggingBorder(e, width)}
662
+ // onDropBorder={(e, width) => this.handleDropBorder(e, width)}
663
+ , data: selectDeductionList,
664
+ parentNodeId: 'parent',
665
+ height: 50,
666
+ headerHeight: 50,
667
+ className: 'deductionTable',
668
+ scroll: { x: 585, y: memberTabContentHeight - 63 } })
669
+ )
670
+ );
671
+ };
672
+ }, _temp)) || _class;
673
+
674
+ exports.default = MemberTab;
675
+ //# sourceMappingURL=memberTab.js.map