tplus-member 1.26.3 → 1.27.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. package/locales/zh/tplus-portsetting.json +1 -1
  2. package/locales/zh-CN/tplus-portsetting.json +1 -1
  3. package/package.json +27 -27
  4. package/dist/api.js +0 -533
  5. package/dist/api.js.map +0 -1
  6. package/dist/controllers/FeedbackController.js +0 -53
  7. package/dist/controllers/FeedbackController.js.map +0 -1
  8. package/dist/controllers/MemberOrderController.js +0 -359
  9. package/dist/controllers/MemberOrderController.js.map +0 -1
  10. package/dist/controllers/OpenCardController.js +0 -289
  11. package/dist/controllers/OpenCardController.js.map +0 -1
  12. package/dist/controllers/defaultConfig.js +0 -19
  13. package/dist/controllers/defaultConfig.js.map +0 -1
  14. package/dist/dataProvider/member.js +0 -144
  15. package/dist/dataProvider/member.js.map +0 -1
  16. package/dist/dataProvider/openCard.js +0 -145
  17. package/dist/dataProvider/openCard.js.map +0 -1
  18. package/dist/domain/member/AuthProcess.js +0 -42
  19. package/dist/domain/member/AuthProcess.js.map +0 -1
  20. package/dist/domain/member/CardCodeChangedProcessor.js +0 -35
  21. package/dist/domain/member/CardCodeChangedProcessor.js.map +0 -1
  22. package/dist/domain/member/CheckCardCodeAndCodeProcessor.js +0 -48
  23. package/dist/domain/member/CheckCardCodeAndCodeProcessor.js.map +0 -1
  24. package/dist/domain/member/CheckMobilephoneFormatProcessor.js +0 -38
  25. package/dist/domain/member/CheckMobilephoneFormatProcessor.js.map +0 -1
  26. package/dist/domain/member/CheckPresentAmountProcessor.js +0 -99
  27. package/dist/domain/member/CheckPresentAmountProcessor.js.map +0 -1
  28. package/dist/domain/member/EffectiveDateChangedProcessor.js +0 -50
  29. package/dist/domain/member/EffectiveDateChangedProcessor.js.map +0 -1
  30. package/dist/domain/member/GetThisPresentAmountProcessor.js +0 -116
  31. package/dist/domain/member/GetThisPresentAmountProcessor.js.map +0 -1
  32. package/dist/domain/member/InitDataDeductionProcessor.js +0 -68
  33. package/dist/domain/member/InitDataDeductionProcessor.js.map +0 -1
  34. package/dist/domain/member/InitDataProcessor.js +0 -140
  35. package/dist/domain/member/InitDataProcessor.js.map +0 -1
  36. package/dist/domain/member/InitDataProjectProcessor.js +0 -102
  37. package/dist/domain/member/InitDataProjectProcessor.js.map +0 -1
  38. package/dist/domain/member/IsMemberEffectiveProcessor.js +0 -45
  39. package/dist/domain/member/IsMemberEffectiveProcessor.js.map +0 -1
  40. package/dist/domain/member/IsMemberEnableProcessor.js +0 -38
  41. package/dist/domain/member/IsMemberEnableProcessor.js.map +0 -1
  42. package/dist/domain/member/IsMemberExpirationProcessor.js +0 -46
  43. package/dist/domain/member/IsMemberExpirationProcessor.js.map +0 -1
  44. package/dist/domain/member/IsMemberPasswordSameProcessor.js +0 -41
  45. package/dist/domain/member/IsMemberPasswordSameProcessor.js.map +0 -1
  46. package/dist/domain/member/IsMemberStorageForStoreProcessor.js +0 -40
  47. package/dist/domain/member/IsMemberStorageForStoreProcessor.js.map +0 -1
  48. package/dist/domain/member/MemberTypeChangedProcessor.js +0 -120
  49. package/dist/domain/member/MemberTypeChangedProcessor.js.map +0 -1
  50. package/dist/domain/member/MobilephoneChangedProcessor.js +0 -39
  51. package/dist/domain/member/MobilephoneChangedProcessor.js.map +0 -1
  52. package/dist/domain/member/PersonProcesser.js +0 -35
  53. package/dist/domain/member/PersonProcesser.js.map +0 -1
  54. package/dist/domain/member/PriuserdefChangedProcessor.js +0 -50
  55. package/dist/domain/member/PriuserdefChangedProcessor.js.map +0 -1
  56. package/dist/domain/operationLog/AddLogProcessor.js +0 -50
  57. package/dist/domain/operationLog/AddLogProcessor.js.map +0 -1
  58. package/dist/domain/operationLog/OperationConfig.js +0 -34
  59. package/dist/domain/operationLog/OperationConfig.js.map +0 -1
  60. package/dist/domain/operationLog/OperationLog.js +0 -146
  61. package/dist/domain/operationLog/OperationLog.js.map +0 -1
  62. package/dist/index.js +0 -124
  63. package/dist/index.js.map +0 -1
  64. package/dist/member/MemberPhoto.js +0 -268
  65. package/dist/member/MemberPhoto.js.map +0 -1
  66. package/dist/member/MemberShow.js +0 -167
  67. package/dist/member/MemberShow.js.map +0 -1
  68. package/dist/member/ShopMember.js +0 -1096
  69. package/dist/member/ShopMember.js.map +0 -1
  70. package/dist/member/ShopMember.less +0 -605
  71. package/dist/member/api.js +0 -726
  72. package/dist/member/api.js.map +0 -1
  73. package/dist/member/color.less +0 -32
  74. package/dist/member/index.js +0 -843
  75. package/dist/member/index.js.map +0 -1
  76. package/dist/member/index.less +0 -466
  77. package/dist/member/memberTab.js +0 -675
  78. package/dist/member/memberTab.js.map +0 -1
  79. package/dist/memberMenu/changeMemberCard/index.js +0 -268
  80. package/dist/memberMenu/changeMemberCard/index.js.map +0 -1
  81. package/dist/memberMenu/changeMemberCard/style.less +0 -43
  82. package/dist/memberMenu/index.js +0 -826
  83. package/dist/memberMenu/index.js.map +0 -1
  84. package/dist/memberMenu/modifyPass/index.js +0 -207
  85. package/dist/memberMenu/modifyPass/index.js.map +0 -1
  86. package/dist/memberMenu/modifyPass/store.js +0 -357
  87. package/dist/memberMenu/modifyPass/store.js.map +0 -1
  88. package/dist/memberMenu/modifyPass/style.less +0 -91
  89. package/dist/memberMenu/style.less +0 -82
  90. package/dist/socket.js +0 -164
  91. package/dist/socket.js.map +0 -1
  92. package/dist/utils.js +0 -246
  93. package/dist/utils.js.map +0 -1
  94. package/dist/viewController/MemberOrderViewController.js +0 -144
  95. package/dist/viewController/MemberOrderViewController.js.map +0 -1
  96. package/dist/viewDoMain/CheckMemberProcessorBlock.js +0 -53
  97. package/dist/viewDoMain/CheckMemberProcessorBlock.js.map +0 -1
  98. package/dist/viewDoMain/CheckMemberStorageProcessorBlock.js +0 -85
  99. package/dist/viewDoMain/CheckMemberStorageProcessorBlock.js.map +0 -1
  100. package/dist/viewDoMain/CheckSelectMemberProcessorBlock.js +0 -69
  101. package/dist/viewDoMain/CheckSelectMemberProcessorBlock.js.map +0 -1
  102. package/dist/viewDoMain/CheckUpdatePasswordProcessorBlock.js +0 -44
  103. package/dist/viewDoMain/CheckUpdatePasswordProcessorBlock.js.map +0 -1
  104. package/dist/viewDoMain/MemberDataChangedProcessorBlock.js +0 -66
  105. package/dist/viewDoMain/MemberDataChangedProcessorBlock.js.map +0 -1
  106. package/dist/viewDoMain/MemberDataPreSaveProcessorBlock.js +0 -79
  107. package/dist/viewDoMain/MemberDataPreSaveProcessorBlock.js.map +0 -1
  108. package/dist/viewModels/MemberDeduction.js +0 -862
  109. package/dist/viewModels/MemberDeduction.js.map +0 -1
  110. package/dist/viewModels/MemberOrder.js +0 -248
  111. package/dist/viewModels/MemberOrder.js.map +0 -1
  112. package/dist/viewModels/MemberProject.js +0 -953
  113. package/dist/viewModels/MemberProject.js.map +0 -1
  114. package/dist/viewModels/MemberStore.js +0 -310
  115. package/dist/viewModels/MemberStore.js.map +0 -1
  116. package/dist/views/commonPerson/commonPerson.less +0 -54
  117. package/dist/views/commonPerson/commonPersonModal.js +0 -459
  118. package/dist/views/commonPerson/commonPersonModal.js.map +0 -1
  119. package/dist/views/memberDeduction/MemberDeductionView.js +0 -837
  120. package/dist/views/memberDeduction/MemberDeductionView.js.map +0 -1
  121. package/dist/views/memberDeduction/deductionSuccess.js +0 -62
  122. package/dist/views/memberDeduction/deductionSuccess.js.map +0 -1
  123. package/dist/views/memberDeduction/memberDeduction.less +0 -238
  124. package/dist/views/memberManage/MemberOrderView.js +0 -427
  125. package/dist/views/memberManage/MemberOrderView.js.map +0 -1
  126. package/dist/views/memberManage/memberOrder.less +0 -72
  127. package/dist/views/memberProject/GroupProjectModal.js +0 -676
  128. package/dist/views/memberProject/GroupProjectModal.js.map +0 -1
  129. package/dist/views/memberProject/MemberProjectView.js +0 -578
  130. package/dist/views/memberProject/MemberProjectView.js.map +0 -1
  131. package/dist/views/memberProject/SelectProjectModal.js +0 -330
  132. package/dist/views/memberProject/SelectProjectModal.js.map +0 -1
  133. package/dist/views/memberProject/memberProject.less +0 -334
  134. package/dist/views/memberRecharge/MemberStoreView.js +0 -546
  135. package/dist/views/memberRecharge/MemberStoreView.js.map +0 -1
  136. package/dist/views/memberRecharge/memberStore.less +0 -148
