tplus-member 3.43.1 → 3.45.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. package/dist/member/MemberCardList.js +4 -2
  2. package/dist/member/MemberCardList.js.map +1 -1
  3. package/dist/member/ShopMember.js +9 -12
  4. package/dist/member/ShopMember.js.map +1 -1
  5. package/dist/member/ShopMember.less +4 -3
  6. package/dist/member/ShopMemberStorage.js +6 -9
  7. package/dist/member/ShopMemberStorage.js.map +1 -1
  8. package/dist/member/api.js +30 -60
  9. package/dist/member/api.js.map +1 -1
  10. package/dist/member/index.js +478 -521
  11. package/dist/member/index.js.map +1 -1
  12. package/dist/member/index.less +2 -1
  13. package/dist/member/memberMenu/index.js +37 -47
  14. package/dist/member/memberMenu/index.js.map +1 -1
  15. package/dist/member/memberMenu/modifyPass/store.js +31 -81
  16. package/dist/member/memberMenu/modifyPass/store.js.map +1 -1
  17. package/dist/member/memberMenuStorage/index.js +2 -1
  18. package/dist/member/memberMenuStorage/index.js.map +1 -1
  19. package/dist/member/memberMenuStorage/modifyPass/store.js +43 -111
  20. package/dist/member/memberMenuStorage/modifyPass/store.js.map +1 -1
  21. package/dist/member/memberTab/MemberManager.js +17 -22
  22. package/dist/member/memberTab/MemberManager.js.map +1 -1
  23. package/dist/member/memberTab.js +14 -19
  24. package/dist/member/memberTab.js.map +1 -1
  25. package/dist/stores/MemberStore.js +35 -60
  26. package/dist/stores/MemberStore.js.map +1 -1
  27. package/dist/viewDoMain/CheckMemberProcessorBlock.js +1 -4
  28. package/dist/viewDoMain/CheckMemberProcessorBlock.js.map +1 -1
  29. package/dist/views/MemberOrderView.js +4 -2
  30. package/dist/views/MemberOrderView.js.map +1 -1
  31. package/dist/views/MemberStoreNewView.js +5 -2
  32. package/dist/views/MemberStoreNewView.js.map +1 -1
  33. package/dist/views/MemberStoreView.js +5 -2
  34. package/dist/views/MemberStoreView.js.map +1 -1
  35. package/dist/views/MemberStoreViewContainer.js +1 -4
  36. package/dist/views/MemberStoreViewContainer.js.map +1 -1
  37. package/package.json +6 -6