@@ -1 +0,0 @@
1
- {"version":3,"sources":["tplus-member/member/ShopMember.js"],"names":["memberSwiper","swiperSelectObserver","ShopMember","props","currentPage","cacheUserRetail","hotKeyListener","nodeName","index","progressListen","className","indexOf","isHotKeyAction","activeElement","document","blur","observerCard","setTimeout","slideSelected","querySelector","prevSlideSelected","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","stores","memberDeductionStore","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","selectMemberStore","setCurMemberInfo","context","viewModel","data","Member","seletMember","catch","loadUserRetail","titleModal","includes","show","target","node","delay","getMemberRetailDetail","Like","Record","Recency","RecommendList","Storages","memberInfo","record","like","recency","memberStore","setStoragesData","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","undefined","handleSearchChange","val","getCardRender","IsEnableUMember","Name","CardCode","MemberType","IsFocusUmember","ImageFile","ExpirationDate","isExpiration","isUserLogout","UmemberOpenId","iconItems","getMemberStateStamp","labels","split","defaultAvatar","isSelected","resetSlideTop","slideTo","isUserLoss","isUserNotUsing","handleOk","nomemberList","MemberState","Id","onCancel","Message","warn","items","viewVoucher","isTakeTheir","getIsTakeTheir","el","name","uiState","tip","info","_this","ModalWraper","confirm","title","content","onOk","handleChangeMember","selectMemberSuccess","keyboardOnOk","searchRef","onKeyPressed","e","keyCode","enterKey","currentUserRetail","MemberMenuChange","dto","onClear","input","focus","modifyMember","id","ts","params","newCardCode","Ts","mode","memberLength","defaultActiveKey","API","platform","isHorizontalSunMi","android_setKeyBoard","SetKeyBoardDisplay","IntersectionObserver","entries","boundingClientRect","height","bottom","top","intersectionRatio","slideNext","slidePrev","addEventListener","Code","$","on","updateSlides","Swiper","direction","slidesPerView","mousewheel","watchSlidesProgress","scrollbar","destroy","disconnect","off","isUserAndroidKey","user","localStorage","getItem","loginInfo","showModal","authProcess","showSearch","showSelectBtn","voucherStateType","console","log","ref","focusInputName","inputTarget","Keyboard","open","getNewValue","close","hotKey","hotKeyBindClass","display","marginTop","memberEnumState","marginRight","Component","defaultProps","contextTypes","PropTypes","object","array"],"mappings":"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","file":"ShopMember.js","sourcesContent":["import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { FormControl, Button, Tabs } from 'tinper-bee';\r\nimport { ModalWraper, Input, Loading, Message, Ticon, Keyboard, Spin, hotKey } from 'tplus-components-touch';\r\nimport { stores } from 'mutants-microfx';\r\nimport API from './api';\r\nimport MemberTab from './memberTab';\r\nimport Swiper from 'swiper/dist/js/swiper.js';\r\nimport 'swiper/dist/css/swiper.min.css';\r\nimport './ShopMember.less';\r\nimport { platform } from 'mutants-util';\r\nimport { formatPrecision, userInfoFormat, errMessageTip, memberEnumState } from '../utils';\r\nimport MemberMenu from '../memberMenu/index';\r\n\r\nlet memberSwiper;\r\nlet 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 };\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 memberLength: 0,\r\n memberInfo: {\r\n record: [],\r\n like: [],\r\n recency: [],\r\n },\r\n searchStatus: !!this.props.listArr ? true : false,\r\n tabIndex: this.props.defaultActiveKey,\r\n tabMenuHeight: mode !== 'practice' ? 64 : 0 // 64为table上部操作菜单高度\r\n };\r\n this.ms = API;\r\n }\r\n\r\n currentPage = 1;\r\n cacheUserRetail = {};\r\n\r\n componentDidMount() {\r\n // 打开商米的系统键盘\r\n const { isHorizontalSunMi } = platform || {};\r\n isHorizontalSunMi && window.android_setKeyBoard && window.android_setKeyBoard.SetKeyBoardDisplay(1)\r\n\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 } = 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 = [], memberLength, memberTabHeight, tabMenuHeight} = this.state;\r\n if (memberList.length !== memberLength) {\r\n this.setState({memberLength: memberList.length}, () => {\r\n if (memberSwiper) {\r\n return memberSwiper.updateSlides();\r\n }\r\n memberSwiper = new Swiper('.swiper-member-container', {\r\n direction: 'vertical',\r\n slidesPerView: 'auto',\r\n mousewheel: true,\r\n watchSlidesProgress : true,\r\n on: {\r\n progress: this.progressListen\r\n },\r\n scrollbar: {\r\n el: '.swiper-scrollbar',\r\n hide: true,\r\n },\r\n });\r\n });\r\n }\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 const { isHorizontalSunMi } = platform || {};\r\n isHorizontalSunMi && window.android_setKeyBoard && window.android_setKeyBoard.SetKeyBoardDisplay(0)\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\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 stores.memberDeductionStore.Idmember = Idmember\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 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 }).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 // console.log(ret, '会员推荐&最近购买数据')\r\n Loading.hide();\r\n if (this.isNotSetState(Idmember)) return;\r\n const {Like, Record, Recency, RecommendList = [], Storages } = ret || {};\r\n const recommend = RecommendList;\r\n const memberInfo = {record: Record, like: Like, recency: Recency};\r\n this.setState({recommend, memberInfo});\r\n stores.memberStore.setStoragesData(Storages)\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, memberList } = 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 // stores.memberStore.searchInfoList.map((value) => {\r\n // arr.push(value)\r\n // })\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 handleSearchClick = () => {\r\n const { searchValue } = this.state;\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 getCardRender = (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 iconItems = this.getMemberStateStamp(item);\r\n const labels = UmemberLabel ? UmemberLabel.split(',') : [];\r\n const defaultAvatar = 'https://newretail.static.chanjet.com/default_avatar.png';\r\n const {selected} = this.state;\r\n const isSelected = selected === key;\r\n return (\r\n <div key={key} className={`swiper-slide member-item-slide ${isSelected ? 'slide-selected' : ''}`} onClick={() => this.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>{formatPrecision(BalanceStorage, precisionInfo.BalanceStorage)}余额</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 {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 </div>\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.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.resetSlideTop();\r\n }\r\n });\r\n }\r\n }\r\n\r\n resetSlideTop = () => {\r\n if (memberSwiper) {\r\n memberSwiper.slideTo(0, 0, false);\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\r\n handleOk = (nomemberList) => {\r\n const { member, errorMsg } = this.state;\r\n const { isExpiration, MemberState: { Id, Name } = {} } = member || {};\r\n if (nomemberList) {\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} = {} } = {}, items = [] } = this.context.viewModel || {};\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 } = this.props;\r\n stores.selectMemberStore.seletMember(member,true);\r\n memberChange && memberChange(member)\r\n onOk && onOk();\r\n //商品输入框焦点。\r\n setTimeout(() => { selectMemberSuccess && selectMemberSuccess() }, 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 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 modifyMember = (id, ts, params, newCardCode) => {\r\n let arr = [];\r\n this.state.memberList.forEach((item) => {\r\n if (item.ID === id) {\r\n if (params === 'changeCard') {\r\n item.CardCode = newCardCode;\r\n }\r\n item.Ts = ts;\r\n\r\n }\r\n arr.push(item)\r\n })\r\n this.setState({\r\n memberList: arr\r\n })\r\n }\r\n\r\n render() {\r\n\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 } = this.state;\r\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, viewMemberInfo, authProcess, mode } = this.props;\r\n const { precisionInfo = {} } = this.ms;\r\n const showSearch = ['会员查询'].includes(type);\r\n const nomemberList = !memberList.length;\r\n const showSelectBtn = type === '会员查询' || !!status;\r\n //是否正常开单\r\n let voucherStateType = (mode !== 'practice');\r\n console.log(this.props, '--------')\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='search-input'\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='search-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 && nomemberList && <div className='empty-data-img' />\r\n }\r\n <div className='member-card-list-side' style={{ display: nomemberList ? 'none' : 'block' }}>\r\n <div className=\"swiper-member-container\" style={{ height: '100%' }}>\r\n <div className=\"swiper-wrapper\">\r\n {memberList.map((value, key) => this.getCardRender(value, key, IsEnableUMember, precisionInfo))}\r\n {!memberList.length && <span className='empty-data-tip' style={{ marginTop: 30 }}>没有相关数据~</span>}\r\n {loadmoreLoading && <span className='empty-data-tip empty-data-tip-member-card'>数据加载中 ...</span>}\r\n {nomoreData && <span className='empty-data-tip empty-data-tip-member-card'>没有更多数据了~</span>}\r\n </div>\r\n <div className=\"swiper-scrollbar\" />\r\n </div>\r\n </div>\r\n <div className='member-content-tab content' style={{ display: nomemberList ? 'none' : 'flex' }}>\r\n {\r\n voucherStateType &&\r\n <div>\r\n <div className='menu'>\r\n <MemberMenu modifyMember={this.modifyMember} authProcess={authProcess} loadUserList={this.loadUserList} member={member} memberEnumState={memberEnumState} loadingBtn={loadingBtn} selected={selected} loadUserInfo={(key, Idmember, item, type, syncUpdateMember) => this.loadUserInfo(key, Idmember, item, type, syncUpdateMember)} 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 titleModal={titleModal}\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 />\r\n </div>\r\n </div>\r\n <div className='member-footer'>\r\n <Button onClick={onCancel} colors=\"secondary\">取消</Button>\r\n {\r\n showSelectBtn &&\r\n <Button\r\n onClick={() => this.handleOk(nomemberList)}\r\n colors=\"primary\"\r\n style={{ marginRight: 5 }}\r\n className={loadingUser ? 'disabled-member-select-btn' : ''}\r\n disabled={loadingUser}\r\n >\r\n {\r\n loadingUser ? '加载会员' : nomemberList ? '确定' : '选取会员'\r\n }\r\n </Button>\r\n }\r\n </div>\r\n </div>\r\n )\r\n }\r\n}\r\n"]}