@@ -54,6 +54,9 @@ var MemberCardList = function (_Component) {
54
54
  var _this = (0, _possibleConstructorReturn3.default)(this, (MemberCardList.__proto__ || (0, _getPrototypeOf2.default)(MemberCardList)).call(this, props));
55
55
 
56
56
  _this.memberSwiper = undefined;
57
+ _this.sys_parms = {
58
+ defaultAvatar: window.ossAliyuncsFileURL + '/default_avatar.png'
59
+ };
57
60
 
58
61
  _this.resetSlideTop = function () {
59
62
  if (_this.memberSwiper) {
@@ -91,7 +94,6 @@ var MemberCardList = function (_Component) {
91
94
 
92
95
  var iconItems = getMemberStateStamp(item);
93
96
  var labels = UmemberLabel ? UmemberLabel.split(',') : [];
94
- var defaultAvatar = 'https://newretail.static.chanjet.com/default_avatar.png';
95
97
  var isSelected = selected === key;
96
98
  return _react2.default.createElement(
97
99
  'div',
@@ -109,7 +111,7 @@ var MemberCardList = function (_Component) {
109
111
  _react2.default.createElement(
110
112
  'div',
111
113
  { className: 'avatar-box' },
112
- _react2.default.createElement('img', { src: ImageFile || defaultAvatar, width: 60, height: 60 }),
114
+ _react2.default.createElement('img', { src: ImageFile || _this.sys_parms.defaultAvatar, width: 60, height: 60 }),
113
115
  IsEnableUMember && _react2.default.createElement(
114
116
  'div',
115
117
  { className: 'avatar-bage ' + (UmemberOpenId ? 'bage-follow' : '') },
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/MemberCardList.js"],"names":["MemberCardList","props","memberSwiper","undefined","resetSlideTop","slideTo","getMemberCardItemRender","item","key","IsEnableUMember","precisionInfo","ID","Name","Mobilephone","CardCode","BalanceIntegral","BalanceStorage","MemberType","IsFocusUmember","UmemberLabel","ImageFile","ExpirationDate","isExpiration","isUserLogout","UmemberOpenId","getMemberStateStamp","loadUserInfo","selected","isCC","iconItems","labels","split","defaultAvatar","isSelected","length","map","getCardItemRender","StorageCardNo","IsSale","CardTypeEnum","setCardInfo","state","memberLength","cardListLength","memberList","cardList","storeKey","setStateName","listLength","listName","setState","updateSlides","initSwiper","destroy","Swiper","direction","slidesPerView","mousewheel","watchSlidesProgress","freeMode","on","progress","progressListen","scrollbar","el","hide","user","JSON","parse","localStorage","getItem","loginInfo","loadmoreLoading","nomoreData","title","noList","display","height","value","marginTop","Component"],"mappings":"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","file":"MemberCardList.js","sourcesContent":["/*\r\n 会员/储值卡列表\r\n*/\r\nimport React, { Component } from 'react'\r\nimport { formatPrecision } from '../utils';\r\nimport { Ticon } from 'tplus-components-touch';\r\nimport Swiper from 'swiper/dist/js/swiper.js';\r\nimport 'swiper/dist/css/swiper.min.css';\r\n\r\nexport default class MemberCardList extends Component {\r\n memberSwiper = undefined\r\n constructor (props) {\r\n super(props)\r\n this.state = {\r\n memberLength: 0,\r\n cardListLength: 0\r\n }\r\n }\r\n componentDidUpdate () {\r\n const { memberList = [], cardList, storeKey} = this.props\r\n const { memberLength, cardListLength } = this.state\r\n const setStateName = storeKey === 'memberManager' ? 'memberLength' : 'cardListLength'\r\n const listLength = storeKey === 'memberManager' ? memberLength : cardListLength\r\n const listName = storeKey === 'memberManager' ? memberList : cardList\r\n if (listName.length !== listLength) {\r\n this.setState({[setStateName]: listName.length}, () => {\r\n if (this.memberSwiper) {\r\n this.memberSwiper.updateSlides();\r\n } else {\r\n this.initSwiper()\r\n }\r\n })\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.memberSwiper && this.memberSwiper.destroy(false);\r\n this.memberSwiper = undefined;\r\n }\r\n initSwiper () {\r\n this.memberSwiper = new Swiper('.swiper-member-container', {\r\n direction: 'vertical',\r\n slidesPerView: 'auto',\r\n mousewheel: true,\r\n watchSlidesProgress : true,\r\n freeMode: true,\r\n on: {\r\n progress: this.props.progressListen\r\n },\r\n scrollbar: {\r\n el: '.swiper-scrollbar',\r\n hide: true,\r\n }\r\n });\r\n }\r\n resetSlideTop = () => {\r\n if (this.memberSwiper) {\r\n this.memberSwiper.slideTo(0, 0, false);\r\n }\r\n }\r\n // 渲染会员列表里面的每一项\r\n getMemberCardItemRender = (item = {}, key, IsEnableUMember, precisionInfo = {}) => {\r\n const {\r\n ID, Name, Mobilephone, CardCode, BalanceIntegral, BalanceStorage, MemberType = {},\r\n IsFocusUmember, UmemberLabel = '', ImageFile, ExpirationDate = '', isExpiration, isUserLogout, UmemberOpenId\r\n } = item;\r\n const {\r\n getMemberStateStamp,\r\n loadUserInfo,\r\n selected,\r\n isCC\r\n } = this.props\r\n const iconItems = getMemberStateStamp(item);\r\n const labels = UmemberLabel ? UmemberLabel.split(',') : [];\r\n const defaultAvatar = 'https://newretail.static.chanjet.com/default_avatar.png';\r\n const isSelected = selected === key;\r\n return (\r\n <div key={key + 'getMemberCardItemRender'} className={`swiper-slide member-item-slide ${isSelected ? 'slide-selected' : ''}`} onClick={() => loadUserInfo(key, ID, item)}>\r\n {\r\n iconItems && iconItems.length > 0 &&\r\n <div className='memberstate-stamp'>\r\n {iconItems}\r\n </div>\r\n }\r\n <div className='card-avatar'>\r\n <div className='avatar-box'>\r\n <img src={ImageFile || defaultAvatar} width={60} height={60}/>\r\n {IsEnableUMember && <div className={`avatar-bage ${UmemberOpenId ? 'bage-follow' : ''}`}>\r\n <div className='avatar-bage-scale'>{UmemberOpenId ? '已关注' : '未关注'}</div>\r\n </div>}\r\n </div>\r\n </div>\r\n <div className='member-level'>\r\n <span>{MemberType.Name}</span>\r\n </div>\r\n <div className='member-info-container'>\r\n <div className='member-infos'>\r\n <h1 className='member-info-name'>{Name}</h1>\r\n <p className='member-phone'>{Mobilephone || CardCode}</p>\r\n </div>\r\n <div className='member-money'>\r\n <div className='score'>\r\n <span>{formatPrecision(BalanceIntegral, precisionInfo.BalanceIntegral)}积分</span>\r\n </div>\r\n <div className='balance'>\r\n <span>{BalanceStorage ? formatPrecision(BalanceStorage, precisionInfo.BalanceStorage) : 0}余额</span>\r\n </div>\r\n </div>\r\n {IsEnableUMember && <div className='member-tag'>\r\n {labels.map((item, key) => <span key={key}>{item}</span>)}\r\n </div>}\r\n </div>\r\n {\r\n isSelected && <div className='member-selected-icon'>\r\n <div className='member-selected-icon-arrow'>\r\n <Ticon type='huiyuanxuanzhong' />\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n );\r\n };\r\n // 渲染储值卡列表中的每一项\r\n getCardItemRender = (item = {}, key, IsEnableUMember) => {\r\n const {\r\n StorageCardNo,\r\n Name,\r\n BalanceStorage,\r\n IsSale,\r\n CardTypeEnum\r\n } = item;\r\n const {\r\n selected,\r\n setCardInfo\r\n } = this.props\r\n const isSelected = selected === key;\r\n return (\r\n <div key={key} className={`swiper-slide member-item-slide member-card-slide ${isSelected ? 'slide-selected' : ''}`} onClick={() => setCardInfo(key, item)}>\r\n {/* 卡号 开始 */}\r\n <div className=\"member-card-num\">{StorageCardNo}</div>\r\n {/* 卡号 结束 */}\r\n {/* 卡名称 开始 */}\r\n <div className=\"member-card-name\">{Name}</div>\r\n {/* 卡名称 结束 */}\r\n {/* 卡余额 开始 */}\r\n <div className=\"member-card-balance\">\r\n {\r\n IsSale === 'SOLD' || CardTypeEnum === 'BALANCE_CARD' ? formatPrecision(BalanceStorage, 2) : formatPrecision(0, 2)\r\n }\r\n <span>余额</span>\r\n </div>\r\n {/* 卡余额 结束 */}\r\n {/* 选中图标 开始 */}\r\n {\r\n isSelected && <div className='member-selected-icon'>\r\n <div className='member-selected-icon-arrow'>\r\n <Ticon type='huiyuanxuanzhong' />\r\n </div>\r\n </div>\r\n }\r\n {/* 选中图标 结束 */}\r\n </div>\r\n );\r\n }\r\n render () {\r\n const user = JSON.parse(localStorage.getItem('user')) || {};\r\n const { loginInfo: { IsEnableUMember } = {} } = user;\r\n const {\r\n memberList,\r\n precisionInfo,\r\n loadmoreLoading,\r\n nomoreData,\r\n title,\r\n storeKey,\r\n cardList = []\r\n } = this.props\r\n const noList = storeKey === 'memberManager' ? !memberList.length : !cardList.length;\r\n return (\r\n <div className='member-card-list-side' style={{ display: noList ? 'none' : 'block' }}>\r\n <div className=\"swiper-member-container\" style={{ height: '100%' }}>\r\n {\r\n storeKey === 'memberManager' &&\r\n <div className=\"swiper-wrapper\">\r\n {\r\n memberList.map((value, key) => this.getMemberCardItemRender(value, key, IsEnableUMember, precisionInfo))\r\n }\r\n {\r\n !memberList.length && <span className='empty-data-tip' style={{ marginTop: 30 }}>没有相关数据~</span>\r\n }\r\n {\r\n loadmoreLoading && <span className='empty-data-tip empty-data-tip-member-card'>数据加载中 ...</span>\r\n }\r\n {\r\n nomoreData && <span className='empty-data-tip empty-data-tip-member-card'>没有更多数据了~</span>\r\n }\r\n </div>\r\n }\r\n {\r\n storeKey === 'memberStorage' &&\r\n <div className=\"swiper-wrapper\">\r\n {\r\n cardList.map((value, key) => this.getCardItemRender(value, key, IsEnableUMember))\r\n }\r\n {\r\n !cardList.length && <span className='empty-data-tip' style={{ marginTop: 30 }}>没有相关数据~</span>\r\n }\r\n {\r\n loadmoreLoading && <span className='empty-data-tip empty-data-tip-member-card'>数据加载中 ...</span>\r\n }\r\n {\r\n nomoreData && <span className='empty-data-tip empty-data-tip-member-card'>没有更多数据了~</span>\r\n }\r\n </div>\r\n }\r\n <div className=\"swiper-scrollbar\" />\r\n </div>\r\n </div>\r\n )\r\n }\r\n}"]}
1
+ {"version":3,"sources":["tplus-member/member/MemberCardList.js"],"names":["MemberCardList","props","memberSwiper","undefined","sys_parms","defaultAvatar","window","ossAliyuncsFileURL","resetSlideTop","slideTo","getMemberCardItemRender","item","key","IsEnableUMember","precisionInfo","ID","Name","Mobilephone","CardCode","BalanceIntegral","BalanceStorage","MemberType","IsFocusUmember","UmemberLabel","ImageFile","ExpirationDate","isExpiration","isUserLogout","UmemberOpenId","getMemberStateStamp","loadUserInfo","selected","isCC","iconItems","labels","split","isSelected","length","map","getCardItemRender","StorageCardNo","IsSale","CardTypeEnum","setCardInfo","state","memberLength","cardListLength","memberList","cardList","storeKey","setStateName","listLength","listName","setState","updateSlides","initSwiper","destroy","Swiper","direction","slidesPerView","mousewheel","watchSlidesProgress","freeMode","on","progress","progressListen","scrollbar","el","hide","user","JSON","parse","localStorage","getItem","loginInfo","loadmoreLoading","nomoreData","title","noList","display","height","value","marginTop","Component"],"mappings":"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","file":"MemberCardList.js","sourcesContent":["/*\r\n 会员/储值卡列表\r\n*/\r\nimport React, { Component } from 'react'\r\nimport { formatPrecision } from '../utils';\r\nimport { Ticon } from 'tplus-components-touch';\r\nimport Swiper from 'swiper/dist/js/swiper.js';\r\nimport 'swiper/dist/css/swiper.min.css';\r\n\r\nexport default class MemberCardList extends Component {\r\n\r\n memberSwiper = undefined;\r\n\r\n sys_parms = {\r\n defaultAvatar: `${window.ossAliyuncsFileURL}/default_avatar.png`\r\n }\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n memberLength: 0,\r\n cardListLength: 0\r\n }\r\n }\r\n componentDidUpdate () {\r\n const { memberList = [], cardList, storeKey} = this.props\r\n const { memberLength, cardListLength } = this.state\r\n const setStateName = storeKey === 'memberManager' ? 'memberLength' : 'cardListLength'\r\n const listLength = storeKey === 'memberManager' ? memberLength : cardListLength\r\n const listName = storeKey === 'memberManager' ? memberList : cardList\r\n if (listName.length !== listLength) {\r\n this.setState({[setStateName]: listName.length}, () => {\r\n if (this.memberSwiper) {\r\n this.memberSwiper.updateSlides();\r\n } else {\r\n this.initSwiper()\r\n }\r\n })\r\n }\r\n }\r\n componentWillUnmount() {\r\n this.memberSwiper && this.memberSwiper.destroy(false);\r\n this.memberSwiper = undefined;\r\n }\r\n initSwiper () {\r\n this.memberSwiper = new Swiper('.swiper-member-container', {\r\n direction: 'vertical',\r\n slidesPerView: 'auto',\r\n mousewheel: true,\r\n watchSlidesProgress : true,\r\n freeMode: true,\r\n on: {\r\n progress: this.props.progressListen\r\n },\r\n scrollbar: {\r\n el: '.swiper-scrollbar',\r\n hide: true,\r\n }\r\n });\r\n }\r\n resetSlideTop = () => {\r\n if (this.memberSwiper) {\r\n this.memberSwiper.slideTo(0, 0, false);\r\n }\r\n }\r\n // 渲染会员列表里面的每一项\r\n getMemberCardItemRender = (item = {}, key, IsEnableUMember, precisionInfo = {}) => {\r\n const {\r\n ID, Name, Mobilephone, CardCode, BalanceIntegral, BalanceStorage, MemberType = {},\r\n IsFocusUmember, UmemberLabel = '', ImageFile, ExpirationDate = '', isExpiration, isUserLogout, UmemberOpenId\r\n } = item;\r\n const {\r\n getMemberStateStamp,\r\n loadUserInfo,\r\n selected,\r\n isCC\r\n } = this.props\r\n const iconItems = getMemberStateStamp(item);\r\n const labels = UmemberLabel ? UmemberLabel.split(',') : [];\r\n const isSelected = selected === key;\r\n return (\r\n <div key={key + 'getMemberCardItemRender'} className={`swiper-slide member-item-slide ${isSelected ? 'slide-selected' : ''}`} onClick={() => loadUserInfo(key, ID, item)}>\r\n {\r\n iconItems && iconItems.length > 0 &&\r\n <div className='memberstate-stamp'>\r\n {iconItems}\r\n </div>\r\n }\r\n <div className='card-avatar'>\r\n <div className='avatar-box'>\r\n <img src={ImageFile || this.sys_parms.defaultAvatar} width={60} height={60}/>\r\n {IsEnableUMember && <div className={`avatar-bage ${UmemberOpenId ? 'bage-follow' : ''}`}>\r\n <div className='avatar-bage-scale'>{UmemberOpenId ? '已关注' : '未关注'}</div>\r\n </div>}\r\n </div>\r\n </div>\r\n <div className='member-level'>\r\n <span>{MemberType.Name}</span>\r\n </div>\r\n <div className='member-info-container'>\r\n <div className='member-infos'>\r\n <h1 className='member-info-name'>{Name}</h1>\r\n <p className='member-phone'>{Mobilephone || CardCode}</p>\r\n </div>\r\n <div className='member-money'>\r\n <div className='score'>\r\n <span>{formatPrecision(BalanceIntegral, precisionInfo.BalanceIntegral)}积分</span>\r\n </div>\r\n <div className='balance'>\r\n <span>{BalanceStorage ? formatPrecision(BalanceStorage, precisionInfo.BalanceStorage) : 0}余额</span>\r\n </div>\r\n </div>\r\n {IsEnableUMember && <div className='member-tag'>\r\n {labels.map((item, key) => <span key={key}>{item}</span>)}\r\n </div>}\r\n </div>\r\n {\r\n isSelected && <div className='member-selected-icon'>\r\n <div className='member-selected-icon-arrow'>\r\n <Ticon type='huiyuanxuanzhong' />\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n );\r\n };\r\n // 渲染储值卡列表中的每一项\r\n getCardItemRender = (item = {}, key, IsEnableUMember) => {\r\n const {\r\n StorageCardNo,\r\n Name,\r\n BalanceStorage,\r\n IsSale,\r\n CardTypeEnum\r\n } = item;\r\n const {\r\n selected,\r\n setCardInfo\r\n } = this.props\r\n const isSelected = selected === key;\r\n return (\r\n <div key={key} className={`swiper-slide member-item-slide member-card-slide ${isSelected ? 'slide-selected' : ''}`} onClick={() => setCardInfo(key, item)}>\r\n {/* 卡号 开始 */}\r\n <div className=\"member-card-num\">{StorageCardNo}</div>\r\n {/* 卡号 结束 */}\r\n {/* 卡名称 开始 */}\r\n <div className=\"member-card-name\">{Name}</div>\r\n {/* 卡名称 结束 */}\r\n {/* 卡余额 开始 */}\r\n <div className=\"member-card-balance\">\r\n {\r\n IsSale === 'SOLD' || CardTypeEnum === 'BALANCE_CARD' ? formatPrecision(BalanceStorage, 2) : formatPrecision(0, 2)\r\n }\r\n <span>余额</span>\r\n </div>\r\n {/* 卡余额 结束 */}\r\n {/* 选中图标 开始 */}\r\n {\r\n isSelected && <div className='member-selected-icon'>\r\n <div className='member-selected-icon-arrow'>\r\n <Ticon type='huiyuanxuanzhong' />\r\n </div>\r\n </div>\r\n }\r\n {/* 选中图标 结束 */}\r\n </div>\r\n );\r\n }\r\n render () {\r\n const user = JSON.parse(localStorage.getItem('user')) || {};\r\n const { loginInfo: { IsEnableUMember } = {} } = user;\r\n const {\r\n memberList,\r\n precisionInfo,\r\n loadmoreLoading,\r\n nomoreData,\r\n title,\r\n storeKey,\r\n cardList = []\r\n } = this.props\r\n const noList = storeKey === 'memberManager' ? !memberList.length : !cardList.length;\r\n return (\r\n <div className='member-card-list-side' style={{ display: noList ? 'none' : 'block' }}>\r\n <div className=\"swiper-member-container\" style={{ height: '100%' }}>\r\n {\r\n storeKey === 'memberManager' &&\r\n <div className=\"swiper-wrapper\">\r\n {\r\n memberList.map((value, key) => this.getMemberCardItemRender(value, key, IsEnableUMember, precisionInfo))\r\n }\r\n {\r\n !memberList.length && <span className='empty-data-tip' style={{ marginTop: 30 }}>没有相关数据~</span>\r\n }\r\n {\r\n loadmoreLoading && <span className='empty-data-tip empty-data-tip-member-card'>数据加载中 ...</span>\r\n }\r\n {\r\n nomoreData && <span className='empty-data-tip empty-data-tip-member-card'>没有更多数据了~</span>\r\n }\r\n </div>\r\n }\r\n {\r\n storeKey === 'memberStorage' &&\r\n <div className=\"swiper-wrapper\">\r\n {\r\n cardList.map((value, key) => this.getCardItemRender(value, key, IsEnableUMember))\r\n }\r\n {\r\n !cardList.length && <span className='empty-data-tip' style={{ marginTop: 30 }}>没有相关数据~</span>\r\n }\r\n {\r\n loadmoreLoading && <span className='empty-data-tip empty-data-tip-member-card'>数据加载中 ...</span>\r\n }\r\n {\r\n nomoreData && <span className='empty-data-tip empty-data-tip-member-card'>没有更多数据了~</span>\r\n }\r\n </div>\r\n }\r\n <div className=\"swiper-scrollbar\" />\r\n </div>\r\n </div>\r\n )\r\n }\r\n}"]}
@@ -806,9 +806,6 @@ var ShopMember = (_temp = _class = function (_Component) {
806
806
 
807
807
  var mode = _this2.props.mode;
808
808
 
809
- var _ref10 = _mutantsUtil.platform || {},
810
- isNewRetailBCPos = _ref10.isNewRetailBCPos;
811
-
812
809
  _this2.state = {
813
810
  searchValue: '',
814
811
  memberList: [],
@@ -818,7 +815,7 @@ var ShopMember = (_temp = _class = function (_Component) {
818
815
  recency: []
819
816
  },
820
817
  searchStatus: !!_this2.props.listArr ? true : false,
821
- isCC: !!isNewRetailBCPos,
818
+ isCC: true,
822
819
  tabIndex: _this2.props.defaultActiveKey,
823
820
  isAllAuthority: false,
824
821
  tabMenuHeight: mode !== 'practice' ? 64 : 0, // 64为table上部操作菜单高度
@@ -906,7 +903,7 @@ var ShopMember = (_temp = _class = function (_Component) {
906
903
 
907
904
  // 获取会员的卡信息
908
905
  value: function () {
909
- var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(memberId) {
906
+ var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(memberId) {
910
907
  var cardInfo, _cardInfo$data, data;
911
908
 
912
909
  return _regenerator2.default.wrap(function _callee4$(_context4) {
@@ -943,7 +940,7 @@ var ShopMember = (_temp = _class = function (_Component) {
943
940
  }));
944
941
 
945
942
  function getCardInfoByMemberId(_x9) {
946
- return _ref11.apply(this, arguments);
943
+ return _ref10.apply(this, arguments);
947
944
  }
948
945
 
949
946
  return getCardInfoByMemberId;
@@ -1039,8 +1036,8 @@ var ShopMember = (_temp = _class = function (_Component) {
1039
1036
  className: _tplusComponentsTouch.hotKey.hotKeyNotFilter('search-input') + ' android_focus_keyboard',
1040
1037
  value: searchValue,
1041
1038
  type: 'native',
1042
- onChange: function onChange(_ref12) {
1043
- var searchValue = _ref12.target.value;
1039
+ onChange: function onChange(_ref11) {
1040
+ var searchValue = _ref11.target.value;
1044
1041
  return _this4.setState({ searchValue: searchValue });
1045
1042
  },
1046
1043
  inputRef: function inputRef(ref) {
@@ -1049,8 +1046,8 @@ var ShopMember = (_temp = _class = function (_Component) {
1049
1046
  onClear: function onClear() {
1050
1047
  return _this4.onClear('searchValue', _this4.searchRef);
1051
1048
  },
1052
- onFocus: function onFocus(_ref13) {
1053
- var target = _ref13.target;
1049
+ onFocus: function onFocus(_ref12) {
1050
+ var target = _ref12.target;
1054
1051
 
1055
1052
  if (!isUserAndroidKey) {
1056
1053
  _this4.focusInputName = 'searchValue';
@@ -1073,8 +1070,8 @@ var ShopMember = (_temp = _class = function (_Component) {
1073
1070
  ),
1074
1071
  _react2.default.createElement(
1075
1072
  'div',
1076
- { ref: function ref(_ref14) {
1077
- return _this4.memberTab = _ref14;
1073
+ { ref: function ref(_ref13) {
1074
+ return _this4.memberTab = _ref13;
1078
1075
  }, className: '' + _tplusComponentsTouch.hotKey.hotKeyBindClass('4', 'member-shop-content') },
1079
1076
  this.dataLoaded && noList && _react2.default.createElement(
1080
1077
  'div',
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/ShopMember.js"],"names":["ShopMember","props","currentPage","cacheUserRetail","hotKeyListener","nodeName","index","progressListen","className","indexOf","isHotKeyAction","activeElement","document","blur","observerCard","setTimeout","slideSelected","querySelector","prevSlideSelected","swiperSelectObserver","unobserve","observe","progress","selected","state","memberList","viewMemberInfo","loadmoreLoading","nomoreData","searchValue","loadUserList","windowOnresize","memberTab","window","removeEventListener","memberTabHeight","clientHeight","tabMenuHeight","setState","isNotSetState","Idmember","willUnmount","currentMemberId","loadUserInfo","key","item","type","syncUpdateMember","selectChange","memberChange","tabIndex","Loading","hide","recommend","userSearch","memberTabChange","member","loadingUser","loadingBtn","ms","getGetUmemberDTO","then","ret","BalanceIntegral","BalanceStorage","UmemberLabel","MemberCouponTitle","Mobilephone","DynamicPropertyKeys","DynamicPropertyValues","mergeKeys","setMemberKey","currentMemberOfList","find","value","ID","forEach","v","arr","map","push","initEmpty","errorMsg","stores","selectMemberStore","setCurMemberInfo","resetLastRetail","findMemberLastRetailDetailList","context","viewModel","data","Member","seletMember","getCardInfoByMemberId","catch","loadUserRetail","titleModal","includes","show","target","node","delay","getMemberRetailDetail","Like","Record","Recency","RecommendList","memberInfo","record","like","recency","pageSize","isSingleMember","searchId","searchStatus","status","listArr","inputValue","keyboardOnClose","slice","loadUserListSuccess","length","getSearchMember","dataLoaded","ColumnInfo","Data","columnInfo","precisionInfo","usersLoadSuccess","JSON","parse","filter","Precision","FieldName","setPrecisionInfo","handleSearchClick","storeKey","undefined","handleSearchChange","val","memberCardList","resetSlideTop","getMemberStateStamp","isExpiration","isUserLogout","isUserLoss","isUserNotUsing","controllerEvent","methodName","methodArgs","onEvent","Action","fromJS","fn","result","resolve","handleOk","noList","onCancel","retailDetails","getRetails","isArrowPriceChange","MemberState","Id","Name","Message","warn","IdbusiType","items","viewVoucher","isTakeTheir","getIsTakeTheir","memberStore","el","name","uiState","tip","info","_this","ModalWraper","confirm","title","content","onOk","handleChangeMember","selectMemberSuccess","getMemberBirthday","changeMemberCare","keyboardOnOk","searchRef","onKeyPressed","e","keyCode","enterKey","currentUserRetail","MemberMenuChange","dto","onClear","input","focus","changeIsAllAuthority","isAllAuthority","pageNo","lastRetailPageNo","lastRetailList","params","memberId","lastRetailLoading","findMemberLastRetailDetail","recencyBeanList","totalCount","lastRetailTotal","mode","platform","isNewRetailBCPos","isCC","defaultActiveKey","cardInfo","addEventListener","Code","$","on","off","RetailDetails","isUserAndroidKey","android_setKeyBoard","user","localStorage","getItem","loginInfo","IsEnableUMember","cardList","showModal","authProcess","showSearch","showSelectBtn","voucherStateType","enumController","getEnumOj","memberEnumState","hotKey","hotKeyNotFilter","ref","focusInputName","inputTarget","Keyboard","open","getNewValue","close","hotKeyBindClass","list","display","getCardList","marginRight","Component","defaultProps","contextTypes","PropTypes","object","array","func"],"mappings":"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","file":"ShopMember.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 MemberMenu from './memberMenu/index.js'\r\nimport MemberCardList from './MemberCardList'\r\nimport { Action } from 'mutants-appfx'\r\nimport { toJS } from 'mobx';\r\n// let swiperSelectObserver;\r\n\r\nexport default class ShopMember extends Component {\r\n static defaultProps = {\r\n onCancel: () => {},\r\n onOk: () => {},\r\n };\r\n\r\n static contextTypes = {\r\n viewModel: PropTypes.object,\r\n columnInfo: PropTypes.array,\r\n onEvent: PropTypes.func\r\n };\r\n constructor(props) {\r\n super(props);\r\n const { mode } = this.props;\r\n let { isNewRetailBCPos } = platform || {};\r\n this.state = {\r\n searchValue: '',\r\n memberList: [],\r\n memberInfo: {\r\n record: [],\r\n like: [],\r\n recency: [],\r\n },\r\n searchStatus: !!this.props.listArr ? true : false,\r\n isCC: !!isNewRetailBCPos,\r\n tabIndex: this.props.defaultActiveKey,\r\n isAllAuthority: false,\r\n tabMenuHeight: mode !== 'practice' ? 64 : 0, // 64为table上部操作菜单高度\r\n cardInfo: [], // 会员的卡信息\r\n\t lastRetailList: [], // 最近购买列表\r\n lastRetailTotal: 0, // 最近购买的总数量\r\n lastRetailPageNo: 0, // 最近购买的当前页,默认0开始\r\n lastRetailLoading: false, // 是否正在加载购买记录\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 // swiperSelectObserver = new IntersectionObserver(entries => {\r\n // const { boundingClientRect: { height, bottom, top } = {}, intersectionRatio } = entries[0];\r\n // if (intersectionRatio !== 1 && this.isHotKeyAction) {\r\n // this.isHotKeyAction = false;\r\n\r\n // bottom > height && memberSwiper.slideNext();\r\n // // 解决向上滑动时top < 10 时距离问题\r\n // if (top < -10) {\r\n // top < height && memberSwiper.slidePrev() && memberSwiper.slidePrev()\r\n // } else {\r\n // top < height && memberSwiper.slidePrev()\r\n // }\r\n // }\r\n // });\r\n\r\n window.addEventListener('resize', this.windowOnresize);\r\n const { viewMemberInfo, status, columnInfo, storeKey } = this.props;\r\n if (viewMemberInfo) {\r\n if (status) {\r\n return this.loadUserListSuccess(viewMemberInfo);\r\n } else if (status === 0) { // status 0 为 查看会员详情\r\n columnInfo && this.precisionInfo(columnInfo); // 查看录入的会员查看详情时父级传递了 columnInfo props\r\n return this.usersLoadSuccess([viewMemberInfo], 'search');\r\n }\r\n const { Code } = viewMemberInfo;\r\n return this.loadUserList('init', undefined, undefined, true, Code);\r\n };\r\n this.loadUserList('init');\r\n $.on(this.hotKeyListener);\r\n\r\n this.ms.searchValue = '';//初始化完成筛选列表清空数据(会员新增成功——封涛)\r\n }\r\n\r\n componentDidUpdate() {\r\n const {memberList = [], 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\r\n // memberSwiper && memberSwiper.destroy(false);\r\n // memberSwiper = undefined;\r\n this.willUnmount = true;\r\n\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 this.progressListen()\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\r\n progressListen = (progress) => {\r\n const {selected} = this.state;\r\n\r\n const {memberList = []} = this.state;\r\n const {viewMemberInfo} = this.props;\r\n if (viewMemberInfo) return;\r\n const {loadmoreLoading, nomoreData, searchValue = ''} = this.state;\r\n // let newselect = (selected + 5) % 10\r\n if ((selected + 1) % 10 === 0 && !loadmoreLoading && !nomoreData) {\r\n this.currentPage += 1;\r\n this.loadUserList('loadmore', this.currentPage);\r\n }\r\n if (progress >= 1 && !loadmoreLoading && !nomoreData) {\r\n this.currentPage += 1;\r\n this.loadUserList('loadmore', this.currentPage);\r\n }\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 loadUserInfo = (key, Idmember, item, type, syncUpdateMember) => {\r\n // this.observerCard();\r\n\r\n const { selectChange, viewMemberInfo, memberChange } = this.props;\r\n const { selected, tabIndex = '1' } = this.state;\r\n if (key === selected && type !== true && type!=='opencard') return;\r\n Loading.hide();\r\n if (this.currentMemberId && !(this.cacheUserRetail[this.currentMemberId] || {}).recommend) {\r\n delete this.cacheUserRetail[this.currentMemberId];\r\n }\r\n this.currentMemberId = Idmember;\r\n\r\n if (this.userSearch || viewMemberInfo) {\r\n this.userSearch = false;\r\n this.setState({selected: key});\r\n }\r\n\r\n const {memberList = []} = this.state;\r\n\r\n this.memberTabChange(tabIndex);\r\n\r\n this.setState({ selected: key, member: memberList[key] || {}, loadingUser: true, loadingBtn: true });\r\n this.ms.getGetUmemberDTO(Idmember)\r\n .then(ret => {\r\n if (this.isNotSetState(Idmember)) return;\r\n const {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone,\r\n DynamicPropertyKeys = [], DynamicPropertyValues = []} = ret || {};\r\n const mergeKeys = {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone, DynamicPropertyKeys, DynamicPropertyValues};\r\n //const memberInfo = {...(memberList[key] || {}), ...mergeKeys};\r\n if (viewMemberInfo) {\r\n // 用接口中的 BalanceStorage MemberCouponTitle覆盖列表中的数据, 监听对象 使用action 设置值\r\n this.ms.setMemberKey(mergeKeys);\r\n } else {\r\n //设置会员列表中该会员的BalanceStorage值\r\n const currentMemberOfList = memberList.find(value => value.ID === Idmember) || {};\r\n Object.keys(mergeKeys).forEach(v => currentMemberOfList[v] = mergeKeys[v]);\r\n }\r\n userInfoFormat(ret)\r\n let arr = [];\r\n memberList.map(item => {\r\n if (item.ID === ret.ID) {\r\n arr.push(ret)\r\n } else {\r\n arr.push(item)\r\n }\r\n })\r\n this.setState({\r\n member: ret,\r\n initEmpty: true,\r\n memberList: arr,\r\n errorMsg: '',\r\n loadingUser: false,\r\n loadingBtn: false\r\n })\r\n stores.selectMemberStore.setCurMemberInfo(ret);\r\n selectChange && selectChange(item);\r\n // 获取购买记录\r\n this.resetLastRetail(0)\r\n this.findMemberLastRetailDetailList(3)\r\n // 更新当前选定的会员信息\r\n if (syncUpdateMember) {\r\n const { data: { Member: { ID } = {} } = {} } = this.context.viewModel || {};\r\n if (ID == ret.ID) {\r\n stores.selectMemberStore.seletMember(ret);\r\n memberChange && memberChange(ret)\r\n }\r\n }\r\n // 获取会员的卡信息\r\n this.getCardInfoByMemberId(Idmember)\r\n }).catch(err => {\r\n selectChange && selectChange({});\r\n if (this.isNotSetState(Idmember)) return;\r\n this.setState({\r\n member: memberList[key] || {},\r\n initEmpty: true,\r\n errorMsg: '会员信息获取失败,请重试',\r\n memberList,\r\n loadingBtn:false\r\n });\r\n });\r\n }\r\n\r\n loadUserRetail = (Idmember) => {\r\n const {tabIndex = '1'} = this.state;\r\n const {titleModal} = this.props;\r\n\r\n if (tabIndex !== '1' && ['会员详情', '到店会员', '人脸识别'].includes(titleModal)) {\r\n Loading.show({\r\n target: '.member-content-tab',\r\n node: <Spin scale={1.2} type='shape' visible/>,\r\n delay: false\r\n });\r\n }\r\n const {currentMemberId} = this.state;\r\n this.cacheUserRetail[Idmember] = {};\r\n this.ms.getMemberRetailDetail(Idmember)\r\n .then(ret => {\r\n Loading.hide();\r\n if (this.isNotSetState(Idmember)) return;\r\n const {Like, Record, Recency, RecommendList = []} = ret || {};\r\n const recommend = RecommendList;\r\n const memberInfo = {record: Record, like: Like, recency: Recency};\r\n\r\n this.setState({recommend, memberInfo});\r\n this.cacheUserRetail[Idmember] = {recommend, memberInfo};\r\n\r\n })\r\n .catch(err => {\r\n delete this.cacheUserRetail[Idmember];\r\n if (this.isNotSetState(Idmember)) return;\r\n this.setState({\r\n recommend: [],\r\n memberInfo: {},\r\n });\r\n Loading.hide();\r\n });\r\n }\r\n\r\n loadUserList = (type, currentPage = 1, pageSize = 10, isSingleMember = false, searchId) => {\r\n const { searchValue, searchStatus } = this.state;\r\n const { status, listArr } = this.props;\r\n if (!this.ms) return;\r\n if (type === 'init') {\r\n let inputValue = this.ms && this.ms.searchValue;\r\n if (inputValue) {\r\n this.setState({ searchValue: inputValue })\r\n setTimeout(() => { this.keyboardOnClose() }, 310)\r\n }\r\n }\r\n if (type === 'loadmore') {\r\n this.setState({ loadmoreLoading: true });\r\n } else {\r\n Loading.show({ target: '.memberShopContainer' });\r\n }\r\n if (type === 'opencard') {\r\n currentPage = this.currentPage;\r\n }\r\n if (searchStatus) {\r\n let arr = listArr.slice(0);\r\n this.setState({\r\n searchStatus: false,\r\n memberList: arr\r\n }, () => {\r\n const { memberList } = this.state;\r\n this.loadUserListSuccess(memberList, 's', memberList.length);\r\n Loading.hide();\r\n })\r\n return;\r\n }\r\n this.ms.getSearchMember({\r\n currentPage,\r\n pageSize,\r\n key: this.ms.searchValue || searchValue || searchId,\r\n isSingleMember: this.ms.searchValue ? true : isSingleMember\r\n })\r\n .then(ret => {\r\n this.loadUserListSuccess(ret, type, pageSize);\r\n Loading.hide();\r\n })\r\n .catch(err => Loading.hide());\r\n }\r\n\r\n loadUserListSuccess = (ret, type, pageSize) => {\r\n this.dataLoaded = true;\r\n const { ColumnInfo, Data } = ret || {};\r\n this.setState({ columnInfo: ColumnInfo});\r\n this.precisionInfo(ColumnInfo);\r\n this.usersLoadSuccess(type === 's' ? ret : JSON.parse(Data), type, pageSize);\r\n }\r\n\r\n precisionInfo = (columnInfo) => {\r\n const precisionInfo = {};\r\n if (columnInfo && columnInfo.length > 0) {\r\n columnInfo = columnInfo.filter(v => !!v.Precision) || [];\r\n columnInfo.length > 0 &&\r\n columnInfo.forEach(item => {\r\n const { Precision, FieldName } = item;\r\n if (Precision) precisionInfo[FieldName] = Precision;\r\n })\r\n }\r\n this.ms.setPrecisionInfo(precisionInfo);\r\n }\r\n\r\n // 获取会员的卡信息\r\n async getCardInfoByMemberId (memberId) {\r\n const cardInfo = await this.ms.getCardInfoByMemberId(memberId) || {}\r\n const { data = [] } = cardInfo\r\n this.setState({\r\n cardInfo: data\r\n })\r\n }\r\n\r\n handleSearchClick = () => {\r\n const { searchValue } = this.state;\r\n const { storeKey } = this.props\r\n this.userSearch = true;\r\n this.currentPage = 1;\r\n this.setState({ nomoreData: false, selected: undefined });\r\n this.loadUserList('search', this.currentPage);\r\n }\r\n\r\n handleSearchChange = (val) => {\r\n this.setState({searchValue: val});\r\n }\r\n\r\n\r\n usersLoadSuccess = (data = [], type, pageSize = 10) => {\r\n const {status} = this.props;\r\n const { selected } = this.state;\r\n if (this.willUnmount) return;\r\n if (data.length) {\r\n data.forEach(v => userInfoFormat(v));\r\n\r\n if (type === 'loadmore') {\r\n const {memberList = []} = this.state;\r\n memberList.push(...data);\r\n return this.setState({nomoreData: data.length < pageSize, loadmoreLoading: false, memberList});\r\n }\r\n this.setState({memberList: data}, () => {\r\n if (type === 'search') {\r\n this.memberCardList.resetSlideTop();\r\n }\r\n const [item = {}] = data;\r\n // const key=type==='opencard'?(selected-(this.currentPage-1)*pageSize):0;\r\n // const item =data[key];\r\n this.loadUserInfo(0, item.ID, item, type);\r\n });\r\n } else if (type === 'loadmore') {\r\n this.setState({nomoreData: true, loadmoreLoading: false});\r\n } else {\r\n Loading.hide();\r\n this.setState({\r\n memberList: [],\r\n recommend: [],\r\n member: {},\r\n memberInfo: {record: [], like: [], recency: []}\r\n }, () => {\r\n if (type === 'search') {\r\n this.memberCardList.resetSlideTop();\r\n }\r\n });\r\n }\r\n }\r\n\r\n //获取会员状态集合,在页面上以图片戳的形式展示。\r\n getMemberStateStamp = (item) => {\r\n let arr = [];\r\n const { isExpiration, isUserLogout, isUserLoss, isUserNotUsing } = item;\r\n //已挂失\r\n if (isUserLoss) arr.push(<Ticon type='yiguashi' />)\r\n //已过期\r\n if (isExpiration) arr.push(<Ticon type='yiguoqi' />)\r\n //已注销\r\n if (isUserLogout) arr.push(<Ticon type='yizhuxiao' />)\r\n //未启用\r\n if (isUserNotUsing) arr.push(<Ticon type='weiqiyong' />)\r\n return arr;\r\n }\r\n controllerEvent = (methodName, methodArgs) => {\r\n return new Promise(resolve => {\r\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', {...methodArgs, fn: function(result) {\r\n resolve(result);\r\n }});\r\n });\r\n }\r\n // 获取商品行\r\n getRetails() {\r\n const data = this.context.viewModel.data || {};\r\n return toJS(data.RetailDetails || []);\r\n }\r\n handleOk = async (noList) => {\r\n if (noList) {\r\n return this.props.onCancel();\r\n }\r\n const { member, errorMsg } = this.state;\r\n // 增加会员对手工改价的校验\r\n let isArrowPriceChange = await this.controllerEvent('memberPriceChangeValidate', {member, retailDetails: this.getRetails()});\r\n if (!isArrowPriceChange) {\r\n return this.props.onCancel();\r\n }\r\n const { isExpiration, MemberState: { Id, Name } = {} } = member || {};\r\n if (noList) {\r\n return this.props.onCancel();\r\n }\r\n if (errorMsg) return Message.warn(errorMsg);\r\n if (errMessageTip(member)) return;\r\n const { data: { Member: {ID} = {}, IdbusiType } = {}, items = [] } = this.context.viewModel || {};\r\n if (IdbusiType == 39) {\r\n Message.warn('取货时不可以切换选择会员');\r\n return;\r\n }\r\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\r\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\r\n if (isTakeTheir) {\r\n Message.warn('自提时不可以切换选择会员');\r\n return;\r\n }\r\n\r\n //会员不可更改判断\r\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\r\n const uiState = memberStore.uiState;\r\n if (!!uiState.tip) {\r\n Message.info(uiState.tip)\r\n return;\r\n }\r\n if (ID) {\r\n const _this = this;\r\n return ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '切换会员',\r\n content: '您确定要替换当前会员吗?',\r\n onOk() {\r\n _this.handleChangeMember(member)\r\n }\r\n })\r\n }\r\n this.handleChangeMember(member)\r\n }\r\n\r\n handleChangeMember = (member) => {\r\n const { onOk, memberChange, selectMemberSuccess, getMemberBirthday } = this.props;\r\n stores.selectMemberStore.seletMember(member, true);\r\n memberChange && memberChange(member)\r\n onOk && onOk();\r\n getMemberBirthday && getMemberBirthday(member.ID, (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n })\r\n //商品输入框焦点。\r\n setTimeout(() => { selectMemberSuccess && selectMemberSuccess(member) }, 300)\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 memberTabChange = (tabIndex) => {\r\n this.setState({tabIndex});\r\n const currentUserRetail = this.cacheUserRetail[this.currentMemberId];\r\n if (!currentUserRetail) {\r\n return this.loadUserRetail(this.currentMemberId);\r\n }\r\n this.setState({...currentUserRetail});\r\n const activeElement = document.activeElement;\r\n activeElement && activeElement.blur()\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 changeIsAllAuthority = () => {\r\n this.setState({\r\n isAllAuthority: false\r\n })\r\n }\r\n\r\n // 重置购买记录相关数据\r\n resetLastRetail = async (pageNo) => {\r\n this.setState({\r\n lastRetailPageNo: pageNo\r\n })\r\n }\r\n // 获取会员的购买记录\r\n findMemberLastRetailDetailList = async (pageSize) => {\r\n let { lastRetailPageNo, member: { ID } = {}, lastRetailList = [] } = this.state\r\n const params = {\r\n memberId: ID,\r\n pageNo: lastRetailPageNo,\r\n pageSize\r\n }\r\n this.setState({\r\n lastRetailLoading: true\r\n })\r\n try {\r\n const ret = await this.ms.findMemberLastRetailDetail(params)\r\n const { data: { recencyBeanList = [], totalCount = 0 } = {} } = ret\r\n lastRetailList.push(...recencyBeanList)\r\n\r\n this.setState({\r\n lastRetailTotal: totalCount,\r\n lastRetailLoading: false,\r\n lastRetailPageNo: pageSize === 3 ? 0 : this.state.lastRetailPageNo + 1,\r\n lastRetailList: this.state.lastRetailPageNo === 0 ? recencyBeanList : lastRetailList\r\n })\r\n\r\n } catch (err) {\r\n this.setState({\r\n lastRetailLoading: false\r\n })\r\n }\r\n }\r\n\r\n render() {\r\n const isUserAndroidKey = !! window.android_setKeyBoard;\r\n\r\n const user = JSON.parse(localStorage.getItem('user')) || {};\r\n const { loginInfo: { IsEnableUMember } = {} } = user;\r\n const { searchValue, memberList = [], memberInfo = {}, member = {}, recommend = [], memberTabHeight = 0,\r\n loadmoreLoading, nomoreData, initEmpty, columnInfo = [], loadingUser, loadingBtn, selected, isAllAuthority,lastRetailTotal, lastRetailList, lastRetailLoading,isCC, cardInfo, cardList } = this.state;\r\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, viewMemberInfo, authProcess, mode, title, storeKey } = this.props;\r\n const { precisionInfo = {} } = this.ms;\r\n const showSearch = ['会员查询'].includes(type);\r\n const noList = !memberList.length;\r\n const showSelectBtn = type === '会员查询' || !!status;\r\n //是否正常开单\r\n let voucherStateType = (mode !== 'practice');\r\n const { memberEnumState } = enumController.getEnumOj();\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={`${hotKey.hotKeyNotFilter('search-input')} android_focus_keyboard`}\r\n value={searchValue}\r\n type='native'\r\n onChange={({ target: { value: searchValue } }) => this.setState({ searchValue })}\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 ref={ref => this.memberTab = ref} className={`${hotKey.hotKeyBindClass('4', 'member-shop-content')}`}>\r\n {\r\n this.dataLoaded && noList && <div className='empty-data-img'><div className='tip-text'>暂无数据 ~</div></div>\r\n }\r\n <MemberCardList\r\n ref={list => this.memberCardList = list}\r\n title={title}\r\n storeKey={storeKey}\r\n memberList={memberList}\r\n precisionInfo={precisionInfo}\r\n loadmoreLoading={loadmoreLoading}\r\n nomoreData={nomoreData}\r\n loadUserInfo={this.loadUserInfo}\r\n progressListen={this.progressListen}\r\n getMemberStateStamp={this.getMemberStateStamp}\r\n selected={selected}\r\n isCC={isCC}\r\n cardList={cardList}\r\n />\r\n\r\n <div className='member-content-tab content' style={{ display: noList ? 'none' : 'flex' }}>\r\n {\r\n (voucherStateType && !isAllAuthority) &&\r\n <div>\r\n <div className='menu'>\r\n <MemberMenu\r\n authProcess={authProcess}\r\n changeIsAllAuthority={this.changeIsAllAuthority}\r\n loadUserList={this.loadUserList}\r\n member={member}\r\n memberEnumState={memberEnumState}\r\n loadingBtn={loadingBtn}\r\n selected={selected}\r\n cardList={cardList}\r\n getCardList={this.getCardList}\r\n loadUserInfo={(key, Idmember, item, type, syncUpdateMember) => this.loadUserInfo(key, Idmember, item, type, syncUpdateMember)}\r\n handleChange={this.MemberMenuChange}></MemberMenu>\r\n </div>\r\n <div className='line'></div>\r\n </div>\r\n }\r\n <MemberTab\r\n defaultActiveKey={defaultActiveKey}\r\n member={member}\r\n memberInfo={memberInfo}\r\n showModal={showModal}\r\n title={title}\r\n titleModal={titleModal}\r\n storeKey={storeKey}\r\n recommend={recommend}\r\n memberTabHeight={memberTabHeight}\r\n initEmpty={initEmpty}\r\n memberList={memberList}\r\n columnInfo={columnInfo}\r\n precisionInfo={precisionInfo}\r\n onChange={this.memberTabChange}\r\n getMemberStateStamp={this.getMemberStateStamp}\r\n cardInfo={cardInfo}\r\n \t\t\t lastRetailTotal={lastRetailTotal}\r\n lastRetailList={lastRetailList}\r\n lastRetailLoading={lastRetailLoading}\r\n findMemberLastRetailDetailList={this.findMemberLastRetailDetailList}\r\n />\r\n </div>\r\n </div>\r\n <div className='member-footer'>\r\n <Button onClick={onCancel}>取消</Button>\r\n {\r\n showSelectBtn &&\r\n <Button\r\n onClick={() => this.handleOk(noList)}\r\n type=\"primary\"\r\n style={{ marginRight: 5 }}\r\n disabled={loadingUser}\r\n >\r\n {\r\n loadingUser ? '加载会员' : noList ? '确定' : '选取会员'\r\n }\r\n </Button>\r\n }\r\n </div>\r\n </div>\r\n )\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["tplus-member/member/ShopMember.js"],"names":["ShopMember","props","currentPage","cacheUserRetail","hotKeyListener","nodeName","index","progressListen","className","indexOf","isHotKeyAction","activeElement","document","blur","observerCard","setTimeout","slideSelected","querySelector","prevSlideSelected","swiperSelectObserver","unobserve","observe","progress","selected","state","memberList","viewMemberInfo","loadmoreLoading","nomoreData","searchValue","loadUserList","windowOnresize","memberTab","window","removeEventListener","memberTabHeight","clientHeight","tabMenuHeight","setState","isNotSetState","Idmember","willUnmount","currentMemberId","loadUserInfo","key","item","type","syncUpdateMember","selectChange","memberChange","tabIndex","Loading","hide","recommend","userSearch","memberTabChange","member","loadingUser","loadingBtn","ms","getGetUmemberDTO","then","ret","BalanceIntegral","BalanceStorage","UmemberLabel","MemberCouponTitle","Mobilephone","DynamicPropertyKeys","DynamicPropertyValues","mergeKeys","setMemberKey","currentMemberOfList","find","value","ID","forEach","v","arr","map","push","initEmpty","errorMsg","stores","selectMemberStore","setCurMemberInfo","resetLastRetail","findMemberLastRetailDetailList","context","viewModel","data","Member","seletMember","getCardInfoByMemberId","catch","loadUserRetail","titleModal","includes","show","target","node","delay","getMemberRetailDetail","Like","Record","Recency","RecommendList","memberInfo","record","like","recency","pageSize","isSingleMember","searchId","searchStatus","status","listArr","inputValue","keyboardOnClose","slice","loadUserListSuccess","length","getSearchMember","dataLoaded","ColumnInfo","Data","columnInfo","precisionInfo","usersLoadSuccess","JSON","parse","filter","Precision","FieldName","setPrecisionInfo","handleSearchClick","storeKey","undefined","handleSearchChange","val","memberCardList","resetSlideTop","getMemberStateStamp","isExpiration","isUserLogout","isUserLoss","isUserNotUsing","controllerEvent","methodName","methodArgs","onEvent","Action","fromJS","fn","result","resolve","handleOk","noList","onCancel","retailDetails","getRetails","isArrowPriceChange","MemberState","Id","Name","Message","warn","IdbusiType","items","viewVoucher","isTakeTheir","getIsTakeTheir","memberStore","el","name","uiState","tip","info","_this","ModalWraper","confirm","title","content","onOk","handleChangeMember","selectMemberSuccess","getMemberBirthday","changeMemberCare","keyboardOnOk","searchRef","onKeyPressed","e","keyCode","enterKey","currentUserRetail","MemberMenuChange","dto","onClear","input","focus","changeIsAllAuthority","isAllAuthority","pageNo","lastRetailPageNo","lastRetailList","params","memberId","lastRetailLoading","findMemberLastRetailDetail","recencyBeanList","totalCount","lastRetailTotal","mode","isCC","defaultActiveKey","cardInfo","addEventListener","Code","$","on","off","RetailDetails","isUserAndroidKey","android_setKeyBoard","user","localStorage","getItem","loginInfo","IsEnableUMember","cardList","showModal","authProcess","showSearch","showSelectBtn","voucherStateType","enumController","getEnumOj","memberEnumState","hotKey","hotKeyNotFilter","ref","focusInputName","inputTarget","Keyboard","open","getNewValue","close","hotKeyBindClass","list","display","getCardList","marginRight","Component","defaultProps","contextTypes","PropTypes","object","array","func"],"mappings":"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","file":"ShopMember.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 MemberMenu from './memberMenu/index.js'\r\nimport MemberCardList from './MemberCardList'\r\nimport { Action } from 'mutants-appfx'\r\nimport { toJS } from 'mobx';\r\n// let swiperSelectObserver;\r\n\r\nexport default class ShopMember extends Component {\r\n static defaultProps = {\r\n onCancel: () => {},\r\n onOk: () => {},\r\n };\r\n\r\n static contextTypes = {\r\n viewModel: PropTypes.object,\r\n columnInfo: PropTypes.array,\r\n onEvent: PropTypes.func\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 memberList: [],\r\n memberInfo: {\r\n record: [],\r\n like: [],\r\n recency: [],\r\n },\r\n searchStatus: !!this.props.listArr ? true : false,\r\n isCC: true,\r\n tabIndex: this.props.defaultActiveKey,\r\n isAllAuthority: false,\r\n tabMenuHeight: mode !== 'practice' ? 64 : 0, // 64为table上部操作菜单高度\r\n cardInfo: [], // 会员的卡信息\r\n\t lastRetailList: [], // 最近购买列表\r\n lastRetailTotal: 0, // 最近购买的总数量\r\n lastRetailPageNo: 0, // 最近购买的当前页,默认0开始\r\n lastRetailLoading: false, // 是否正在加载购买记录\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 // swiperSelectObserver = new IntersectionObserver(entries => {\r\n // const { boundingClientRect: { height, bottom, top } = {}, intersectionRatio } = entries[0];\r\n // if (intersectionRatio !== 1 && this.isHotKeyAction) {\r\n // this.isHotKeyAction = false;\r\n\r\n // bottom > height && memberSwiper.slideNext();\r\n // // 解决向上滑动时top < 10 时距离问题\r\n // if (top < -10) {\r\n // top < height && memberSwiper.slidePrev() && memberSwiper.slidePrev()\r\n // } else {\r\n // top < height && memberSwiper.slidePrev()\r\n // }\r\n // }\r\n // });\r\n\r\n window.addEventListener('resize', this.windowOnresize);\r\n const { viewMemberInfo, status, columnInfo, storeKey } = this.props;\r\n if (viewMemberInfo) {\r\n if (status) {\r\n return this.loadUserListSuccess(viewMemberInfo);\r\n } else if (status === 0) { // status 0 为 查看会员详情\r\n columnInfo && this.precisionInfo(columnInfo); // 查看录入的会员查看详情时父级传递了 columnInfo props\r\n return this.usersLoadSuccess([viewMemberInfo], 'search');\r\n }\r\n const { Code } = viewMemberInfo;\r\n return this.loadUserList('init', undefined, undefined, true, Code);\r\n };\r\n this.loadUserList('init');\r\n $.on(this.hotKeyListener);\r\n\r\n this.ms.searchValue = '';//初始化完成筛选列表清空数据(会员新增成功——封涛)\r\n }\r\n\r\n componentDidUpdate() {\r\n const {memberList = [], 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\r\n // memberSwiper && memberSwiper.destroy(false);\r\n // memberSwiper = undefined;\r\n this.willUnmount = true;\r\n\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 this.progressListen()\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\r\n progressListen = (progress) => {\r\n const {selected} = this.state;\r\n\r\n const {memberList = []} = this.state;\r\n const {viewMemberInfo} = this.props;\r\n if (viewMemberInfo) return;\r\n const {loadmoreLoading, nomoreData, searchValue = ''} = this.state;\r\n // let newselect = (selected + 5) % 10\r\n if ((selected + 1) % 10 === 0 && !loadmoreLoading && !nomoreData) {\r\n this.currentPage += 1;\r\n this.loadUserList('loadmore', this.currentPage);\r\n }\r\n if (progress >= 1 && !loadmoreLoading && !nomoreData) {\r\n this.currentPage += 1;\r\n this.loadUserList('loadmore', this.currentPage);\r\n }\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 loadUserInfo = (key, Idmember, item, type, syncUpdateMember) => {\r\n // this.observerCard();\r\n\r\n const { selectChange, viewMemberInfo, memberChange } = this.props;\r\n const { selected, tabIndex = '1' } = this.state;\r\n if (key === selected && type !== true && type!=='opencard') return;\r\n Loading.hide();\r\n if (this.currentMemberId && !(this.cacheUserRetail[this.currentMemberId] || {}).recommend) {\r\n delete this.cacheUserRetail[this.currentMemberId];\r\n }\r\n this.currentMemberId = Idmember;\r\n\r\n if (this.userSearch || viewMemberInfo) {\r\n this.userSearch = false;\r\n this.setState({selected: key});\r\n }\r\n\r\n const {memberList = []} = this.state;\r\n\r\n this.memberTabChange(tabIndex);\r\n\r\n this.setState({ selected: key, member: memberList[key] || {}, loadingUser: true, loadingBtn: true });\r\n this.ms.getGetUmemberDTO(Idmember)\r\n .then(ret => {\r\n if (this.isNotSetState(Idmember)) return;\r\n const {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone,\r\n DynamicPropertyKeys = [], DynamicPropertyValues = []} = ret || {};\r\n const mergeKeys = {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone, DynamicPropertyKeys, DynamicPropertyValues};\r\n //const memberInfo = {...(memberList[key] || {}), ...mergeKeys};\r\n if (viewMemberInfo) {\r\n // 用接口中的 BalanceStorage MemberCouponTitle覆盖列表中的数据, 监听对象 使用action 设置值\r\n this.ms.setMemberKey(mergeKeys);\r\n } else {\r\n //设置会员列表中该会员的BalanceStorage值\r\n const currentMemberOfList = memberList.find(value => value.ID === Idmember) || {};\r\n Object.keys(mergeKeys).forEach(v => currentMemberOfList[v] = mergeKeys[v]);\r\n }\r\n userInfoFormat(ret)\r\n let arr = [];\r\n memberList.map(item => {\r\n if (item.ID === ret.ID) {\r\n arr.push(ret)\r\n } else {\r\n arr.push(item)\r\n }\r\n })\r\n this.setState({\r\n member: ret,\r\n initEmpty: true,\r\n memberList: arr,\r\n errorMsg: '',\r\n loadingUser: false,\r\n loadingBtn: false\r\n })\r\n stores.selectMemberStore.setCurMemberInfo(ret);\r\n selectChange && selectChange(item);\r\n // 获取购买记录\r\n this.resetLastRetail(0)\r\n this.findMemberLastRetailDetailList(3)\r\n // 更新当前选定的会员信息\r\n if (syncUpdateMember) {\r\n const { data: { Member: { ID } = {} } = {} } = this.context.viewModel || {};\r\n if (ID == ret.ID) {\r\n stores.selectMemberStore.seletMember(ret);\r\n memberChange && memberChange(ret)\r\n }\r\n }\r\n // 获取会员的卡信息\r\n this.getCardInfoByMemberId(Idmember)\r\n }).catch(err => {\r\n selectChange && selectChange({});\r\n if (this.isNotSetState(Idmember)) return;\r\n this.setState({\r\n member: memberList[key] || {},\r\n initEmpty: true,\r\n errorMsg: '会员信息获取失败,请重试',\r\n memberList,\r\n loadingBtn:false\r\n });\r\n });\r\n }\r\n\r\n loadUserRetail = (Idmember) => {\r\n const {tabIndex = '1'} = this.state;\r\n const {titleModal} = this.props;\r\n\r\n if (tabIndex !== '1' && ['会员详情', '到店会员', '人脸识别'].includes(titleModal)) {\r\n Loading.show({\r\n target: '.member-content-tab',\r\n node: <Spin scale={1.2} type='shape' visible/>,\r\n delay: false\r\n });\r\n }\r\n const {currentMemberId} = this.state;\r\n this.cacheUserRetail[Idmember] = {};\r\n this.ms.getMemberRetailDetail(Idmember)\r\n .then(ret => {\r\n Loading.hide();\r\n if (this.isNotSetState(Idmember)) return;\r\n const {Like, Record, Recency, RecommendList = []} = ret || {};\r\n const recommend = RecommendList;\r\n const memberInfo = {record: Record, like: Like, recency: Recency};\r\n\r\n this.setState({recommend, memberInfo});\r\n this.cacheUserRetail[Idmember] = {recommend, memberInfo};\r\n\r\n })\r\n .catch(err => {\r\n delete this.cacheUserRetail[Idmember];\r\n if (this.isNotSetState(Idmember)) return;\r\n this.setState({\r\n recommend: [],\r\n memberInfo: {},\r\n });\r\n Loading.hide();\r\n });\r\n }\r\n\r\n loadUserList = (type, currentPage = 1, pageSize = 10, isSingleMember = false, searchId) => {\r\n const { searchValue, searchStatus } = this.state;\r\n const { status, listArr } = this.props;\r\n if (!this.ms) return;\r\n if (type === 'init') {\r\n let inputValue = this.ms && this.ms.searchValue;\r\n if (inputValue) {\r\n this.setState({ searchValue: inputValue })\r\n setTimeout(() => { this.keyboardOnClose() }, 310)\r\n }\r\n }\r\n if (type === 'loadmore') {\r\n this.setState({ loadmoreLoading: true });\r\n } else {\r\n Loading.show({ target: '.memberShopContainer' });\r\n }\r\n if (type === 'opencard') {\r\n currentPage = this.currentPage;\r\n }\r\n if (searchStatus) {\r\n let arr = listArr.slice(0);\r\n this.setState({\r\n searchStatus: false,\r\n memberList: arr\r\n }, () => {\r\n const { memberList } = this.state;\r\n this.loadUserListSuccess(memberList, 's', memberList.length);\r\n Loading.hide();\r\n })\r\n return;\r\n }\r\n this.ms.getSearchMember({\r\n currentPage,\r\n pageSize,\r\n key: this.ms.searchValue || searchValue || searchId,\r\n isSingleMember: this.ms.searchValue ? true : isSingleMember\r\n })\r\n .then(ret => {\r\n this.loadUserListSuccess(ret, type, pageSize);\r\n Loading.hide();\r\n })\r\n .catch(err => Loading.hide());\r\n }\r\n\r\n loadUserListSuccess = (ret, type, pageSize) => {\r\n this.dataLoaded = true;\r\n const { ColumnInfo, Data } = ret || {};\r\n this.setState({ columnInfo: ColumnInfo});\r\n this.precisionInfo(ColumnInfo);\r\n this.usersLoadSuccess(type === 's' ? ret : JSON.parse(Data), type, pageSize);\r\n }\r\n\r\n precisionInfo = (columnInfo) => {\r\n const precisionInfo = {};\r\n if (columnInfo && columnInfo.length > 0) {\r\n columnInfo = columnInfo.filter(v => !!v.Precision) || [];\r\n columnInfo.length > 0 &&\r\n columnInfo.forEach(item => {\r\n const { Precision, FieldName } = item;\r\n if (Precision) precisionInfo[FieldName] = Precision;\r\n })\r\n }\r\n this.ms.setPrecisionInfo(precisionInfo);\r\n }\r\n\r\n // 获取会员的卡信息\r\n async getCardInfoByMemberId (memberId) {\r\n const cardInfo = await this.ms.getCardInfoByMemberId(memberId) || {}\r\n const { data = [] } = cardInfo\r\n this.setState({\r\n cardInfo: data\r\n })\r\n }\r\n\r\n handleSearchClick = () => {\r\n const { searchValue } = this.state;\r\n const { storeKey } = this.props\r\n this.userSearch = true;\r\n this.currentPage = 1;\r\n this.setState({ nomoreData: false, selected: undefined });\r\n this.loadUserList('search', this.currentPage);\r\n }\r\n\r\n handleSearchChange = (val) => {\r\n this.setState({searchValue: val});\r\n }\r\n\r\n\r\n usersLoadSuccess = (data = [], type, pageSize = 10) => {\r\n const {status} = this.props;\r\n const { selected } = this.state;\r\n if (this.willUnmount) return;\r\n if (data.length) {\r\n data.forEach(v => userInfoFormat(v));\r\n\r\n if (type === 'loadmore') {\r\n const {memberList = []} = this.state;\r\n memberList.push(...data);\r\n return this.setState({nomoreData: data.length < pageSize, loadmoreLoading: false, memberList});\r\n }\r\n this.setState({memberList: data}, () => {\r\n if (type === 'search') {\r\n this.memberCardList.resetSlideTop();\r\n }\r\n const [item = {}] = data;\r\n // const key=type==='opencard'?(selected-(this.currentPage-1)*pageSize):0;\r\n // const item =data[key];\r\n this.loadUserInfo(0, item.ID, item, type);\r\n });\r\n } else if (type === 'loadmore') {\r\n this.setState({nomoreData: true, loadmoreLoading: false});\r\n } else {\r\n Loading.hide();\r\n this.setState({\r\n memberList: [],\r\n recommend: [],\r\n member: {},\r\n memberInfo: {record: [], like: [], recency: []}\r\n }, () => {\r\n if (type === 'search') {\r\n this.memberCardList.resetSlideTop();\r\n }\r\n });\r\n }\r\n }\r\n\r\n //获取会员状态集合,在页面上以图片戳的形式展示。\r\n getMemberStateStamp = (item) => {\r\n let arr = [];\r\n const { isExpiration, isUserLogout, isUserLoss, isUserNotUsing } = item;\r\n //已挂失\r\n if (isUserLoss) arr.push(<Ticon type='yiguashi' />)\r\n //已过期\r\n if (isExpiration) arr.push(<Ticon type='yiguoqi' />)\r\n //已注销\r\n if (isUserLogout) arr.push(<Ticon type='yizhuxiao' />)\r\n //未启用\r\n if (isUserNotUsing) arr.push(<Ticon type='weiqiyong' />)\r\n return arr;\r\n }\r\n controllerEvent = (methodName, methodArgs) => {\r\n return new Promise(resolve => {\r\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', {...methodArgs, fn: function(result) {\r\n resolve(result);\r\n }});\r\n });\r\n }\r\n // 获取商品行\r\n getRetails() {\r\n const data = this.context.viewModel.data || {};\r\n return toJS(data.RetailDetails || []);\r\n }\r\n handleOk = async (noList) => {\r\n if (noList) {\r\n return this.props.onCancel();\r\n }\r\n const { member, errorMsg } = this.state;\r\n // 增加会员对手工改价的校验\r\n let isArrowPriceChange = await this.controllerEvent('memberPriceChangeValidate', {member, retailDetails: this.getRetails()});\r\n if (!isArrowPriceChange) {\r\n return this.props.onCancel();\r\n }\r\n const { isExpiration, MemberState: { Id, Name } = {} } = member || {};\r\n if (noList) {\r\n return this.props.onCancel();\r\n }\r\n if (errorMsg) return Message.warn(errorMsg);\r\n if (errMessageTip(member)) return;\r\n const { data: { Member: {ID} = {}, IdbusiType } = {}, items = [] } = this.context.viewModel || {};\r\n if (IdbusiType == 39) {\r\n Message.warn('取货时不可以切换选择会员');\r\n return;\r\n }\r\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\r\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\r\n if (isTakeTheir) {\r\n Message.warn('自提时不可以切换选择会员');\r\n return;\r\n }\r\n\r\n //会员不可更改判断\r\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\r\n const uiState = memberStore.uiState;\r\n if (!!uiState.tip) {\r\n Message.info(uiState.tip)\r\n return;\r\n }\r\n if (ID) {\r\n const _this = this;\r\n return ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '切换会员',\r\n content: '您确定要替换当前会员吗?',\r\n onOk() {\r\n _this.handleChangeMember(member)\r\n }\r\n })\r\n }\r\n this.handleChangeMember(member)\r\n }\r\n\r\n handleChangeMember = (member) => {\r\n const { onOk, memberChange, selectMemberSuccess, getMemberBirthday } = this.props;\r\n stores.selectMemberStore.seletMember(member, true);\r\n memberChange && memberChange(member)\r\n onOk && onOk();\r\n getMemberBirthday && getMemberBirthday(member.ID, (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n })\r\n //商品输入框焦点。\r\n setTimeout(() => { selectMemberSuccess && selectMemberSuccess(member) }, 300)\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 memberTabChange = (tabIndex) => {\r\n this.setState({tabIndex});\r\n const currentUserRetail = this.cacheUserRetail[this.currentMemberId];\r\n if (!currentUserRetail) {\r\n return this.loadUserRetail(this.currentMemberId);\r\n }\r\n this.setState({...currentUserRetail});\r\n const activeElement = document.activeElement;\r\n activeElement && activeElement.blur()\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 changeIsAllAuthority = () => {\r\n this.setState({\r\n isAllAuthority: false\r\n })\r\n }\r\n\r\n // 重置购买记录相关数据\r\n resetLastRetail = async (pageNo) => {\r\n this.setState({\r\n lastRetailPageNo: pageNo\r\n })\r\n }\r\n // 获取会员的购买记录\r\n findMemberLastRetailDetailList = async (pageSize) => {\r\n let { lastRetailPageNo, member: { ID } = {}, lastRetailList = [] } = this.state\r\n const params = {\r\n memberId: ID,\r\n pageNo: lastRetailPageNo,\r\n pageSize\r\n }\r\n this.setState({\r\n lastRetailLoading: true\r\n })\r\n try {\r\n const ret = await this.ms.findMemberLastRetailDetail(params)\r\n const { data: { recencyBeanList = [], totalCount = 0 } = {} } = ret\r\n lastRetailList.push(...recencyBeanList)\r\n\r\n this.setState({\r\n lastRetailTotal: totalCount,\r\n lastRetailLoading: false,\r\n lastRetailPageNo: pageSize === 3 ? 0 : this.state.lastRetailPageNo + 1,\r\n lastRetailList: this.state.lastRetailPageNo === 0 ? recencyBeanList : lastRetailList\r\n })\r\n\r\n } catch (err) {\r\n this.setState({\r\n lastRetailLoading: false\r\n })\r\n }\r\n }\r\n\r\n render() {\r\n const isUserAndroidKey = !! window.android_setKeyBoard;\r\n\r\n const user = JSON.parse(localStorage.getItem('user')) || {};\r\n const { loginInfo: { IsEnableUMember } = {} } = user;\r\n const { searchValue, memberList = [], memberInfo = {}, member = {}, recommend = [], memberTabHeight = 0,\r\n loadmoreLoading, nomoreData, initEmpty, columnInfo = [], loadingUser, loadingBtn, selected, isAllAuthority,lastRetailTotal, lastRetailList, lastRetailLoading,isCC, cardInfo, cardList } = this.state;\r\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, viewMemberInfo, authProcess, mode, title, storeKey } = this.props;\r\n const { precisionInfo = {} } = this.ms;\r\n const showSearch = ['会员查询'].includes(type);\r\n const noList = !memberList.length;\r\n const showSelectBtn = type === '会员查询' || !!status;\r\n //是否正常开单\r\n let voucherStateType = (mode !== 'practice');\r\n const { memberEnumState } = enumController.getEnumOj();\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={`${hotKey.hotKeyNotFilter('search-input')} android_focus_keyboard`}\r\n value={searchValue}\r\n type='native'\r\n onChange={({ target: { value: searchValue } }) => this.setState({ searchValue })}\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 ref={ref => this.memberTab = ref} className={`${hotKey.hotKeyBindClass('4', 'member-shop-content')}`}>\r\n {\r\n this.dataLoaded && noList && <div className='empty-data-img'><div className='tip-text'>暂无数据 ~</div></div>\r\n }\r\n <MemberCardList\r\n ref={list => this.memberCardList = list}\r\n title={title}\r\n storeKey={storeKey}\r\n memberList={memberList}\r\n precisionInfo={precisionInfo}\r\n loadmoreLoading={loadmoreLoading}\r\n nomoreData={nomoreData}\r\n loadUserInfo={this.loadUserInfo}\r\n progressListen={this.progressListen}\r\n getMemberStateStamp={this.getMemberStateStamp}\r\n selected={selected}\r\n isCC={isCC}\r\n cardList={cardList}\r\n />\r\n\r\n <div className='member-content-tab content' style={{ display: noList ? 'none' : 'flex' }}>\r\n {\r\n (voucherStateType && !isAllAuthority) &&\r\n <div>\r\n <div className='menu'>\r\n <MemberMenu\r\n authProcess={authProcess}\r\n changeIsAllAuthority={this.changeIsAllAuthority}\r\n loadUserList={this.loadUserList}\r\n member={member}\r\n memberEnumState={memberEnumState}\r\n loadingBtn={loadingBtn}\r\n selected={selected}\r\n cardList={cardList}\r\n getCardList={this.getCardList}\r\n loadUserInfo={(key, Idmember, item, type, syncUpdateMember) => this.loadUserInfo(key, Idmember, item, type, syncUpdateMember)}\r\n handleChange={this.MemberMenuChange}></MemberMenu>\r\n </div>\r\n <div className='line'></div>\r\n </div>\r\n }\r\n <MemberTab\r\n defaultActiveKey={defaultActiveKey}\r\n member={member}\r\n memberInfo={memberInfo}\r\n showModal={showModal}\r\n title={title}\r\n titleModal={titleModal}\r\n storeKey={storeKey}\r\n recommend={recommend}\r\n memberTabHeight={memberTabHeight}\r\n initEmpty={initEmpty}\r\n memberList={memberList}\r\n columnInfo={columnInfo}\r\n precisionInfo={precisionInfo}\r\n onChange={this.memberTabChange}\r\n getMemberStateStamp={this.getMemberStateStamp}\r\n cardInfo={cardInfo}\r\n \t\t\t lastRetailTotal={lastRetailTotal}\r\n lastRetailList={lastRetailList}\r\n lastRetailLoading={lastRetailLoading}\r\n findMemberLastRetailDetailList={this.findMemberLastRetailDetailList}\r\n />\r\n </div>\r\n </div>\r\n <div className='member-footer'>\r\n <Button onClick={onCancel}>取消</Button>\r\n {\r\n showSelectBtn &&\r\n <Button\r\n onClick={() => this.handleOk(noList)}\r\n type=\"primary\"\r\n style={{ marginRight: 5 }}\r\n disabled={loadingUser}\r\n >\r\n {\r\n loadingUser ? '加载会员' : noList ? '确定' : '选取会员'\r\n }\r\n </Button>\r\n }\r\n </div>\r\n </div>\r\n )\r\n }\r\n}\r\n"]}
@@ -1,7 +1,8 @@
1
+ @import "~tplus-components/dist/index.less";
1
2
  @import './color.less';
2
3
 
3
- @expiration-img : url("https://newretail.static.chanjet.com/expiration-stamp.png");
4
- @empty-data-img : url("https://newretail.static.chanjet.com/empty.png");
4
+ @expiration-img : url("@{url-prefix}/expiration-stamp.png");
5
+ @empty-data-img : url("@{url-prefix}/empty.png");
5
6
 
6
7
  .memberShopContainer{
7
8
  .empty-data{
@@ -22,7 +23,7 @@
22
23
  background-size: cover;
23
24
  transform: translate(-50%, -50%);
24
25
  }
25
-
26
+
26
27
  }
27
28
  .empty-data-img{
28
29
  width: 162px;
@@ -246,9 +246,6 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
246
246
 
247
247
  var mode = _this.props.mode;
248
248
 
249
- var _ref2 = _mutantsUtil.platform || {},
250
- isNewRetailBCPos = _ref2.isNewRetailBCPos;
251
-
252
249
  _this.state = {
253
250
  searchValue: '',
254
251
  searchStatus: !!_this.props.listArr ? true : false,
@@ -343,8 +340,8 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
343
340
  className: searchClassName + ' android_focus_keyboard',
344
341
  value: searchValue,
345
342
  type: 'native',
346
- onChange: function onChange(_ref3) {
347
- var searchValue = _ref3.target.value;
343
+ onChange: function onChange(_ref2) {
344
+ var searchValue = _ref2.target.value;
348
345
  return _this2.setState({ searchValue: searchValue });
349
346
  },
350
347
  inputRef: function inputRef(ref) {
@@ -353,8 +350,8 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
353
350
  onClear: function onClear() {
354
351
  return _this2.onClear('searchValue', _this2.searchRef);
355
352
  },
356
- onFocus: function onFocus(_ref4) {
357
- var target = _ref4.target;
353
+ onFocus: function onFocus(_ref3) {
354
+ var target = _ref3.target;
358
355
 
359
356
  if (!isUserAndroidKey) {
360
357
  _this2.focusInputName = 'searchValue';
@@ -378,8 +375,8 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
378
375
  _react2.default.createElement(
379
376
  'div',
380
377
  {
381
- ref: function ref(_ref5) {
382
- return _this2.memberTab = _ref5;
378
+ ref: function ref(_ref4) {
379
+ return _this2.memberTab = _ref4;
383
380
  },
384
381
  className: '' + memberTabClassName
385
382
  },