tplus-member 3.27.5 → 3.27.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -643,10 +643,14 @@ var ShopMember = (_temp = _class = function (_Component) {
643
643
  var _ref6$data$Member = _ref6$data.Member;
644
644
  _ref6$data$Member = _ref6$data$Member === undefined ? {} : _ref6$data$Member;
645
645
  var ID = _ref6$data$Member.ID,
646
+ IdbusiType = _ref6$data.IdbusiType,
646
647
  _ref6$items = _ref6.items,
647
648
  items = _ref6$items === undefined ? [] : _ref6$items;
648
649
 
649
-
650
+ if (IdbusiType == 39) {
651
+ _tplusComponentsTouch.Message.warn('取货时不可以切换选择会员');
652
+ return;
653
+ }
650
654
  var viewVoucher = items.find(function (v) {
651
655
  return v.type === 'Voucher';
652
656
  }) || {};
@@ -1 +1 @@
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","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","context","viewModel","data","Member","seletMember","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","undefined","handleSearchChange","val","getCardRender","IsEnableUMember","Name","CardCode","MemberType","IsFocusUmember","ImageFile","ExpirationDate","isExpiration","isUserLogout","UmemberOpenId","iconItems","getMemberStateStamp","labels","split","defaultAvatar","isCC","isSelected","resetSlideTop","slideTo","isUserLoss","isUserNotUsing","handleOk","nomemberList","MemberState","Id","onCancel","Message","warn","items","viewVoucher","isTakeTheir","getIsTakeTheir","memberStore","el","name","uiState","tip","info","_this","ModalWraper","confirm","title","content","onOk","handleChangeMember","selectMemberSuccess","getMemberBirthday","result","changeMemberCare","keyboardOnOk","searchRef","onKeyPressed","e","keyCode","enterKey","currentUserRetail","MemberMenuChange","dto","onClear","input","focus","changeIsAllAuthority","isAllAuthority","mode","platform","isNewRetailBCPos","memberLength","defaultActiveKey","IntersectionObserver","entries","boundingClientRect","height","bottom","top","intersectionRatio","slideNext","slidePrev","addEventListener","Code","$","on","updateSlides","Swiper","direction","slidesPerView","mousewheel","watchSlidesProgress","scrollbar","destroy","disconnect","off","isUserAndroidKey","android_setKeyBoard","user","localStorage","getItem","loginInfo","showModal","authProcess","showSearch","showSelectBtn","voucherStateType","enumController","getEnumOj","memberEnumState","hotKey","hotKeyNotFilter","ref","focusInputName","inputTarget","Keyboard","open","getNewValue","close","hotKeyBindClass","display","marginTop","marginRight","Component","defaultProps","contextTypes","PropTypes","object","array"],"mappings":"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","file":"ShopMember.js","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'antd';\nimport { ModalWraper, Input, Loading, Message, Ticon, Keyboard, Spin, hotKey } from 'tplus-components-touch';\nimport { stores } from 'mutants-microfx';\nimport { enumController, platform } from 'mutants-util';\nimport memberStore from './api';\nimport MemberTab from './memberTab';\nimport Swiper from 'swiper/dist/js/swiper.js';\nimport 'swiper/dist/css/swiper.min.css';\nimport './ShopMember.less';\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\nimport MemberMenu from './memberMenu/index.js'\n\nlet memberSwiper;\nlet swiperSelectObserver;\n\nexport default class ShopMember extends Component {\n static defaultProps = {\n onCancel: () => {},\n onOk: () => {},\n };\n\n static contextTypes = {\n viewModel: PropTypes.object,\n columnInfo: PropTypes.array,\n };\n constructor(props) {\n super(props);\n const { mode } = this.props;\n let { isNewRetailBCPos } = platform || {};\n this.state = {\n searchValue: '',\n memberList: [],\n memberLength: 0,\n memberInfo: {\n record: [],\n like: [],\n recency: [],\n },\n searchStatus: !!this.props.listArr ? true : false,\n isCC: !!isNewRetailBCPos,\n tabIndex: this.props.defaultActiveKey,\n isAllAuthority: false,\n tabMenuHeight: mode !== 'practice' ? 64 : 0 // 64为table上部操作菜单高度\n };\n this.ms = memberStore;\n }\n\n currentPage = 1;\n cacheUserRetail = {};\n\n componentDidMount() {\n swiperSelectObserver = new IntersectionObserver(entries => {\n const { boundingClientRect: { height, bottom, top } = {}, intersectionRatio } = entries[0];\n if (intersectionRatio !== 1 && this.isHotKeyAction) {\n this.isHotKeyAction = false;\n\n bottom > height && memberSwiper.slideNext();\n // 解决向上滑动时top < 10 时距离问题\n if (top < -10) {\n top < height && memberSwiper.slidePrev() && memberSwiper.slidePrev()\n } else {\n top < height && memberSwiper.slidePrev()\n }\n }\n });\n\n window.addEventListener('resize', this.windowOnresize);\n const { viewMemberInfo, status, columnInfo } = this.props;\n if (viewMemberInfo) {\n if (status) {\n return this.loadUserListSuccess(viewMemberInfo);\n } else if (status === 0) { // status 0 为 查看会员详情\n columnInfo && this.precisionInfo(columnInfo); // 查看录入的会员查看详情时父级传递了 columnInfo props\n return this.usersLoadSuccess([viewMemberInfo], 'search');\n }\n const { Code } = viewMemberInfo;\n return this.loadUserList('init', undefined, undefined, true, Code);\n };\n this.loadUserList('init');\n $.on(this.hotKeyListener);\n\n this.ms.searchValue = '';//初始化完成筛选列表清空数据(会员新增成功——封涛)\n }\n\n componentDidUpdate() {\n const {memberList = [], memberLength, memberTabHeight, tabMenuHeight} = this.state;\n if (memberList.length !== memberLength) {\n this.setState({memberLength: memberList.length}, () => {\n if (memberSwiper) {\n return memberSwiper.updateSlides();\n }\n memberSwiper = new Swiper('.swiper-member-container', {\n direction: 'vertical',\n slidesPerView: 'auto',\n mousewheel: true,\n watchSlidesProgress : true,\n on: {\n progress: this.progressListen\n },\n scrollbar: {\n el: '.swiper-scrollbar',\n hide: true,\n },\n });\n });\n }\n const clientHeight = this.memberTab.clientHeight - tabMenuHeight;\n if (clientHeight !== memberTabHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n componentWillUnmount() {\n \n memberSwiper && memberSwiper.destroy(false);\n memberSwiper = undefined;\n this.willUnmount = true;\n\n window.removeEventListener('resize', this.windowOnresize);\n swiperSelectObserver.disconnect();\n $.off(this.hotKeyListener);\n }\n\n hotKeyListener = (nodeName, index) => {\n this.progressListen()\n if (nodeName && ~nodeName.className.indexOf('slide-selected')) {\n this.isHotKeyAction = true;\n const activeElement = document.activeElement;\n activeElement && activeElement.blur();\n }\n }\n\n observerCard = () => {\n setTimeout(() => {\n const slideSelected = document.querySelector('.slide-selected');\n this.prevSlideSelected && swiperSelectObserver.unobserve(this.prevSlideSelected);\n this.prevSlideSelected = slideSelected;\n slideSelected && swiperSelectObserver.observe(slideSelected);\n })\n }\n\n progressListen = (progress) => {\n const {selected} = this.state;\n\n const {memberList = []} = this.state;\n const {viewMemberInfo} = this.props;\n if (viewMemberInfo) return;\n const {loadmoreLoading, nomoreData, searchValue = ''} = this.state;\n // let newselect = (selected + 5) % 10\n if ((selected + 1) % 10 === 0 && !loadmoreLoading && !nomoreData) {\n this.currentPage += 1;\n this.loadUserList('loadmore', this.currentPage);\n }\n if (progress >= 1 && !loadmoreLoading && !nomoreData) {\n this.currentPage += 1;\n this.loadUserList('loadmore', this.currentPage);\n }\n\n }\n\n windowOnresize = () => {\n if (!this.memberTab) {\n return window.removeEventListener('resize', this.windowOnresize);\n };\n const {memberTabHeight} = this.state;\n const clientHeight = this.memberTab.clientHeight - this.state.tabMenuHeight;\n if (memberTabHeight !== clientHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n isNotSetState = (Idmember) => {\n if (this.willUnmount || Idmember !== this.currentMemberId) return true;\n }\n\n loadUserInfo = (key, Idmember, item, type, syncUpdateMember) => {\n this.observerCard();\n\n const { selectChange, viewMemberInfo, memberChange } = this.props;\n const { selected, tabIndex = '1' } = this.state;\n if (key === selected && type !== true && type!=='opencard') return;\n Loading.hide();\n if (this.currentMemberId && !(this.cacheUserRetail[this.currentMemberId] || {}).recommend) {\n delete this.cacheUserRetail[this.currentMemberId];\n }\n this.currentMemberId = Idmember;\n\n if (this.userSearch || viewMemberInfo) {\n this.userSearch = false;\n this.setState({selected: key});\n }\n\n const {memberList = []} = this.state;\n\n this.memberTabChange(tabIndex);\n\n this.setState({ selected: key, member: memberList[key] || {}, loadingUser: true, loadingBtn: true });\n this.ms.getGetUmemberDTO(Idmember)\n .then(ret => {\n if (this.isNotSetState(Idmember)) return;\n const {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone,\n DynamicPropertyKeys = [], DynamicPropertyValues = []} = ret || {};\n const mergeKeys = {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone, DynamicPropertyKeys, DynamicPropertyValues};\n //const memberInfo = {...(memberList[key] || {}), ...mergeKeys};\n if (viewMemberInfo) {\n // 用接口中的 BalanceStorage MemberCouponTitle覆盖列表中的数据, 监听对象 使用action 设置值\n this.ms.setMemberKey(mergeKeys);\n } else {\n //设置会员列表中该会员的BalanceStorage值\n const currentMemberOfList = memberList.find(value => value.ID === Idmember) || {};\n Object.keys(mergeKeys).forEach(v => currentMemberOfList[v] = mergeKeys[v]);\n }\n userInfoFormat(ret)\n let arr = [];\n memberList.map(item => {\n if (item.ID === ret.ID) {\n arr.push(ret)\n } else {\n arr.push(item)\n }\n })\n this.setState({\n member: ret,\n initEmpty: true,\n memberList: arr,\n errorMsg: '',\n loadingUser: false,\n loadingBtn: false\n })\n stores.selectMemberStore.setCurMemberInfo(ret);\n selectChange && selectChange(item);\n // 更新当前选定的会员信息\n if (syncUpdateMember) {\n const { data: { Member: { ID } = {} } = {} } = this.context.viewModel || {};\n if (ID == ret.ID) {\n stores.selectMemberStore.seletMember(ret);\n memberChange && memberChange(ret)\n }\n }\n }).catch(err => {\n selectChange && selectChange({});\n if (this.isNotSetState(Idmember)) return;\n this.setState({\n member: memberList[key] || {},\n initEmpty: true,\n errorMsg: '会员信息获取失败,请重试',\n memberList,\n loadingBtn:false\n });\n });\n }\n\n loadUserRetail = (Idmember) => {\n const {tabIndex = '1'} = this.state;\n const {titleModal} = this.props;\n\n if (tabIndex !== '1' && ['会员详情', '到店会员', '人脸识别'].includes(titleModal)) {\n Loading.show({\n target: '.member-content-tab',\n node: <Spin scale={1.2} type='shape' visible/>,\n delay: false\n });\n }\n const {currentMemberId} = this.state;\n this.cacheUserRetail[Idmember] = {};\n this.ms.getMemberRetailDetail(Idmember)\n .then(ret => {\n Loading.hide();\n if (this.isNotSetState(Idmember)) return;\n const {Like, Record, Recency, RecommendList = []} = ret || {};\n const recommend = RecommendList;\n const memberInfo = {record: Record, like: Like, recency: Recency};\n\n this.setState({recommend, memberInfo});\n this.cacheUserRetail[Idmember] = {recommend, memberInfo};\n\n })\n .catch(err => {\n delete this.cacheUserRetail[Idmember];\n if (this.isNotSetState(Idmember)) return;\n this.setState({\n recommend: [],\n memberInfo: {},\n });\n Loading.hide();\n });\n }\n\n loadUserList = (type, currentPage = 1, pageSize = 10, isSingleMember = false, searchId) => {\n const { searchValue, searchStatus } = this.state;\n const { status, listArr } = this.props;\n if (!this.ms) return;\n if (type === 'init') {\n let inputValue = this.ms && this.ms.searchValue;\n if (inputValue) {\n this.setState({ searchValue: inputValue })\n setTimeout(() => { this.keyboardOnClose() }, 310)\n }\n }\n if (type === 'loadmore') {\n this.setState({ loadmoreLoading: true });\n } else {\n Loading.show({ target: '.memberShopContainer' });\n }\n if (type === 'opencard') {\n currentPage = this.currentPage;\n }\n if (searchStatus) {\n let arr = listArr.slice(0);\n this.setState({\n searchStatus: false,\n memberList: arr\n }, () => {\n const { memberList } = this.state;\n this.loadUserListSuccess(memberList, 's', memberList.length);\n Loading.hide();\n })\n return;\n }\n this.ms.getSearchMember({\n currentPage,\n pageSize,\n key: this.ms.searchValue || searchValue || searchId,\n isSingleMember: this.ms.searchValue ? true : isSingleMember\n })\n .then(ret => {\n this.loadUserListSuccess(ret, type, pageSize);\n Loading.hide();\n })\n .catch(err => Loading.hide());\n }\n\n loadUserListSuccess = (ret, type, pageSize) => {\n this.dataLoaded = true;\n const { ColumnInfo, Data } = ret || {};\n this.setState({ columnInfo: ColumnInfo});\n this.precisionInfo(ColumnInfo);\n this.usersLoadSuccess(type === 's' ? ret : JSON.parse(Data), type, pageSize);\n }\n\n precisionInfo = (columnInfo) => {\n const precisionInfo = {};\n if (columnInfo && columnInfo.length > 0) {\n columnInfo = columnInfo.filter(v => !!v.Precision) || [];\n columnInfo.length > 0 &&\n columnInfo.forEach(item => {\n const { Precision, FieldName } = item;\n if (Precision) precisionInfo[FieldName] = Precision;\n })\n }\n this.ms.setPrecisionInfo(precisionInfo);\n }\n\n handleSearchClick = () => {\n const { searchValue } = this.state;\n this.userSearch = true;\n this.currentPage = 1;\n this.setState({ nomoreData: false, selected: undefined });\n this.loadUserList('search', this.currentPage);\n }\n\n handleSearchChange = (val) => {\n this.setState({searchValue: val});\n }\n\n getCardRender = (item = {}, key, IsEnableUMember, precisionInfo = {}) => {\n const {\n ID, Name, Mobilephone, CardCode, BalanceIntegral, BalanceStorage, MemberType = {},\n IsFocusUmember, UmemberLabel = '', ImageFile, ExpirationDate = '', isExpiration, isUserLogout, UmemberOpenId\n } = item;\n const iconItems = this.getMemberStateStamp(item);\n const labels = UmemberLabel ? UmemberLabel.split(',') : [];\n const defaultAvatar = 'https://newretail.static.chanjet.com/default_avatar.png';\n const {selected, isCC} = this.state;\n const isSelected = selected === key;\n return (\n <div key={key} className={`swiper-slide member-item-slide ${isSelected ? 'slide-selected' : ''}`} onClick={() => this.loadUserInfo(key, ID, item)}>\n {\n iconItems && iconItems.length > 0 &&\n <div className='memberstate-stamp'>\n {iconItems}\n </div>\n }\n <div className='card-avatar'>\n <div className='avatar-box'>\n <img src={ImageFile || defaultAvatar} width={60} height={60}/>\n {IsEnableUMember && <div className={`avatar-bage ${UmemberOpenId ? 'bage-follow' : ''}`}>\n <div className='avatar-bage-scale'>{UmemberOpenId ? '已关注' : '未关注'}</div>\n </div>}\n </div>\n </div>\n <div className='member-level'>\n <span>{MemberType.Name}</span>\n </div>\n <div className='member-info-container'>\n <div className='member-infos'>\n <h1 className='member-info-name'>{Name}</h1>\n <p className='member-phone'>{Mobilephone || CardCode}</p>\n </div>\n <div className='member-money'>\n <div className='score'>\n <span>{formatPrecision(BalanceIntegral, precisionInfo.BalanceIntegral)}积分</span>\n </div>\n <div className='balance'>\n <span>{BalanceStorage ? formatPrecision(BalanceStorage, precisionInfo.BalanceStorage) : 0}余额</span>\n </div>\n </div>\n {IsEnableUMember && <div className='member-tag'>\n {labels.map((item, key) => <span key={key}>{item}</span>)}\n </div>}\n </div>\n {isSelected && <div className='member-selected-icon'>\n <div className='member-selected-icon-arrow'>\n <Ticon type='huiyuanxuanzhong' />\n </div>\n </div>}\n </div>\n );\n };\n\n usersLoadSuccess = (data = [], type, pageSize = 10) => {\n const {status} = this.props;\n const { selected } = this.state;\n if (this.willUnmount) return;\n if (data.length) {\n data.forEach(v => userInfoFormat(v));\n\n if (type === 'loadmore') {\n const {memberList = []} = this.state;\n memberList.push(...data);\n return this.setState({nomoreData: data.length < pageSize, loadmoreLoading: false, memberList});\n }\n this.setState({memberList: data}, () => {\n if (type === 'search') {\n this.resetSlideTop();\n }\n const [item = {}] = data;\n // const key=type==='opencard'?(selected-(this.currentPage-1)*pageSize):0;\n // const item =data[key];\n this.loadUserInfo(0, item.ID, item, type);\n });\n } else if (type === 'loadmore') {\n this.setState({nomoreData: true, loadmoreLoading: false});\n } else {\n Loading.hide();\n this.setState({\n memberList: [],\n recommend: [],\n member: {},\n memberInfo: {record: [], like: [], recency: []}\n }, () => {\n if (type === 'search') {\n this.resetSlideTop();\n }\n });\n }\n }\n\n resetSlideTop = () => {\n if (memberSwiper) {\n memberSwiper.slideTo(0, 0, false);\n }\n }\n\n //获取会员状态集合,在页面上以图片戳的形式展示。\n getMemberStateStamp = (item) => {\n let arr = [];\n const { isExpiration, isUserLogout, isUserLoss, isUserNotUsing } = item;\n //已挂失\n if (isUserLoss) arr.push(<Ticon type='yiguashi' />)\n //已过期\n if (isExpiration) arr.push(<Ticon type='yiguoqi' />)\n //已注销\n if (isUserLogout) arr.push(<Ticon type='yizhuxiao' />)\n //未启用\n if (isUserNotUsing) arr.push(<Ticon type='weiqiyong' />)\n return arr;\n }\n\n handleOk = (nomemberList) => {\n const { member, errorMsg } = this.state;\n const { isExpiration, MemberState: { Id, Name } = {} } = member || {};\n if (nomemberList) {\n return this.props.onCancel();\n }\n if (errorMsg) return Message.warn(errorMsg);\n if (errMessageTip(member)) return;\n const { data: { Member: {ID} = {} } = {}, items = [] } = this.context.viewModel || {};\n\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\n if (isTakeTheir) {\n Message.warn('自提时不可以切换选择会员');\n return;\n }\n\n //会员不可更改判断\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\n const uiState = memberStore.uiState;\n if (!!uiState.tip) {\n Message.info(uiState.tip)\n return;\n }\n if (ID) {\n const _this = this;\n return ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: '切换会员',\n content: '您确定要替换当前会员吗?',\n onOk() {\n _this.handleChangeMember(member)\n }\n })\n }\n this.handleChangeMember(member)\n }\n\n handleChangeMember = (member) => {\n const { onOk, memberChange, selectMemberSuccess, getMemberBirthday } = this.props;\n stores.selectMemberStore.seletMember(member, true);\n memberChange && memberChange(member)\n onOk && onOk();\n getMemberBirthday && getMemberBirthday(member.ID, (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n })\n //商品输入框焦点。\n setTimeout(() => { selectMemberSuccess && selectMemberSuccess(member) }, 300)\n }\n\n keyboardOnOk = () => {\n this.handleSearchClick();\n }\n\n keyboardOnClose = () => {\n this.searchRef && this.searchRef.blur();\n }\n\n onKeyPressed = (e) => {\n const { keyCode } = e;\n const enterKey = 13;\n if (keyCode === enterKey) {\n this.handleSearchClick();\n this.keyboardOnClose();\n }\n }\n\n memberTabChange = (tabIndex) => {\n this.setState({tabIndex});\n const currentUserRetail = this.cacheUserRetail[this.currentMemberId];\n if (!currentUserRetail) {\n return this.loadUserRetail(this.currentMemberId);\n }\n this.setState({...currentUserRetail});\n const activeElement = document.activeElement;\n activeElement && activeElement.blur()\n }\n\n MemberMenuChange = (dto) => {\n const { memberList } = this.state;\n userInfoFormat(dto)\n let arr = [];\n memberList.map(item => {\n if (item.ID == dto.ID) {\n arr.push(dto)\n } else {\n arr.push(item)\n }\n })\n this.setState({ member: dto, memberList: arr })\n }\n\n onClear = (key, input) => {\n this.setState({[key]: ''});\n input.focus();\n }\n\n changeIsAllAuthority = () => {\n this.setState({\n isAllAuthority: false\n })\n }\n\n render() {\n const isUserAndroidKey = !! window.android_setKeyBoard;\n\n const user = JSON.parse(localStorage.getItem('user')) || {};\n const { loginInfo: { IsEnableUMember } = {} } = user;\n const { searchValue, memberList = [], memberInfo = {}, member = {}, recommend = [], memberTabHeight = 0,\n loadmoreLoading, nomoreData, initEmpty, columnInfo = [], loadingUser, loadingBtn, selected, isAllAuthority } = this.state;\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, viewMemberInfo, authProcess, mode } = this.props;\n const { precisionInfo = {} } = this.ms;\n const showSearch = ['会员查询'].includes(type);\n const nomemberList = !memberList.length;\n const showSelectBtn = type === '会员查询' || !!status;\n //是否正常开单\n let voucherStateType = (mode !== 'practice');\n const { memberEnumState } = enumController.getEnumOj();\n return (\n <div className='memberShopContainer'>\n {\n showSearch &&\n <div className='search-container'>\n <Input\n tplusInput\n placeholder='手机号/卡号/名称/身份证号'\n prefix='sousuo'\n className={`${hotKey.hotKeyNotFilter('search-input')} android_focus_keyboard`}\n value={searchValue}\n type='native'\n onChange={({ target: { value: searchValue } }) => this.setState({ searchValue })}\n inputRef={ref => this.searchRef = ref}\n onClear={() => this.onClear('searchValue', this.searchRef)}\n onFocus={({ target }) => {\n if(!isUserAndroidKey ){\n this.focusInputName = 'searchValue';\n this.inputTarget = target;\n Keyboard.open(v => {\n const key = this.focusInputName;\n const value = Keyboard.getNewValue(this.inputTarget, this.inputTarget.value, v);\n this.setState({ [key]: value });\n }, this.keyboardOnOk, this.keyboardOnClose)();\n }\n }}\n onBlur={Keyboard.close}\n onKeyDown={this.onKeyPressed}\n />\n <Button className='primary-btn' onClick={this.handleSearchClick}>搜索</Button>\n </div>\n }\n <div ref={ref => this.memberTab = ref} className={hotKey.hotKeyBindClass('4', 'member-shop-content')}>\n {\n this.dataLoaded && nomemberList && <div className='empty-data-img' />\n }\n <div className='member-card-list-side' style={{ display: nomemberList ? 'none' : 'block' }}>\n <div className=\"swiper-member-container\" style={{ height: '100%' }}>\n <div className=\"swiper-wrapper\">\n {memberList.map((value, key) => this.getCardRender(value, key, IsEnableUMember, precisionInfo))}\n {!memberList.length && <span className='empty-data-tip' style={{ marginTop: 30 }}>没有相关数据~</span>}\n {loadmoreLoading && <span className='empty-data-tip empty-data-tip-member-card'>数据加载中 ...</span>}\n {nomoreData && <span className='empty-data-tip empty-data-tip-member-card'>没有更多数据了~</span>}\n </div>\n <div className=\"swiper-scrollbar\" />\n </div>\n </div>\n <div className='member-content-tab content' style={{ display: nomemberList ? 'none' : 'flex' }}>\n {\n (voucherStateType && !isAllAuthority) &&\n <div>\n <div className='menu'>\n <MemberMenu authProcess={authProcess} changeIsAllAuthority={this.changeIsAllAuthority} 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>\n </div>\n <div className='line'></div>\n </div>\n }\n <MemberTab\n defaultActiveKey={defaultActiveKey}\n member={member}\n memberInfo={memberInfo}\n showModal={showModal}\n titleModal={titleModal}\n recommend={recommend}\n memberTabHeight={memberTabHeight}\n initEmpty={initEmpty}\n memberList={memberList}\n columnInfo={columnInfo}\n precisionInfo={precisionInfo}\n onChange={this.memberTabChange}\n getMemberStateStamp={this.getMemberStateStamp}\n />\n </div>\n </div>\n <div className='member-footer'>\n <Button onClick={onCancel}>取消</Button>\n {\n showSelectBtn &&\n <Button\n onClick={() => this.handleOk(nomemberList)}\n type=\"primary\"\n style={{ marginRight: 5 }}\n disabled={loadingUser}\n >\n {\n loadingUser ? '加载会员' : nomemberList ? '确定' : '选取会员'\n }\n </Button>\n }\n </div>\n </div>\n )\n }\n}\n"]}
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","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","context","viewModel","data","Member","seletMember","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","undefined","handleSearchChange","val","getCardRender","IsEnableUMember","Name","CardCode","MemberType","IsFocusUmember","ImageFile","ExpirationDate","isExpiration","isUserLogout","UmemberOpenId","iconItems","getMemberStateStamp","labels","split","defaultAvatar","isCC","isSelected","resetSlideTop","slideTo","isUserLoss","isUserNotUsing","handleOk","nomemberList","MemberState","Id","onCancel","Message","warn","IdbusiType","items","viewVoucher","isTakeTheir","getIsTakeTheir","memberStore","el","name","uiState","tip","info","_this","ModalWraper","confirm","title","content","onOk","handleChangeMember","selectMemberSuccess","getMemberBirthday","result","changeMemberCare","keyboardOnOk","searchRef","onKeyPressed","e","keyCode","enterKey","currentUserRetail","MemberMenuChange","dto","onClear","input","focus","changeIsAllAuthority","isAllAuthority","mode","platform","isNewRetailBCPos","memberLength","defaultActiveKey","IntersectionObserver","entries","boundingClientRect","height","bottom","top","intersectionRatio","slideNext","slidePrev","addEventListener","Code","$","on","updateSlides","Swiper","direction","slidesPerView","mousewheel","watchSlidesProgress","scrollbar","destroy","disconnect","off","isUserAndroidKey","android_setKeyBoard","user","localStorage","getItem","loginInfo","showModal","authProcess","showSearch","showSelectBtn","voucherStateType","enumController","getEnumOj","memberEnumState","hotKey","hotKeyNotFilter","ref","focusInputName","inputTarget","Keyboard","open","getNewValue","close","hotKeyBindClass","display","marginTop","marginRight","Component","defaultProps","contextTypes","PropTypes","object","array"],"mappings":"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","file":"ShopMember.js","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'antd';\nimport { ModalWraper, Input, Loading, Message, Ticon, Keyboard, Spin, hotKey } from 'tplus-components-touch';\nimport { stores } from 'mutants-microfx';\nimport { enumController, platform } from 'mutants-util';\nimport memberStore from './api';\nimport MemberTab from './memberTab';\nimport Swiper from 'swiper/dist/js/swiper.js';\nimport 'swiper/dist/css/swiper.min.css';\nimport './ShopMember.less';\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\nimport MemberMenu from './memberMenu/index.js'\n\nlet memberSwiper;\nlet swiperSelectObserver;\n\nexport default class ShopMember extends Component {\n static defaultProps = {\n onCancel: () => {},\n onOk: () => {},\n };\n\n static contextTypes = {\n viewModel: PropTypes.object,\n columnInfo: PropTypes.array,\n };\n constructor(props) {\n super(props);\n const { mode } = this.props;\n let { isNewRetailBCPos } = platform || {};\n this.state = {\n searchValue: '',\n memberList: [],\n memberLength: 0,\n memberInfo: {\n record: [],\n like: [],\n recency: [],\n },\n searchStatus: !!this.props.listArr ? true : false,\n isCC: !!isNewRetailBCPos,\n tabIndex: this.props.defaultActiveKey,\n isAllAuthority: false,\n tabMenuHeight: mode !== 'practice' ? 64 : 0 // 64为table上部操作菜单高度\n };\n this.ms = memberStore;\n }\n\n currentPage = 1;\n cacheUserRetail = {};\n\n componentDidMount() {\n swiperSelectObserver = new IntersectionObserver(entries => {\n const { boundingClientRect: { height, bottom, top } = {}, intersectionRatio } = entries[0];\n if (intersectionRatio !== 1 && this.isHotKeyAction) {\n this.isHotKeyAction = false;\n\n bottom > height && memberSwiper.slideNext();\n // 解决向上滑动时top < 10 时距离问题\n if (top < -10) {\n top < height && memberSwiper.slidePrev() && memberSwiper.slidePrev()\n } else {\n top < height && memberSwiper.slidePrev()\n }\n }\n });\n\n window.addEventListener('resize', this.windowOnresize);\n const { viewMemberInfo, status, columnInfo } = this.props;\n if (viewMemberInfo) {\n if (status) {\n return this.loadUserListSuccess(viewMemberInfo);\n } else if (status === 0) { // status 0 为 查看会员详情\n columnInfo && this.precisionInfo(columnInfo); // 查看录入的会员查看详情时父级传递了 columnInfo props\n return this.usersLoadSuccess([viewMemberInfo], 'search');\n }\n const { Code } = viewMemberInfo;\n return this.loadUserList('init', undefined, undefined, true, Code);\n };\n this.loadUserList('init');\n $.on(this.hotKeyListener);\n\n this.ms.searchValue = '';//初始化完成筛选列表清空数据(会员新增成功——封涛)\n }\n\n componentDidUpdate() {\n const {memberList = [], memberLength, memberTabHeight, tabMenuHeight} = this.state;\n if (memberList.length !== memberLength) {\n this.setState({memberLength: memberList.length}, () => {\n if (memberSwiper) {\n return memberSwiper.updateSlides();\n }\n memberSwiper = new Swiper('.swiper-member-container', {\n direction: 'vertical',\n slidesPerView: 'auto',\n mousewheel: true,\n watchSlidesProgress : true,\n on: {\n progress: this.progressListen\n },\n scrollbar: {\n el: '.swiper-scrollbar',\n hide: true,\n },\n });\n });\n }\n const clientHeight = this.memberTab.clientHeight - tabMenuHeight;\n if (clientHeight !== memberTabHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n componentWillUnmount() {\n\n memberSwiper && memberSwiper.destroy(false);\n memberSwiper = undefined;\n this.willUnmount = true;\n\n window.removeEventListener('resize', this.windowOnresize);\n swiperSelectObserver.disconnect();\n $.off(this.hotKeyListener);\n }\n\n hotKeyListener = (nodeName, index) => {\n this.progressListen()\n if (nodeName && ~nodeName.className.indexOf('slide-selected')) {\n this.isHotKeyAction = true;\n const activeElement = document.activeElement;\n activeElement && activeElement.blur();\n }\n }\n\n observerCard = () => {\n setTimeout(() => {\n const slideSelected = document.querySelector('.slide-selected');\n this.prevSlideSelected && swiperSelectObserver.unobserve(this.prevSlideSelected);\n this.prevSlideSelected = slideSelected;\n slideSelected && swiperSelectObserver.observe(slideSelected);\n })\n }\n\n progressListen = (progress) => {\n const {selected} = this.state;\n\n const {memberList = []} = this.state;\n const {viewMemberInfo} = this.props;\n if (viewMemberInfo) return;\n const {loadmoreLoading, nomoreData, searchValue = ''} = this.state;\n // let newselect = (selected + 5) % 10\n if ((selected + 1) % 10 === 0 && !loadmoreLoading && !nomoreData) {\n this.currentPage += 1;\n this.loadUserList('loadmore', this.currentPage);\n }\n if (progress >= 1 && !loadmoreLoading && !nomoreData) {\n this.currentPage += 1;\n this.loadUserList('loadmore', this.currentPage);\n }\n\n }\n\n windowOnresize = () => {\n if (!this.memberTab) {\n return window.removeEventListener('resize', this.windowOnresize);\n };\n const {memberTabHeight} = this.state;\n const clientHeight = this.memberTab.clientHeight - this.state.tabMenuHeight;\n if (memberTabHeight !== clientHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n isNotSetState = (Idmember) => {\n if (this.willUnmount || Idmember !== this.currentMemberId) return true;\n }\n\n loadUserInfo = (key, Idmember, item, type, syncUpdateMember) => {\n this.observerCard();\n\n const { selectChange, viewMemberInfo, memberChange } = this.props;\n const { selected, tabIndex = '1' } = this.state;\n if (key === selected && type !== true && type!=='opencard') return;\n Loading.hide();\n if (this.currentMemberId && !(this.cacheUserRetail[this.currentMemberId] || {}).recommend) {\n delete this.cacheUserRetail[this.currentMemberId];\n }\n this.currentMemberId = Idmember;\n\n if (this.userSearch || viewMemberInfo) {\n this.userSearch = false;\n this.setState({selected: key});\n }\n\n const {memberList = []} = this.state;\n\n this.memberTabChange(tabIndex);\n\n this.setState({ selected: key, member: memberList[key] || {}, loadingUser: true, loadingBtn: true });\n this.ms.getGetUmemberDTO(Idmember)\n .then(ret => {\n if (this.isNotSetState(Idmember)) return;\n const {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone,\n DynamicPropertyKeys = [], DynamicPropertyValues = []} = ret || {};\n const mergeKeys = {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone, DynamicPropertyKeys, DynamicPropertyValues};\n //const memberInfo = {...(memberList[key] || {}), ...mergeKeys};\n if (viewMemberInfo) {\n // 用接口中的 BalanceStorage MemberCouponTitle覆盖列表中的数据, 监听对象 使用action 设置值\n this.ms.setMemberKey(mergeKeys);\n } else {\n //设置会员列表中该会员的BalanceStorage值\n const currentMemberOfList = memberList.find(value => value.ID === Idmember) || {};\n Object.keys(mergeKeys).forEach(v => currentMemberOfList[v] = mergeKeys[v]);\n }\n userInfoFormat(ret)\n let arr = [];\n memberList.map(item => {\n if (item.ID === ret.ID) {\n arr.push(ret)\n } else {\n arr.push(item)\n }\n })\n this.setState({\n member: ret,\n initEmpty: true,\n memberList: arr,\n errorMsg: '',\n loadingUser: false,\n loadingBtn: false\n })\n stores.selectMemberStore.setCurMemberInfo(ret);\n selectChange && selectChange(item);\n // 更新当前选定的会员信息\n if (syncUpdateMember) {\n const { data: { Member: { ID } = {} } = {} } = this.context.viewModel || {};\n if (ID == ret.ID) {\n stores.selectMemberStore.seletMember(ret);\n memberChange && memberChange(ret)\n }\n }\n }).catch(err => {\n selectChange && selectChange({});\n if (this.isNotSetState(Idmember)) return;\n this.setState({\n member: memberList[key] || {},\n initEmpty: true,\n errorMsg: '会员信息获取失败,请重试',\n memberList,\n loadingBtn:false\n });\n });\n }\n\n loadUserRetail = (Idmember) => {\n const {tabIndex = '1'} = this.state;\n const {titleModal} = this.props;\n\n if (tabIndex !== '1' && ['会员详情', '到店会员', '人脸识别'].includes(titleModal)) {\n Loading.show({\n target: '.member-content-tab',\n node: <Spin scale={1.2} type='shape' visible/>,\n delay: false\n });\n }\n const {currentMemberId} = this.state;\n this.cacheUserRetail[Idmember] = {};\n this.ms.getMemberRetailDetail(Idmember)\n .then(ret => {\n Loading.hide();\n if (this.isNotSetState(Idmember)) return;\n const {Like, Record, Recency, RecommendList = []} = ret || {};\n const recommend = RecommendList;\n const memberInfo = {record: Record, like: Like, recency: Recency};\n\n this.setState({recommend, memberInfo});\n this.cacheUserRetail[Idmember] = {recommend, memberInfo};\n\n })\n .catch(err => {\n delete this.cacheUserRetail[Idmember];\n if (this.isNotSetState(Idmember)) return;\n this.setState({\n recommend: [],\n memberInfo: {},\n });\n Loading.hide();\n });\n }\n\n loadUserList = (type, currentPage = 1, pageSize = 10, isSingleMember = false, searchId) => {\n const { searchValue, searchStatus } = this.state;\n const { status, listArr } = this.props;\n if (!this.ms) return;\n if (type === 'init') {\n let inputValue = this.ms && this.ms.searchValue;\n if (inputValue) {\n this.setState({ searchValue: inputValue })\n setTimeout(() => { this.keyboardOnClose() }, 310)\n }\n }\n if (type === 'loadmore') {\n this.setState({ loadmoreLoading: true });\n } else {\n Loading.show({ target: '.memberShopContainer' });\n }\n if (type === 'opencard') {\n currentPage = this.currentPage;\n }\n if (searchStatus) {\n let arr = listArr.slice(0);\n this.setState({\n searchStatus: false,\n memberList: arr\n }, () => {\n const { memberList } = this.state;\n this.loadUserListSuccess(memberList, 's', memberList.length);\n Loading.hide();\n })\n return;\n }\n this.ms.getSearchMember({\n currentPage,\n pageSize,\n key: this.ms.searchValue || searchValue || searchId,\n isSingleMember: this.ms.searchValue ? true : isSingleMember\n })\n .then(ret => {\n this.loadUserListSuccess(ret, type, pageSize);\n Loading.hide();\n })\n .catch(err => Loading.hide());\n }\n\n loadUserListSuccess = (ret, type, pageSize) => {\n this.dataLoaded = true;\n const { ColumnInfo, Data } = ret || {};\n this.setState({ columnInfo: ColumnInfo});\n this.precisionInfo(ColumnInfo);\n this.usersLoadSuccess(type === 's' ? ret : JSON.parse(Data), type, pageSize);\n }\n\n precisionInfo = (columnInfo) => {\n const precisionInfo = {};\n if (columnInfo && columnInfo.length > 0) {\n columnInfo = columnInfo.filter(v => !!v.Precision) || [];\n columnInfo.length > 0 &&\n columnInfo.forEach(item => {\n const { Precision, FieldName } = item;\n if (Precision) precisionInfo[FieldName] = Precision;\n })\n }\n this.ms.setPrecisionInfo(precisionInfo);\n }\n\n handleSearchClick = () => {\n const { searchValue } = this.state;\n this.userSearch = true;\n this.currentPage = 1;\n this.setState({ nomoreData: false, selected: undefined });\n this.loadUserList('search', this.currentPage);\n }\n\n handleSearchChange = (val) => {\n this.setState({searchValue: val});\n }\n\n getCardRender = (item = {}, key, IsEnableUMember, precisionInfo = {}) => {\n const {\n ID, Name, Mobilephone, CardCode, BalanceIntegral, BalanceStorage, MemberType = {},\n IsFocusUmember, UmemberLabel = '', ImageFile, ExpirationDate = '', isExpiration, isUserLogout, UmemberOpenId\n } = item;\n const iconItems = this.getMemberStateStamp(item);\n const labels = UmemberLabel ? UmemberLabel.split(',') : [];\n const defaultAvatar = 'https://newretail.static.chanjet.com/default_avatar.png';\n const {selected, isCC} = this.state;\n const isSelected = selected === key;\n return (\n <div key={key} className={`swiper-slide member-item-slide ${isSelected ? 'slide-selected' : ''}`} onClick={() => this.loadUserInfo(key, ID, item)}>\n {\n iconItems && iconItems.length > 0 &&\n <div className='memberstate-stamp'>\n {iconItems}\n </div>\n }\n <div className='card-avatar'>\n <div className='avatar-box'>\n <img src={ImageFile || defaultAvatar} width={60} height={60}/>\n {IsEnableUMember && <div className={`avatar-bage ${UmemberOpenId ? 'bage-follow' : ''}`}>\n <div className='avatar-bage-scale'>{UmemberOpenId ? '已关注' : '未关注'}</div>\n </div>}\n </div>\n </div>\n <div className='member-level'>\n <span>{MemberType.Name}</span>\n </div>\n <div className='member-info-container'>\n <div className='member-infos'>\n <h1 className='member-info-name'>{Name}</h1>\n <p className='member-phone'>{Mobilephone || CardCode}</p>\n </div>\n <div className='member-money'>\n <div className='score'>\n <span>{formatPrecision(BalanceIntegral, precisionInfo.BalanceIntegral)}积分</span>\n </div>\n <div className='balance'>\n <span>{BalanceStorage ? formatPrecision(BalanceStorage, precisionInfo.BalanceStorage) : 0}余额</span>\n </div>\n </div>\n {IsEnableUMember && <div className='member-tag'>\n {labels.map((item, key) => <span key={key}>{item}</span>)}\n </div>}\n </div>\n {isSelected && <div className='member-selected-icon'>\n <div className='member-selected-icon-arrow'>\n <Ticon type='huiyuanxuanzhong' />\n </div>\n </div>}\n </div>\n );\n };\n\n usersLoadSuccess = (data = [], type, pageSize = 10) => {\n const {status} = this.props;\n const { selected } = this.state;\n if (this.willUnmount) return;\n if (data.length) {\n data.forEach(v => userInfoFormat(v));\n\n if (type === 'loadmore') {\n const {memberList = []} = this.state;\n memberList.push(...data);\n return this.setState({nomoreData: data.length < pageSize, loadmoreLoading: false, memberList});\n }\n this.setState({memberList: data}, () => {\n if (type === 'search') {\n this.resetSlideTop();\n }\n const [item = {}] = data;\n // const key=type==='opencard'?(selected-(this.currentPage-1)*pageSize):0;\n // const item =data[key];\n this.loadUserInfo(0, item.ID, item, type);\n });\n } else if (type === 'loadmore') {\n this.setState({nomoreData: true, loadmoreLoading: false});\n } else {\n Loading.hide();\n this.setState({\n memberList: [],\n recommend: [],\n member: {},\n memberInfo: {record: [], like: [], recency: []}\n }, () => {\n if (type === 'search') {\n this.resetSlideTop();\n }\n });\n }\n }\n\n resetSlideTop = () => {\n if (memberSwiper) {\n memberSwiper.slideTo(0, 0, false);\n }\n }\n\n //获取会员状态集合,在页面上以图片戳的形式展示。\n getMemberStateStamp = (item) => {\n let arr = [];\n const { isExpiration, isUserLogout, isUserLoss, isUserNotUsing } = item;\n //已挂失\n if (isUserLoss) arr.push(<Ticon type='yiguashi' />)\n //已过期\n if (isExpiration) arr.push(<Ticon type='yiguoqi' />)\n //已注销\n if (isUserLogout) arr.push(<Ticon type='yizhuxiao' />)\n //未启用\n if (isUserNotUsing) arr.push(<Ticon type='weiqiyong' />)\n return arr;\n }\n\n handleOk = (nomemberList) => {\n const { member, errorMsg } = this.state;\n const { isExpiration, MemberState: { Id, Name } = {} } = member || {};\n if (nomemberList) {\n return this.props.onCancel();\n }\n if (errorMsg) return Message.warn(errorMsg);\n if (errMessageTip(member)) return;\n const { data: { Member: {ID} = {}, IdbusiType } = {}, items = [] } = this.context.viewModel || {};\n if (IdbusiType == 39) {\n Message.warn('取货时不可以切换选择会员');\n return;\n }\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\n if (isTakeTheir) {\n Message.warn('自提时不可以切换选择会员');\n return;\n }\n\n //会员不可更改判断\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\n const uiState = memberStore.uiState;\n if (!!uiState.tip) {\n Message.info(uiState.tip)\n return;\n }\n if (ID) {\n const _this = this;\n return ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: '切换会员',\n content: '您确定要替换当前会员吗?',\n onOk() {\n _this.handleChangeMember(member)\n }\n })\n }\n this.handleChangeMember(member)\n }\n\n handleChangeMember = (member) => {\n const { onOk, memberChange, selectMemberSuccess, getMemberBirthday } = this.props;\n stores.selectMemberStore.seletMember(member, true);\n memberChange && memberChange(member)\n onOk && onOk();\n getMemberBirthday && getMemberBirthday(member.ID, (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n })\n //商品输入框焦点。\n setTimeout(() => { selectMemberSuccess && selectMemberSuccess(member) }, 300)\n }\n\n keyboardOnOk = () => {\n this.handleSearchClick();\n }\n\n keyboardOnClose = () => {\n this.searchRef && this.searchRef.blur();\n }\n\n onKeyPressed = (e) => {\n const { keyCode } = e;\n const enterKey = 13;\n if (keyCode === enterKey) {\n this.handleSearchClick();\n this.keyboardOnClose();\n }\n }\n\n memberTabChange = (tabIndex) => {\n this.setState({tabIndex});\n const currentUserRetail = this.cacheUserRetail[this.currentMemberId];\n if (!currentUserRetail) {\n return this.loadUserRetail(this.currentMemberId);\n }\n this.setState({...currentUserRetail});\n const activeElement = document.activeElement;\n activeElement && activeElement.blur()\n }\n\n MemberMenuChange = (dto) => {\n const { memberList } = this.state;\n userInfoFormat(dto)\n let arr = [];\n memberList.map(item => {\n if (item.ID == dto.ID) {\n arr.push(dto)\n } else {\n arr.push(item)\n }\n })\n this.setState({ member: dto, memberList: arr })\n }\n\n onClear = (key, input) => {\n this.setState({[key]: ''});\n input.focus();\n }\n\n changeIsAllAuthority = () => {\n this.setState({\n isAllAuthority: false\n })\n }\n\n render() {\n const isUserAndroidKey = !! window.android_setKeyBoard;\n\n const user = JSON.parse(localStorage.getItem('user')) || {};\n const { loginInfo: { IsEnableUMember } = {} } = user;\n const { searchValue, memberList = [], memberInfo = {}, member = {}, recommend = [], memberTabHeight = 0,\n loadmoreLoading, nomoreData, initEmpty, columnInfo = [], loadingUser, loadingBtn, selected, isAllAuthority } = this.state;\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, viewMemberInfo, authProcess, mode } = this.props;\n const { precisionInfo = {} } = this.ms;\n const showSearch = ['会员查询'].includes(type);\n const nomemberList = !memberList.length;\n const showSelectBtn = type === '会员查询' || !!status;\n //是否正常开单\n let voucherStateType = (mode !== 'practice');\n const { memberEnumState } = enumController.getEnumOj();\n return (\n <div className='memberShopContainer'>\n {\n showSearch &&\n <div className='search-container'>\n <Input\n tplusInput\n placeholder='手机号/卡号/名称/身份证号'\n prefix='sousuo'\n className={`${hotKey.hotKeyNotFilter('search-input')} android_focus_keyboard`}\n value={searchValue}\n type='native'\n onChange={({ target: { value: searchValue } }) => this.setState({ searchValue })}\n inputRef={ref => this.searchRef = ref}\n onClear={() => this.onClear('searchValue', this.searchRef)}\n onFocus={({ target }) => {\n if(!isUserAndroidKey ){\n this.focusInputName = 'searchValue';\n this.inputTarget = target;\n Keyboard.open(v => {\n const key = this.focusInputName;\n const value = Keyboard.getNewValue(this.inputTarget, this.inputTarget.value, v);\n this.setState({ [key]: value });\n }, this.keyboardOnOk, this.keyboardOnClose)();\n }\n }}\n onBlur={Keyboard.close}\n onKeyDown={this.onKeyPressed}\n />\n <Button className='primary-btn' onClick={this.handleSearchClick}>搜索</Button>\n </div>\n }\n <div ref={ref => this.memberTab = ref} className={hotKey.hotKeyBindClass('4', 'member-shop-content')}>\n {\n this.dataLoaded && nomemberList && <div className='empty-data-img' />\n }\n <div className='member-card-list-side' style={{ display: nomemberList ? 'none' : 'block' }}>\n <div className=\"swiper-member-container\" style={{ height: '100%' }}>\n <div className=\"swiper-wrapper\">\n {memberList.map((value, key) => this.getCardRender(value, key, IsEnableUMember, precisionInfo))}\n {!memberList.length && <span className='empty-data-tip' style={{ marginTop: 30 }}>没有相关数据~</span>}\n {loadmoreLoading && <span className='empty-data-tip empty-data-tip-member-card'>数据加载中 ...</span>}\n {nomoreData && <span className='empty-data-tip empty-data-tip-member-card'>没有更多数据了~</span>}\n </div>\n <div className=\"swiper-scrollbar\" />\n </div>\n </div>\n <div className='member-content-tab content' style={{ display: nomemberList ? 'none' : 'flex' }}>\n {\n (voucherStateType && !isAllAuthority) &&\n <div>\n <div className='menu'>\n <MemberMenu authProcess={authProcess} changeIsAllAuthority={this.changeIsAllAuthority} 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>\n </div>\n <div className='line'></div>\n </div>\n }\n <MemberTab\n defaultActiveKey={defaultActiveKey}\n member={member}\n memberInfo={memberInfo}\n showModal={showModal}\n titleModal={titleModal}\n recommend={recommend}\n memberTabHeight={memberTabHeight}\n initEmpty={initEmpty}\n memberList={memberList}\n columnInfo={columnInfo}\n precisionInfo={precisionInfo}\n onChange={this.memberTabChange}\n getMemberStateStamp={this.getMemberStateStamp}\n />\n </div>\n </div>\n <div className='member-footer'>\n <Button onClick={onCancel}>取消</Button>\n {\n showSelectBtn &&\n <Button\n onClick={() => this.handleOk(nomemberList)}\n type=\"primary\"\n style={{ marginRight: 5 }}\n disabled={loadingUser}\n >\n {\n loadingUser ? '加载会员' : nomemberList ? '确定' : '选取会员'\n }\n </Button>\n }\n </div>\n </div>\n )\n }\n}\n"]}
@@ -333,6 +333,7 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
333
333
  _ref5$data = _ref5$data === undefined ? {} : _ref5$data;
334
334
  var _ref5$data$Member = _ref5$data.Member,
335
335
  dtMember = _ref5$data$Member === undefined ? {} : _ref5$data$Member,
336
+ IdbusiType = _ref5$data.IdbusiType,
336
337
  _ref5$items = _ref5.items,
337
338
  items = _ref5$items === undefined ? [] : _ref5$items;
338
339
 
@@ -376,7 +377,8 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
376
377
  },
377
378
  onFocus: this.handleFocus,
378
379
  onBlur: this.handleBlur,
379
- onKeyDown: this.onKeyPressed
380
+ onKeyDown: this.onKeyPressed,
381
+ disabled: IdbusiType == 39
380
382
  }),
381
383
  _react2.default.createElement(_tplusComponentsTouch.Spin, {
382
384
  className: 'search-spin',
@@ -502,7 +504,7 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
502
504
  _react2.default.createElement(
503
505
  'div',
504
506
  { className: 'close' },
505
- !isTakeTheir && _react2.default.createElement(_tplusComponentsTouch.Ticon, { type: 'guanbi-yuan', onClick: this.openCloseModal })
507
+ !isTakeTheir && IdbusiType != 39 && _react2.default.createElement(_tplusComponentsTouch.Ticon, { type: 'guanbi-yuan', onClick: this.openCloseModal })
506
508
  )
507
509
  )
508
510
  ),
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/index.js"],"names":["hasElectron","env","platform","constant","electron","emptyMemberImage","memberBirthday","currentMember","MemberTag","observer","props","stores","user","options","get","isMemberInputType","MemberMeStorageCardInputByKeyBoard","OpenFaceRecognition","ICCardServer","ICCardPassword","parseInt","isStorageCardInputType","openFaceRecognition","iCCardServer","iCCardPassword","ms","memberStore","isHorizontalPad","isHorizontalSunMi","isMobileEnvironment","handleReadICard","bind","keypressStime","iseyboardKEnter","isNewRetailBCPos","state","isCC","isShowBirthdayTip","context","viewModel","data","Member","dtMember","selectMemberInfo","isClear","memberChangeData","length","undefined","memberChange","setState","newAvatar","deepCloneMember","JSON","parse","ID","clearSeletMember","seletMember","selectMemberStore","clearMemberCare","connectRfCard","window","removeEventListener","windowOnresize","closeRfCard","nextProps","isSendMessage","getInStoreMemberCount","nativeMs","setIpcRendererMethod","result","ret","status","connectCardStatus","connectCardError","value","Message","error","params","cardPsw","cardSec","cardKm","searchMember","memberPhoto","titleModal","memberShow","inShopLoading","faceLoading","shopPerson","searchValue","viewMemberInfo","searchVisible","columnInfo","isMemberCare","isMemberCareModal","mode","authProcess","selectMemberSuccess","precisionInfo","items","viewVoucher","find","v","type","isTakeTheir","getIsTakeTheir","isSelectedMember","enumController","getEnumOj","Differentiate","memberCareInfo","inputSearch","el","input","e","handleSearch","target","handleFocus","handleBlur","onKeyPressed","changeScanProduct","loadFaceRecognition","scanObj","scan","onScanResult","openPhotoModal","ImageFile","handlePhotoModal","isTicket","daysToBirthday","handleMemberCareModal","setIsShowBirthdayTip","openShowModal","Name","CardCode","BalanceStorage","computedCoupon","COUPON","BalanceIntegral","openCloseModal","handleShowModal","handleMemberCareModalCancel","MemberType","memberCareDTO","memberRightRuleList","integralMultiple","integralGive","couponIdMapList","map","index","count","name","birthdayShow","handleCloseBirthdayModal","Component","propTypes","PropTypes","func","memberSearched","contextTypes","onEvent","object","defaultProps","controllerEvent","methodName","methodArgs","Action","fromJS","resetInShopMemberTimer","timer","clearTimeout","time","setTimeout","warn","res","title","jsMember","updateMember","setMemberFocus","uiState","IsIntegralExchange","store","tip","info","ModalWraper","confirm","className","content","onOk","changeBirthdayShow","val","_this","cb","Keyboard","open2","getNewValue","keyboardClose","localStore","blur","close2","readRfCard","offlineSys","shouldInOffline","searchLoading","trim","getMemberBirthday","getMeStorageCard","getSearchMember","currentPage","pageSize","key","isSingleMember","then","ColumnInfo","Data","IsStorage","drawerStore","init","onHide","listArr","changeMemberCare","catch","keyCode","stime","etime","Date","member","MemberCouponCount","couponKey","DynamicPropertyKeys","DynamicPropertyValues","couponIndex","findIndex","loadInStoreMember","String","tipMessage","console","log","err","startScan","getMemberBirthdayInfo"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @memberChange member 状态发生变化时的回调\n * @memberSearched 录入框会员状态发生变化时的回调 memberSearched(value, type) // type: searched 触发搜索 | err 搜索接口错误 | close 关闭会员\n *\n */\nimport React, { Component, Fragment } from 'react';\nimport { Button, Input } from 'antd';\nimport { observer } from 'mobx-react';\nimport { toJS } from 'mobx';\nimport PropTypes from 'prop-types'\nimport { Ticon, Message, ModalWraper, Spin, Keyboard,Scan } from 'tplus-components-touch';\nimport { env, nativeMs, localStore , stores} from 'mutants-microfx';\nimport { Action } from 'mutants-appfx'\nimport { platform, enumController } from 'mutants-util';\nimport MemberModal from './MemberShow';\nimport MemberPhoto from './MemberPhoto';\nimport memberStore from './api';\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\nimport './index.less';\n\n\n\nconst hasElectron = (env.platform === env.constant.platform.electron);\n//定义默认头像值。\nconst emptyMemberImage = 'https://newretail.static.chanjet.com/default_avatar.png';\nconst memberBirthday = 'https://newretail.static.chanjet.com/pictures/member_birthday.png';\nlet currentMember;\n\n@observer\nclass MemberTag extends Component {\n\n state = {\n searchValue: '',\n titleModal: '',\n memberShow: false,\n memberPhoto: false,\n searchVisible: false,\n shopPerson: 0,\n status: 2, // 0会员详情、1到店会员、2人脸识别\n dtMember: {}, // 会员信息\n connectCardStatus: false, //连接IC卡状态\n connectCardError: '', //连接IC卡错误后记录错误信息\n isMemberCare: false,\n isMemberCareModal: false\n };\n\n static propTypes = {\n memberChange: PropTypes.func,\n memberSearched: PropTypes.func,\n }\n\n static contextTypes = {\n onEvent:PropTypes.func,\n viewModel: PropTypes.object,\n }\n\n static defaultProps = {\n memberChange: () => { },\n }\n\n constructor(props) {\n super(props);\n this.hasElectron = hasElectron;\n const { isMemberInputType, MemberMeStorageCardInputByKeyBoard, OpenFaceRecognition, ICCardServer, ICCardPassword } = stores.user.options.get('loginInfo') || {};\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\n this.isStorageCardInputType = MemberMeStorageCardInputByKeyBoard; // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\n this.iCCardPassword = ICCardPassword; //IC卡密码\n this.ms = memberStore;\n //移动端环境下,没有读取IC卡的方式。\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\n this.isHorizontalPad = !!isHorizontalPad;\n this.isHorizontalSunMi = !!isHorizontalSunMi;\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\n this.handleReadICard = this.handleReadICard.bind(this);\n\n //记录键盘录入信息的开始时间\n this.keypressStime = null;\n this.iseyboardKEnter = false; //是否为键盘输入\n let { isNewRetailBCPos } = platform || {};\n this.state = {\n isCC: !!isNewRetailBCPos,\n isShowBirthdayTip: false,\n };\n }\n\n componentWillReact() {\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\n const { selectMemberInfo = {}, isClear = false } = this.ms;\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\n\n const memberChange = (data) => {\n this.setState({newAvatar: ''});\n this.props.memberChange(data);\n }\n if (typeof memberChangeData === 'object') {\n const deepCloneMember = JSON.parse(JSON.stringify(memberChangeData));\n if (!currentMember) {\n currentMember = deepCloneMember;\n memberChange(memberChangeData);\n } else if (currentMember.ID !== memberChangeData.ID) {\n memberChange(memberChangeData);\n currentMember = deepCloneMember;\n } else if (!dtMember.ID && (currentMember || {}).ID) { // DataModel 中清掉member,手动同步 member\n currentMember = undefined;\n this.ms.clearSeletMember();\n }\n } else if (currentMember && !memberChangeData) {\n memberChange(memberChangeData);\n currentMember = undefined;\n } else if (dtMember.ID && !(currentMember || {}).ID) { // DataModel 中存在member,手动同步 member\n const deepCloneMember = JSON.parse(JSON.stringify(dtMember));\n currentMember = deepCloneMember;\n this.ms.seletMember(dtMember);\n }\n }\n\n componentDidMount() {\n stores.selectMemberStore && stores.selectMemberStore.clearMemberCare()\n this.connectRfCard();\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.windowOnresize);\n this.closeRfCard();\n }\n\n componentWillReceiveProps(nextProps) {\n //接受socket传递过来的信息\n let { isSendMessage } = nextProps;\n if (isSendMessage === true) this.getInStoreMemberCount()\n }\n\n controllerEvent = (methodName, methodArgs) => {\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\n }\n\n resetInShopMemberTimer = (count) => {\n this.timer && clearTimeout(this.timer);\n if (!count) return;\n const time = 5 * 60 * 1000;\n this.timer = setTimeout(() => {\n this.getInStoreMemberCount();\n }, time);\n }\n //IC卡连接\n connectRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\n let result = {}\n if (ret.status === 0) {\n result = { connectCardStatus: false, connectCardError: ret.value }\n } else {\n result = { connectCardStatus: true, connectCardError: '' };\n }\n this.setState(result)\n })\n }\n }\n\n //IC卡读取\n readRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n const { connectCardStatus, connectCardError } = this.state;\n if (connectCardStatus === false) {\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n }\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\n if (ret.status === 0) {\n Message.error(ret.value);\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n } else if (ret.status === 1) {\n this.searchMember(ret.value);\n }\n })\n }\n }\n\n //IC卡关闭\n closeRfCard(){\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('CloseRfCard')\n }\n }\n\n openPhotoModal = () => {\n let { isNewRetailBCPos } = platform || {};\n if (!isNewRetailBCPos) {\n if (!this.openFaceRecognition) {\n Message.warn('未启用人脸识别,需要先开启人脸识别功能');\n return;\n }\n this.setState({\n memberPhoto: true,\n titleModal: '选择头像'\n })\n }\n }\n\n openShowModal = (status, res) => {\n let title = '';\n const { data: { Member = {} } = {} } = this.context.viewModel || {};\n const {newAvatar} = this.state;\n const jsMember = toJS(Member);\n const updateMember = newAvatar ? {...jsMember, ImageFile: newAvatar} : jsMember;\n switch (status) {\n case 0:\n title = '会员详情';\n this.setState({ viewMemberInfo: updateMember })\n break;\n case 1:\n title = '到店会员';\n this.setState({ viewMemberInfo: res })\n break;\n case 2:\n title = '人脸识别';\n this.setState({ viewMemberInfo: res })\n break;\n }\n this.setState({\n status: status,\n memberShow: true,\n titleModal: title\n })\n }\n\n openCloseModal = () => {\n const { setMemberFocus } = this.props;\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\n const uiState = memberStore.uiState;\n const IsIntegralExchange = memberStore.store && memberStore.store.data && memberStore.store.data.IsIntegralExchange\n if (!!uiState.tip) {\n Message.info(uiState.tip)\n return;\n }\n ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: '关闭会员',\n content: `${IsIntegralExchange ? \"关闭会员将会清空商品信息!\" : \"确定要关闭该会员吗?\"}`,\n onOk: () => {\n this.ms.clearSeletMember();\n stores.selectMemberStore.clearMemberCare();\n typeof setMemberFocus == 'function' && setMemberFocus();\n }\n })\n }\n\n //关闭生日提醒\n handleCloseBirthdayModal = () => {\n this.ms.changeBirthdayShow(false);\n }\n\n //会员关怀-送礼\n handleMemberCareModal = () => {\n this.setState({ isMemberCareModal: true })\n }\n handleMemberCareModalCancel = () => {\n this.setState({ isMemberCareModal: false })\n }\n\n handleSearch = (val) => {\n this.setState({ searchValue: val })\n }\n\n handleFocus = (el) => {\n if (this.isMemberInputType) return;\n const _this = this;\n function cb() {\n _this.searchMember(undefined, 'ok');\n }\n Keyboard.open2((v) => {\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\n this.handleSearch(value);\n }, cb, this.keyboardClose , 'ByMember', localStore.get('ByMember'))\n }\n\n keyboardClose = () => {\n this.inputSearch.blur();\n }\n handleBlur = () => {\n Keyboard.close2();\n }\n\n handleReadICard = () => {\n this.readRfCard();\n }\n\n handleShowModal = (type, params) => {\n if (params) {\n this.setState({ dtMember: params, memberShow: type })\n } else {\n this.setState({ memberShow: type })\n }\n }\n\n handlePhotoModal = (type, newAvatar) => {\n if (newAvatar) {\n this.setState({\n newAvatar,\n memberPhoto: type\n })\n } else {\n this.setState({ memberPhoto: type })\n }\n } \n\n searchMember = (val, type) => {\n if(!stores.offlineSys.shouldInOffline()) return;\n if (!this.ms || this.searchLoading) return;\n const {searchValue} = this.state;\n val = val || (searchValue || '').trim();\n if (!val) return;\n const { memberSearched, selectMemberSuccess,setMemberFocus,getMemberBirthday, getMeStorageCard } = this.props;\n this.searchLoading = true;\n this.setState({searchVisible: true});\n this.ms.getSearchMember({\n currentPage: 1,\n pageSize: 10,\n key: val,\n isSingleMember: false\n }).then(ret => {\n this.searchLoading = false;\n const {ColumnInfo: columnInfo, Data} = ret || {};\n const data = JSON.parse(Data) || [];\n const info = data[0];\n this.setState({searchVisible: false, columnInfo});\n if (info && info.MemberType && info.MemberType.IsStorage && this.isStorageCardInputType && this.iseyboardKEnter){\n getMeStorageCard && getMeStorageCard(true);\n this.handleSearch('');\n this.keypressStime = null;\n } else {\n getMeStorageCard && getMeStorageCard(false);\n }\n memberSearched && memberSearched(info, 'searched');\n if (info) {\n if (data.length > 1) {\n stores.drawerStore.init({\n title: '会员管理',\n key: 'member',\n onHide:()=>{\n },\n listArr: data,\n });\n this.setState({\n searchValue: null\n })\n } else {\n memberSearched && memberSearched(info, 'searched');\n userInfoFormat(info);\n if (errMessageTip(info)) return;\n this.ms.seletMember(info, true);\n setTimeout(() => this.setState({ searchValue: '' }), 0);\n this.handleBlur();\n selectMemberSuccess && selectMemberSuccess();\n getMemberBirthday && getMemberBirthday(info.ID, (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n });\n }\n } else {\n if (type === 'ok'){\n Message.warn('会员不存在');\n if (this.isMobileEnvironment) {\n setTimeout(() => this.setState({ searchValue: '' }), 0);\n }\n typeof setMemberFocus == 'function' && setMemberFocus();\n }\n }\n }).catch(err => {\n this.setState({searchVisible: false});\n this.searchLoading = false;\n memberSearched && memberSearched(undefined, 'err');\n })\n }\n\n //获取当前到店会员数量\n getInStoreMemberCount = () => {\n if (!this.ms) return;\n this.ms.getInStoreMemberCount().then(res => {\n const {data: {data: shopPerson} = {}} = res || {};\n this.setState({shopPerson});\n this.resetInShopMemberTimer(shopPerson);\n });\n }\n\n onKeyPressed = (e) => {\n const keyCode = e && e.keyCode\n if (keyCode === 13) {\n if (this.isMemberInputType) {\n let stime = this.keypressStime;\n let etime = Date.parse(new Date());\n if (etime - stime > 300) {\n this.handleSearch('')\n this.keypressStime = null;\n return Message.warn('未启用键盘录入功能');\n }\n this.keypressStime = null;\n }\n this.iseyboardKEnter = Date.parse(new Date()) - this.keypressStime > 300;\n if (this.isStorageCardInputType) {\n this.keypressStime = null;\n }\n if (this.searchLoading) return;\n this.searchMember(undefined, 'ok');\n }\n else if (this.isMemberInputType && !this.keypressStime && !(keyCode == 8)) {\n this.keypressStime = Date.parse(new Date())\n } else if (this.isStorageCardInputType && !this.keypressStime && !(keyCode == 8) && !this.isMemberInputType) {\n this.keypressStime = Date.parse(new Date())\n }\n }\n\n computedCoupon = (member = {}) => {\n let { isNewRetailBCPos } = platform || {};\n if (!!isNewRetailBCPos) {\n return member.MemberCouponCount? member.MemberCouponCount : '0';\n } else {\n const couponKey = 'membercouponcount';\n const {DynamicPropertyKeys = [], DynamicPropertyValues = []} = member;\n const couponIndex = DynamicPropertyKeys.findIndex(v => v === couponKey);\n return ~couponIndex ? DynamicPropertyValues[couponIndex] : '0';\n }\n }\n\n loadFaceRecognition = (type) => {\n // type = 1:到店会员 type = 2:POS机人脸识别\n this.setState({faceLoading: type === 2, inShopLoading: type === 1});\n this.ms.loadInStoreMember(String(type))\n .then(res => {\n this.setState({faceLoading: false, inShopLoading: false});\n const {Data} = res || {};\n if (!JSON.parse(Data).length) {\n const tipMessage = ['当前没有到店会员', '未识别到人脸信息'];\n type === 1 && this.setState({shopPerson: 0});\n return Message.info(tipMessage[type - 1]);\n }\n type === 1 && this.getInStoreMemberCount();\n this.openShowModal(type, res);\n })\n .catch(err => {\n this.setState({faceLoading: false, inShopLoading: false});\n console.log(err)\n });\n }\n\n //移动端:扫描商品\n changeScanProduct = () => {\n if (this.scanObj) this.scanObj.startScan()\n }\n onScanResult = (res) => {\n this.setState({\n searchValue: res\n }, () => {\n this.onKeyPressed({ keyCode: 13 })\n })\n }\n\n setIsShowBirthdayTip = () => {\n stores.selectMemberStore.clearMemberCare()\n }\n\n getMemberBirthdayInfo = (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n }\n\n render() {\n const {\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible = false, columnInfo, isCC,\n isMemberCare, isMemberCareModal, isShowBirthdayTip\n } = this.state;\n const { mode = 'formal', authProcess, selectMemberSuccess } = this.props;\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\n const { data: { Member: dtMember = {} } = {}, items = [] } = this.context.viewModel || {};\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\n const isSelectedMember = !!dtMember.ID;\n const { Differentiate } = enumController.getEnumOj();\n const { memberCareInfo } = stores.selectMemberStore;\n let { isNewRetailBCPos } = platform || {};\n\n\n return (\n <div className='MemberContainer'>\n <div className='left'>\n {!isSelectedMember &&\n <div className='search'>\n <div className='b1'>\n <Input\n type='text'\n className=\"input\"\n id='memberPoint'\n placeholder='扫描/输入会员号'\n value={searchValue}\n ref={el => this.inputSearch = el && el.input}\n onChange={(e) => this.handleSearch(e.target.value)}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.onKeyPressed}\n />\n <Spin\n className='search-spin'\n scale={0.8}\n type='circle-side'\n visible={searchVisible}\n />\n </div>\n <div className='b2'>\n {\n this.hasElectron === true && this.iCCardServer === 1 &&\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\n }\n {\n this.isHorizontalPad ?\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\n :\n (\n false && this.openFaceRecognition === 1 && !faceLoading &&\n <div className='openFaceRecognition-box'>\n <Ticon className='icon' onClick={() => this.loadFaceRecognition(2)} type=\"renlianshibie\" />\n <Spin\n className='face-spin'\n scale={0.8}\n type='circle'\n visible={faceLoading}\n />\n </div>\n )\n }\n {\n /* 扫描组件 */\n this.isHorizontalPad &&\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanResult} />\n }\n </div>\n </div>\n }\n {isSelectedMember &&\n <div className={`info ${this.openFaceRecognition ? '' : 'member-btn-hidden-flex'}`}>\n <div className='first'>\n <img onClick={this.openPhotoModal} src={newAvatar || dtMember.ImageFile || emptyMemberImage} />\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\n {\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"shengri\" className='shengriIcon'></Ticon>\n }\n {\n memberCareInfo && memberCareInfo.isTicket && <div className='birthdayContent'>\n <div className='birthdayWarn'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\n <Button colors=\"warn\" onClick={this.handleMemberCareModal} className='check bg-theme'>查看</Button>\n <Ticon type=\"cuowuda\" className='cuowudaIcon'></Ticon>\n </div>\n }\n {\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"cuowuda\" onClick={() => { this.setIsShowBirthdayTip()}} className='cuowudaIcon'></Ticon>\n }\n </div>\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\n <div className='one'>\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\n <div className='b'>{dtMember.CardCode}</div>\n </div>\n <div className='two'>\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\n <div className='b'>余额</div>\n </div>\n <div className='two'>\n <div className='a'>{this.computedCoupon(dtMember)}</div>\n <div className='b'>{Differentiate.COUPON}</div>\n </div>\n <div className='two'>\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\n <div className='b'>积分</div>\n </div>\n </div>\n <div className='close'>\n {!isTakeTheir && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\n </div>\n </div>\n }\n </div>\n {/* {\n memberCareInfo && memberCareInfo.isTicket ? <div className='float'>\n <div className='txt'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\n <div className='btn' onClick={this.handleMemberCareModal}>查看</div>\n <div className='cancel'>\n <Ticon type='guanbixiao' onClick={() => {\n this.setIsShowBirthdayTip()\n }}/>\n </div>\n </div> : null\n } */}\n {!!this.openFaceRecognition && <div className='right'>\n <Button type=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\n {!inShopLoading && '到店会员'}\n <Spin\n className='inshop-member-spin'\n scale={0.8}\n type='circle'\n visible={inShopLoading}\n />\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\n </Button>\n </div>}\n <MemberModal\n mode={mode}\n authProcess={authProcess}\n viewMemberInfo={viewMemberInfo}\n columnInfo={columnInfo}\n status={status}\n showModal={memberShow}\n titleModal={titleModal}\n selectMemberSuccess={selectMemberSuccess}\n handleModal={this.handleShowModal}\n />\n <ModalWraper\n show={isMemberCareModal}\n className='member-care-modal'\n width='688'\n centered={true}\n memberClass='memberCareWidth'\n cancel={this.handleMemberCareModalCancel}\n >\n <div className='first'>会员生日关怀</div>\n <div className='second'>\n <div className='secondContent'>\n <Ticon type='dengpao'/>\n <span>口头关怀客户,提示引导客户去线上商城领取权益。</span>\n </div>\n </div>\n <div className='third'>\n <div className='one'>\n <img src={emptyMemberImage} />\n <Ticon type='shengri' />\n </div>\n <div className='two'>\n {\n memberCareInfo && memberCareInfo.daysToBirthday === 0 ? <span>\n 今天是{dtMember.Name}的生日,该会员是{dtMember.MemberType.Name},可享受以下权益\n </span> : <span>\n {dtMember.Name}会员还有{memberCareInfo && memberCareInfo.daysToBirthday}天生日,该会员是{dtMember.MemberType.Name},可享受以下权益\n </span>\n }\n </div>\n </div>\n {\n memberCareInfo && <div className='fourth'>\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple && <div className='item'>1.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple}</div>}\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive && <div className='item'>2.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive}</div>}\n {\n memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].couponIdMapList.map((value, index) => {\n let count = 0;\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple) {\n count += 1;\n }\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive) {\n count += 1;\n }\n return (<div className='item'>{count + 1 + index}.{value.name}</div>)\n })\n }\n </div>\n }\n </ModalWraper>\n {\n !isNewRetailBCPos && <ModalWraper show={this.ms.birthdayShow} centered={true} className='member-birthday'>\n <div className='picture'>\n <img width='350' height='308' src={memberBirthday} />\n <Ticon type=\"guanbi-yuan\" onClick={this.handleCloseBirthdayModal} />\n </div>\n <div className='remark'>今天是会员<span>{dtMember.Name || dtMember.CardCode}</span>的生日</div>\n </ModalWraper>\n }\n </div>\n );\n }\n}\nexport default MemberTag\n"]}
1
+ {"version":3,"sources":["tplus-member/member/index.js"],"names":["hasElectron","env","platform","constant","electron","emptyMemberImage","memberBirthday","currentMember","MemberTag","observer","props","stores","user","options","get","isMemberInputType","MemberMeStorageCardInputByKeyBoard","OpenFaceRecognition","ICCardServer","ICCardPassword","parseInt","isStorageCardInputType","openFaceRecognition","iCCardServer","iCCardPassword","ms","memberStore","isHorizontalPad","isHorizontalSunMi","isMobileEnvironment","handleReadICard","bind","keypressStime","iseyboardKEnter","isNewRetailBCPos","state","isCC","isShowBirthdayTip","context","viewModel","data","Member","dtMember","selectMemberInfo","isClear","memberChangeData","length","undefined","memberChange","setState","newAvatar","deepCloneMember","JSON","parse","ID","clearSeletMember","seletMember","selectMemberStore","clearMemberCare","connectRfCard","window","removeEventListener","windowOnresize","closeRfCard","nextProps","isSendMessage","getInStoreMemberCount","nativeMs","setIpcRendererMethod","result","ret","status","connectCardStatus","connectCardError","value","Message","error","params","cardPsw","cardSec","cardKm","searchMember","memberPhoto","titleModal","memberShow","inShopLoading","faceLoading","shopPerson","searchValue","viewMemberInfo","searchVisible","columnInfo","isMemberCare","isMemberCareModal","mode","authProcess","selectMemberSuccess","precisionInfo","IdbusiType","items","viewVoucher","find","v","type","isTakeTheir","getIsTakeTheir","isSelectedMember","enumController","getEnumOj","Differentiate","memberCareInfo","inputSearch","el","input","e","handleSearch","target","handleFocus","handleBlur","onKeyPressed","changeScanProduct","loadFaceRecognition","scanObj","scan","onScanResult","openPhotoModal","ImageFile","handlePhotoModal","isTicket","daysToBirthday","handleMemberCareModal","setIsShowBirthdayTip","openShowModal","Name","CardCode","BalanceStorage","computedCoupon","COUPON","BalanceIntegral","openCloseModal","handleShowModal","handleMemberCareModalCancel","MemberType","memberCareDTO","memberRightRuleList","integralMultiple","integralGive","couponIdMapList","map","index","count","name","birthdayShow","handleCloseBirthdayModal","Component","propTypes","PropTypes","func","memberSearched","contextTypes","onEvent","object","defaultProps","controllerEvent","methodName","methodArgs","Action","fromJS","resetInShopMemberTimer","timer","clearTimeout","time","setTimeout","warn","res","title","jsMember","updateMember","setMemberFocus","uiState","IsIntegralExchange","store","tip","info","ModalWraper","confirm","className","content","onOk","changeBirthdayShow","val","_this","cb","Keyboard","open2","getNewValue","keyboardClose","localStore","blur","close2","readRfCard","offlineSys","shouldInOffline","searchLoading","trim","getMemberBirthday","getMeStorageCard","getSearchMember","currentPage","pageSize","key","isSingleMember","then","ColumnInfo","Data","IsStorage","drawerStore","init","onHide","listArr","changeMemberCare","catch","keyCode","stime","etime","Date","member","MemberCouponCount","couponKey","DynamicPropertyKeys","DynamicPropertyValues","couponIndex","findIndex","loadInStoreMember","String","tipMessage","console","log","err","startScan","getMemberBirthdayInfo"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAAA;;;;;;;;;;;AAKA;;;;AAEA;;AACA;;AACA;;;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;AACA;;;;AAIA,IAAMA,cAAeC,oBAAIC,QAAJ,KAAiBD,oBAAIE,QAAJ,CAAaD,QAAb,CAAsBE,QAA5D;AACA;AACA,IAAMC,mBAAmB,yDAAzB;AACA,IAAMC,iBAAiB,mEAAvB;AACA,IAAIC,sBAAJ;;IAGMC,S,OADLC,mB;;;AAgCG,uBAAYC,KAAZ,EAAmB;AAAA;;AAAA,iJACTA,KADS;;AAAA;;AAEf,eAAKV,WAAL,GAAmBA,WAAnB;;AAFe,mBAGsGW,uBAAOC,IAAP,CAAYC,OAAZ,CAAoBC,GAApB,CAAwB,WAAxB,KAAwC,EAH9I;AAAA,YAGPC,iBAHO,QAGPA,iBAHO;AAAA,YAGYC,kCAHZ,QAGYA,kCAHZ;AAAA,YAGgDC,mBAHhD,QAGgDA,mBAHhD;AAAA,YAGqEC,YAHrE,QAGqEA,YAHrE;AAAA,YAGmFC,cAHnF,QAGmFA,cAHnF;;AAIf,eAAKJ,iBAAL,GAAyBK,SAASL,iBAAT,CAAzB,CAJe,CAIuC;AACtD,eAAKM,sBAAL,GAA8BL,kCAA9B,CALe,CAKmD;AAClE,eAAKM,mBAAL,GAA2BF,SAASH,mBAAT,CAA3B,CANe,CAM2C;AAC1D,eAAKM,YAAL,GAAoBH,SAASF,YAAT,CAApB,CAPe,CAO8B;AAC7C,eAAKM,cAAL,GAAsBL,cAAtB,CARe,CAQ2B;AAC1C,eAAKM,EAAL,GAAUC,aAAV;AACA;;AAVe,oBAWgCxB,yBAAY,EAX5C;AAAA,YAWPyB,eAXO,SAWPA,eAXO;AAAA,YAWUC,iBAXV,SAWUA,iBAXV;;AAYf,eAAKD,eAAL,GAAuB,CAAC,CAACA,eAAzB;AACA,eAAKC,iBAAL,GAAyB,CAAC,CAACA,iBAA3B;AACA,eAAKC,mBAAL,GAA2B,CAAC,CAACF,eAAF,IAAqB,CAAC,CAACC,iBAAlD;AACA,eAAKE,eAAL,GAAuB,OAAKA,eAAL,CAAqBC,IAArB,QAAvB;;AAEA;AACA,eAAKC,aAAL,GAAqB,IAArB;AACA,eAAKC,eAAL,GAAuB,KAAvB,CAnBe,CAmBgB;;AAnBhB,oBAoBY/B,yBAAY,EApBxB;AAAA,YAoBTgC,gBApBS,SAoBTA,gBApBS;;AAqBf,eAAKC,KAAL,GAAa;AACTC,kBAAM,CAAC,CAACF,gBADC;AAETG,+BAAmB;AAFV,SAAb;AArBe;AAyBlB;;;;6CAEoB;AAAA;;AAAA,wBACgC,KAAKC,OAAL,CAAaC,SAAb,IAA0B,EAD1D;AAAA,mCACTC,IADS;;AAAA,oDACyB,EADzB;AAAA,+CACDC,MADC;AAAA,gBACOC,QADP,qCACkB,EADlB;AAAA,sBAEkC,KAAKjB,EAFvC;AAAA,2CAETkB,gBAFS;AAAA,gBAETA,gBAFS,wCAEU,EAFV;AAAA,kCAEcC,OAFd;AAAA,gBAEcA,OAFd,+BAEwB,KAFxB;;AAGjB,gBAAMC,mBAAmB,oBAAYF,gBAAZ,EAA8BG,MAA9B,GAAuCH,gBAAvC,GAA0DI,SAAnF;;AAEA,gBAAMC,eAAe,SAAfA,YAAe,CAACR,IAAD,EAAU;AAC7B,uBAAKS,QAAL,CAAc,EAACC,WAAW,EAAZ,EAAd;AACA,uBAAKxC,KAAL,CAAWsC,YAAX,CAAwBR,IAAxB;AACD,aAHD;AAIA,gBAAI,QAAOK,gBAAP,uDAAOA,gBAAP,OAA4B,QAAhC,EAA0C;AACtC,oBAAMM,kBAAkBC,KAAKC,KAAL,CAAW,yBAAeR,gBAAf,CAAX,CAAxB;AACA,oBAAI,CAACtC,aAAL,EAAoB;AAChBA,oCAAgB4C,eAAhB;AACAH,iCAAaH,gBAAb;AACH,iBAHD,MAGO,IAAItC,cAAc+C,EAAd,KAAqBT,iBAAiBS,EAA1C,EAA8C;AACjDN,iCAAaH,gBAAb;AACAtC,oCAAgB4C,eAAhB;AACH,iBAHM,MAGA,IAAI,CAACT,SAASY,EAAV,IAAgB,CAAC/C,iBAAiB,EAAlB,EAAsB+C,EAA1C,EAA8C;AAAE;AACnD/C,oCAAgBwC,SAAhB;AACA,yBAAKtB,EAAL,CAAQ8B,gBAAR;AACH;AACJ,aAZD,MAYO,IAAIhD,iBAAiB,CAACsC,gBAAtB,EAAwC;AAC3CG,6BAAaH,gBAAb;AACAtC,gCAAgBwC,SAAhB;AACH,aAHM,MAGA,IAAIL,SAASY,EAAT,IAAe,CAAC,CAAC/C,iBAAiB,EAAlB,EAAsB+C,EAA1C,EAA8C;AAAE;AACnD,oBAAMH,mBAAkBC,KAAKC,KAAL,CAAW,yBAAeX,QAAf,CAAX,CAAxB;AACAnC,gCAAgB4C,gBAAhB;AACA,qBAAK1B,EAAL,CAAQ+B,WAAR,CAAoBd,QAApB;AACH;AACJ;;;4CAEmB;AAChB/B,mCAAO8C,iBAAP,IAA4B9C,uBAAO8C,iBAAP,CAAyBC,eAAzB,EAA5B;AACA,iBAAKC,aAAL;AACH;;;+CAEsB;AACnBC,mBAAOC,mBAAP,CAA2B,QAA3B,EAAqC,KAAKC,cAA1C;AACA,iBAAKC,WAAL;AACH;;;kDAEyBC,S,EAAW;AACjC;AADiC,gBAE3BC,aAF2B,GAETD,SAFS,CAE3BC,aAF2B;;AAGjC,gBAAIA,kBAAkB,IAAtB,EAA4B,KAAKC,qBAAL;AAC/B;;;;AAcD;wCACgB;AAAA;;AACZ;AACA,gBAAI,KAAKlE,WAAL,KAAqB,IAArB,IAA6B,KAAKuB,YAAL,KAAsB,CAAvD,EAA0D;AACtD4C,yCAASC,oBAAT,CAA8B,eAA9B,EAA+C,IAA/C,EAAqD,eAAO;AACxD,wBAAIC,SAAS,EAAb;AACA,wBAAIC,IAAIC,MAAJ,KAAe,CAAnB,EAAsB;AAClBF,iCAAS,EAAEG,mBAAmB,KAArB,EAA4BC,kBAAkBH,IAAII,KAAlD,EAAT;AACH,qBAFD,MAEO;AACHL,iCAAS,EAAEG,mBAAmB,IAArB,EAA2BC,kBAAkB,EAA7C,EAAT;AACH;AACD,2BAAKxB,QAAL,CAAcoB,MAAd;AACH,iBARD;AASH;AACJ;;AAED;;;;qCACa;AAAA;;AACT;AACA,gBAAI,KAAKrE,WAAL,KAAqB,IAArB,IAA6B,KAAKuB,YAAL,KAAsB,CAAvD,EAA0D;AAAA,6BACN,KAAKY,KADC;AAAA,oBAC9CqC,iBAD8C,UAC9CA,iBAD8C;AAAA,oBAC3BC,gBAD2B,UAC3BA,gBAD2B;;AAEtD,oBAAID,sBAAsB,KAA1B,EAAiC;AAC7BG,kDAAQC,KAAR,CAAcH,mBAAmBA,gBAAnB,GAAsC,SAApD;AACA,yBAAKd,aAAL,GAF6B,CAEP;AACtB;AACH;AACD,oBAAIkB,SAAS,EAAEC,SAAS,KAAKtD,cAAhB,EAAgCuD,SAAS,EAAzC,EAA6CC,QAAQ,CAArD,EAAb;AACAb,yCAASC,oBAAT,CAA8B,YAA9B,6BAAiDS,MAAjD,GAA2D,eAAO;AAC9D,wBAAIP,IAAIC,MAAJ,KAAe,CAAnB,EAAsB;AAClBI,sDAAQC,KAAR,CAAcN,IAAII,KAAlB;AACA,+BAAKf,aAAL,GAFkB,CAEI;AACtB;AACH,qBAJD,MAIO,IAAIW,IAAIC,MAAJ,KAAe,CAAnB,EAAsB;AACzB,+BAAKU,YAAL,CAAkBX,IAAII,KAAtB;AACH;AACJ,iBARD;AASH;AACJ;;AAED;;;;sCACa;AACT,gBAAI,KAAK1E,WAAL,KAAqB,IAArB,IAA6B,KAAKuB,YAAL,KAAsB,CAAvD,EAA0D;AACtD4C,yCAASC,oBAAT,CAA8B,aAA9B;AACH;AACJ;;AAgED;;;AAKA;;;AA0HA;;;AAsEA;;;;iCAoBS;AAAA;;AAAA,0BAKD,KAAKjC,KALJ;AAAA,gBAED+C,WAFC,WAEDA,WAFC;AAAA,gBAEYC,UAFZ,WAEYA,UAFZ;AAAA,gBAEwBC,UAFxB,WAEwBA,UAFxB;AAAA,gDAEoCC,aAFpC;AAAA,gBAEoCA,aAFpC,yCAEoD,KAFpD;AAAA,8CAE2DC,WAF3D;AAAA,gBAE2DA,WAF3D,uCAEyE,KAFzE;AAAA,gBAGDf,MAHC,WAGDA,MAHC;AAAA,gBAGOgB,UAHP,WAGOA,UAHP;AAAA,gBAGmBC,WAHnB,WAGmBA,WAHnB;AAAA,gBAGgCC,cAHhC,WAGgCA,cAHhC;AAAA,gBAGgDvC,SAHhD,WAGgDA,SAHhD;AAAA,gDAG2DwC,aAH3D;AAAA,gBAG2DA,aAH3D,yCAG2E,KAH3E;AAAA,gBAGkFC,UAHlF,WAGkFA,UAHlF;AAAA,gBAG8FvD,IAH9F,WAG8FA,IAH9F;AAAA,gBAIDwD,YAJC,WAIDA,YAJC;AAAA,gBAIaC,iBAJb,WAIaA,iBAJb;AAAA,gBAIgCxD,iBAJhC,WAIgCA,iBAJhC;AAAA,yBAMyD,KAAK3B,KAN9D;AAAA,qCAMGoF,IANH;AAAA,gBAMGA,IANH,+BAMU,QANV;AAAA,gBAMoBC,WANpB,UAMoBA,WANpB;AAAA,gBAMiCC,mBANjC,UAMiCA,mBANjC;AAAA,uBAO4C,KAAKvE,EAPjD;AAAA,gBAOGkB,gBAPH,QAOGA,gBAPH;AAAA,0CAOqBsD,aAPrB;AAAA,gBAOqBA,aAPrB,sCAOqC,EAPrC,uBAOqD;;AAPrD,wBAQoE,KAAK3D,OAAL,CAAaC,SAAb,IAA0B,EAR9F;AAAA,mCAQGC,IARH;;AAAA,oDAQiD,EARjD;AAAA,+CAQWC,MARX;AAAA,gBAQmBC,QARnB,qCAQ8B,EAR9B;AAAA,gBAQkCwD,UARlC,cAQkCA,UARlC;AAAA,oCAQqDC,KARrD;AAAA,gBAQqDA,KARrD,+BAQ6D,EAR7D;;AASL,gBAAMC,cAAcD,MAAME,IAAN,CAAW;AAAA,uBAAKC,EAAEC,IAAF,KAAW,SAAhB;AAAA,aAAX,KAAyC,EAA7D;AACA,gBAAMC,cAAcJ,YAAYK,cAAZ,IAA8BL,YAAYK,cAAZ,EAAlD;AACA,gBAAMC,mBAAmB,CAAC,CAAChE,SAASY,EAApC;;AAXK,wCAYqBqD,4BAAeC,SAAf,EAZrB;AAAA,gBAYGC,aAZH,yBAYGA,aAZH;;AAAA,gBAaGC,cAbH,GAasBnG,uBAAO8C,iBAb7B,CAaGqD,cAbH;;AAAA,wBAcsB5G,yBAAY,EAdlC;AAAA,gBAcCgC,gBAdD,SAcCA,gBAdD;;AAiBL,mBACI;AAAA;AAAA,kBAAK,WAAU,iBAAf;AACI;AAAA;AAAA,sBAAK,WAAU,MAAf;AACK,qBAACwE,gBAAD,IACG;AAAA;AAAA,0BAAK,WAAU,QAAf;AACI;AAAA;AAAA,8BAAK,WAAU,IAAf;AACI;AACI,sCAAK,MADT;AAEI,2CAAU,OAFd;AAGI,oCAAG,aAHP;AAII,6CAAY,6CAJhB;AAKI,uCAAOlB,WALX;AAMI,qCAAK;AAAA,2CAAM,OAAKuB,WAAL,GAAmBC,MAAMA,GAAGC,KAAlC;AAAA,iCANT;AAOI,0CAAU,kBAACC,CAAD;AAAA,2CAAO,OAAKC,YAAL,CAAkBD,EAAEE,MAAF,CAAS1C,KAA3B,CAAP;AAAA,iCAPd;AAQI,yCAAS,KAAK2C,WARlB;AASI,wCAAQ,KAAKC,UATjB;AAUI,2CAAW,KAAKC,YAVpB;AAWI,0CAAUrB,cAAc;AAX5B,8BADJ;AAcI,0DAAC,0BAAD;AACI,2CAAU,aADd;AAEI,uCAAO,GAFX;AAGI,sCAAK,aAHT;AAII,yCAASR;AAJb;AAdJ,yBADJ;AAsBI;AAAA;AAAA,8BAAK,WAAU,IAAf;AAEQ,iCAAK1F,WAAL,KAAqB,IAArB,IAA6B,KAAKuB,YAAL,KAAsB,CAAnD,IACA,8BAAC,2BAAD,IAAO,WAAU,MAAjB,EAAwB,SAAS,KAAKO,eAAtC,EAAuD,MAAK,MAA5D,GAHR;AAMQ,iCAAKH,eAAL,GACI,8BAAC,2BAAD,IAAO,MAAK,UAAZ,EAAuB,WAAU,MAAjC,EAAwC,SAAS,KAAK6F,iBAAtD,GADJ,GAIQ,SAAS,KAAKlG,mBAAL,KAA6B,CAAtC,IAA2C,CAACgE,WAA5C,IACA;AAAA;AAAA,kCAAK,WAAU,yBAAf;AACI,8DAAC,2BAAD,IAAO,WAAU,MAAjB,EAAwB,SAAS;AAAA,+CAAM,OAAKmC,mBAAL,CAAyB,CAAzB,CAAN;AAAA,qCAAjC,EAAoE,MAAK,eAAzE,GADJ;AAEI,8DAAC,0BAAD;AACI,+CAAU,WADd;AAEI,2CAAO,GAFX;AAGI,0CAAK,QAHT;AAII,6CAASnC;AAJb;AAFJ,6BAXhB;;AAuBQ;AACA,iCAAK3D,eAAL,IACA,8BAAC,0BAAD,IAAM,KAAK;AAAA,2CAAQ,OAAK+F,OAAL,GAAeC,IAAvB;AAAA,iCAAX,EAAwC,UAAU,KAAKC,YAAvD;AAzBR;AAtBJ,qBAFR;AAsDKlB,wCACG;AAAA;AAAA,0BAAK,sBAAmB,KAAKpF,mBAAL,GAA2B,EAA3B,GAAgC,wBAAnD,CAAL;AACI;AAAA;AAAA,8BAAK,WAAU,OAAf;AACI,mEAAK,SAAS,KAAKuG,cAAnB,EAAmC,KAAK3E,aAAaR,SAASoF,SAAtB,IAAmCzH,gBAA3E,GADJ;AAEK6E,2CAAe,8BAAC,qBAAD,IAAa,UAAUxC,QAAvB,EAAiC,WAAWwC,WAA5C,EAAyD,YAAYC,UAArE,EAAiF,aAAa,KAAK4C,gBAAnG,GAFpB;AAISjB,8CAAkBA,eAAekB,QAAjC,IAA6C,8BAAC,2BAAD,IAAO,MAAK,SAAZ,EAAsB,WAAU,aAAhC,GAJtD;AAOQlB,8CAAkBA,eAAekB,QAAjC,IAA6C;AAAA;AAAA,kCAAK,WAAU,iBAAf;AACzC;AAAA;AAAA,sCAAK,WAAU,cAAf;AAA+BlB,mDAAemB,cAAf,KAAkC,CAAlC,GAAsC,MAAtC,GAA+CnB,eAAemB,cAAf,GAAgC;AAA9G,iCADyC;AAEzC;AAAA;AAAA,sCAAQ,QAAO,MAAf,EAAsB,SAAS,KAAKC,qBAApC,EAA2D,WAAU,gBAArE;AAAA;AAAA,iCAFyC;AAGzC,8DAAC,2BAAD,IAAO,MAAK,SAAZ,EAAsB,WAAU,aAAhC;AAHyC,6BAPrD;AAcOpB,8CAAkBA,eAAekB,QAAjC,IAA6C,8BAAC,2BAAD,IAAO,MAAK,SAAZ,EAAsB,SAAS,mBAAM;AAAE,2CAAKG,oBAAL;AAA4B,iCAAnE,EAAqE,WAAU,aAA/E;AAdpD,yBADJ;AAkBI;AAAA;AAAA,8BAAK,WAAU,2BAAf,EAA2C,SAAS;AAAA,2CAAM,OAAKC,aAAL,CAAmB,CAAnB,CAAN;AAAA,iCAApD;AACI;AAAA;AAAA,kCAAK,WAAU,KAAf;AACK1F,yCAAS2F,IAAT,IAAiB;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB3F,6CAAS2F;AAA7B,iCADtB;AAEI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB3F,6CAAS4F;AAA7B;AAFJ,6BADJ;AAKI;AAAA;AAAA,kCAAK,WAAU,KAAf;AACI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB,gEAAgB5F,SAAS6F,cAAzB,EAAyCtC,cAAcsC,cAAvD;AAApB,iCADJ;AAEI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAA;AAAA;AAFJ,6BALJ;AASI;AAAA;AAAA,kCAAK,WAAU,KAAf;AACI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB,yCAAKC,cAAL,CAAoB9F,QAApB;AAApB,iCADJ;AAEI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoBmE,kDAAc4B;AAAlC;AAFJ,6BATJ;AAaI;AAAA;AAAA,kCAAK,WAAU,KAAf;AACI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB,gEAAgB/F,SAASgG,eAAzB,EAA0CzC,cAAcyC,eAAxD,KAA4E;AAAhG,iCADJ;AAEI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAA;AAAA;AAFJ;AAbJ,yBAlBJ;AAoCI;AAAA;AAAA,8BAAK,WAAU,OAAf;AACK,6BAAClC,WAAD,IAAgBN,cAAa,EAA7B,IAAmC,8BAAC,2BAAD,IAAO,MAAK,aAAZ,EAA0B,SAAS,KAAKyC,cAAxC;AADxC;AApCJ;AAvDR,iBADJ;AA6GK,iBAAC,CAAC,KAAKrH,mBAAP,IAA8B;AAAA;AAAA,sBAAK,WAAU,OAAf;AAC3B;AAAA;AAAA,0BAAQ,MAAK,SAAb,EAAuB,SAAS;AAAA,uCAAM,OAAKmG,mBAAL,CAAyB,CAAzB,CAAN;AAAA,6BAAhC,EAAmE,WAAU,KAA7E,EAAmF,UAAUpC,aAA7F;AACK,yBAACA,aAAD,IAAkB,MADvB;AAEI,sDAAC,0BAAD;AACI,uCAAU,oBADd;AAEI,mCAAO,GAFX;AAGI,kCAAK,QAHT;AAII,qCAASA;AAJb,0BAFJ;AAQK,yBAAC,CAACE,UAAF,IAAgB;AAAA;AAAA,8BAAK,WAAU,OAAf;AAAwBA;AAAxB;AARrB;AAD2B,iBA7GnC;AAyHI,8CAAC,oBAAD;AACI,0BAAMO,IADV;AAEI,iCAAaC,WAFjB;AAGI,oCAAgBN,cAHpB;AAII,gCAAYE,UAJhB;AAKI,4BAAQpB,MALZ;AAMI,+BAAWa,UANf;AAOI,gCAAYD,UAPhB;AAQI,yCAAqBa,mBARzB;AASI,iCAAa,KAAK4C;AATtB,kBAzHJ;AAoII;AAAC,qDAAD;AAAA;AACI,8BAAM/C,iBADV;AAEI,mCAAU,mBAFd;AAGI,+BAAM,KAHV;AAII,kCAAU,IAJd;AAKI,qCAAY,iBALhB;AAMI,gCAAQ,KAAKgD;AANjB;AAQI;AAAA;AAAA,0BAAK,WAAU,OAAf;AAAA;AAAA,qBARJ;AASI;AAAA;AAAA,0BAAK,WAAU,QAAf;AACI;AAAA;AAAA,8BAAK,WAAU,eAAf;AACI,0DAAC,2BAAD,IAAO,MAAK,SAAZ,GADJ;AAEI;AAAA;AAAA;AAAA;AAAA;AAFJ;AADJ,qBATJ;AAeI;AAAA;AAAA,0BAAK,WAAU,OAAf;AACI;AAAA;AAAA,8BAAK,WAAU,KAAf;AACI,mEAAK,KAAKxI,gBAAV,GADJ;AAEI,0DAAC,2BAAD,IAAO,MAAK,SAAZ;AAFJ,yBADJ;AAKI;AAAA;AAAA,8BAAK,WAAU,KAAf;AAEQyG,8CAAkBA,eAAemB,cAAf,KAAkC,CAApD,GAAwD;AAAA;AAAA;AAAA;AAChDvF,yCAAS2F,IADuC;AAAA;AACzB3F,yCAASoG,UAAT,CAAoBT,IADK;AAAA;AAAA,6BAAxD,GAEU;AAAA;AAAA;AACL3F,yCAAS2F,IADJ;AAAA;AACcvB,kDAAkBA,eAAemB,cAD/C;AAAA;AACuEvF,yCAASoG,UAAT,CAAoBT,IAD3F;AAAA;AAAA;AAJlB;AALJ,qBAfJ;AA+BQvB,sCAAkB;AAAA;AAAA,0BAAK,WAAU,QAAf;AACbA,0CAAkBA,eAAeiC,aAAjC,IAAkDjC,eAAeiC,aAAf,CAA6BC,mBAA/E,IAAsGlC,eAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDC,gBAA1J,IAA8K;AAAA;AAAA,8BAAK,WAAU,MAAf;AAAA;AAA0BnC,2CAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDC;AAA9E,yBADjK;AAEbnC,0CAAkBA,eAAeiC,aAAjC,IAAkDjC,eAAeiC,aAAf,CAA6BC,mBAA/E,IAAsGlC,eAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDE,YAA1J,IAA0K;AAAA;AAAA,8BAAK,WAAU,MAAf;AAAA;AAA0BpC,2CAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDE;AAA9E,yBAF7J;AAIVpC,0CAAkBA,eAAeiC,aAAjC,IAAmDjC,eAAeiC,aAAf,CAA6BC,mBAAhF,IAAuGlC,eAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDG,eAApD,CAAoEC,GAApE,CAAwE,UAAC1E,KAAD,EAAQ2E,KAAR,EAAkB;AAC7L,gCAAIC,QAAQ,CAAZ;AACA,gCAAIxC,eAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDC,gBAAxD,EAA0E;AACtEK,yCAAS,CAAT;AACH;AACD,gCAAIxC,eAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDE,YAAxD,EAAsE;AAClEI,yCAAS,CAAT;AACH;AACD,mCAAQ;AAAA;AAAA,kCAAK,WAAU,MAAf;AAAuBA,wCAAQ,CAAR,GAAYD,KAAnC;AAAA;AAA2C3E,sCAAM6E;AAAjD,6BAAR;AACH,yBATsG;AAJ7F;AA/B1B,iBApIJ;AAsLQ,iBAACrH,gBAAD,IAAqB;AAAC,qDAAD;AAAA,sBAAa,MAAM,KAAKT,EAAL,CAAQ+H,YAA3B,EAAyC,UAAU,IAAnD,EAAyD,WAAU,iBAAnE;AACjB;AAAA;AAAA,0BAAK,WAAU,SAAf;AACI,+DAAK,OAAM,KAAX,EAAiB,QAAO,KAAxB,EAA8B,KAAKlJ,cAAnC,GADJ;AAEI,sDAAC,2BAAD,IAAO,MAAK,aAAZ,EAA0B,SAAS,KAAKmJ,wBAAxC;AAFJ,qBADiB;AAKjB;AAAA;AAAA,0BAAK,WAAU,QAAf;AAAA;AAA6B;AAAA;AAAA;AAAO/G,qCAAS2F,IAAT,IAAiB3F,SAAS4F;AAAjC,yBAA7B;AAAA;AAAA;AALiB;AAtL7B,aADJ;AAiMH;;;EA5oBmBoB,gB,WAiBbC,S,GAAY;AACf3G,kBAAc4G,oBAAUC,IADT;AAEfC,oBAAgBF,oBAAUC;AAFX,C,UAKZE,Y,GAAe;AAClBC,aAAQJ,oBAAUC,IADA;AAElBtH,eAAWqH,oBAAUK;AAFH,C,UAKfC,Y,GAAe;AAClBlH,kBAAc,wBAAM,CAAG;AADL,C;;;SAzBtBb,K,GAAQ;AACJqD,qBAAa,EADT;AAEJL,oBAAY,EAFR;AAGJC,oBAAY,KAHR;AAIJF,qBAAa,KAJT;AAKJQ,uBAAe,KALX;AAMJH,oBAAY,CANR;AAOJhB,gBAAQ,CAPJ,EAOc;AAClB7B,kBAAU,EARN,EAQa;AACjB8B,2BAAmB,KATf,EASsB;AAC1BC,0BAAkB,EAVd,EAUkB;AACtBmB,sBAAc,KAXV;AAYJC,2BAAmB;AAZf,K;;SAuGRsE,e,GAAkB,UAACC,UAAD,EAAaC,UAAb,EAA4B;AAC1C,eAAK/H,OAAL,CAAa0H,OAAb,CAAqB,EAAE,mBAAmBM,qBAAOC,MAAP,CAAc,OAAKjI,OAAL,CAAaC,SAA3B,EAAsC6H,UAAtC,CAArB,EAArB,EAA+F,iBAA/F,EAAkHC,UAAlH;AACH,K;;SAEDG,sB,GAAyB,UAAClB,KAAD,EAAW;AAChC,eAAKmB,KAAL,IAAcC,aAAa,OAAKD,KAAlB,CAAd;AACA,YAAI,CAACnB,KAAL,EAAY;AACZ,YAAMqB,OAAO,IAAI,EAAJ,GAAS,IAAtB;AACA,eAAKF,KAAL,GAAaG,WAAW,YAAM;AAC1B,mBAAK1G,qBAAL;AACH,SAFY,EAEVyG,IAFU,CAAb;AAGH,K;;SA+CD9C,c,GAAiB,YAAM;AAAA,oBACQ3H,yBAAY,EADpB;AAAA,YACbgC,gBADa,SACbA,gBADa;;AAEnB,YAAI,CAACA,gBAAL,EAAuB;AACnB,gBAAI,CAAC,OAAKZ,mBAAV,EAA+B;AAC3BqD,8CAAQkG,IAAR,CAAa,qBAAb;AACA;AACH;AACD,mBAAK5H,QAAL,CAAc;AACViC,6BAAa,IADH;AAEVC,4BAAY;AAFF,aAAd;AAIH;AACJ,K;;SAEDiD,a,GAAgB,UAAC7D,MAAD,EAASuG,GAAT,EAAiB;AAC7B,YAAIC,QAAQ,EAAZ;;AAD6B,oBAEU,OAAKzI,OAAL,CAAaC,SAAb,IAA0B,EAFpC;AAAA,+BAErBC,IAFqB;;AAAA,gDAEG,EAFH;AAAA,2CAEbC,MAFa;AAAA,YAEbA,MAFa,qCAEJ,EAFI;AAAA,YAGtBS,SAHsB,GAGT,OAAKf,KAHI,CAGtBe,SAHsB;;AAI7B,YAAM8H,WAAW,gBAAKvI,MAAL,CAAjB;AACA,YAAMwI,eAAe/H,uCAAgB8H,QAAhB,IAA0BlD,WAAW5E,SAArC,MAAkD8H,QAAvE;AACA,gBAAQzG,MAAR;AACI,iBAAK,CAAL;AACIwG,wBAAQ,MAAR;AACA,uBAAK9H,QAAL,CAAc,EAAEwC,gBAAgBwF,YAAlB,EAAd;AACA;AACJ,iBAAK,CAAL;AACIF,wBAAQ,MAAR;AACA,uBAAK9H,QAAL,CAAc,EAAEwC,gBAAgBqF,GAAlB,EAAd;AACA;AACJ,iBAAK,CAAL;AACIC,wBAAQ,MAAR;AACA,uBAAK9H,QAAL,CAAc,EAAEwC,gBAAgBqF,GAAlB,EAAd;AACA;AAZR;AAcA,eAAK7H,QAAL,CAAc;AACVsB,oBAAQA,MADE;AAEVa,wBAAY,IAFF;AAGVD,wBAAY4F;AAHF,SAAd;AAKH,K;;SAEDpC,c,GAAiB,YAAM;AAAA,YACXuC,cADW,GACQ,OAAKxK,KADb,CACXwK,cADW;;AAEnB,YAAMxJ,cAAc,OAAKY,OAAL,CAAaC,SAAb,IAA0B,OAAKD,OAAL,CAAaC,SAAb,CAAuB4D,KAAvB,CAA6BE,IAA7B,CAAkC;AAAA,mBAAMW,GAAGuC,IAAH,IAAW,aAAjB;AAAA,SAAlC,CAA9C;AACA,YAAM4B,UAAUzJ,YAAYyJ,OAA5B;AACA,YAAMC,qBAAqB1J,YAAY2J,KAAZ,IAAqB3J,YAAY2J,KAAZ,CAAkB7I,IAAvC,IAA+Cd,YAAY2J,KAAZ,CAAkB7I,IAAlB,CAAuB4I,kBAAjG;AACA,YAAI,CAAC,CAACD,QAAQG,GAAd,EAAmB;AACf3G,0CAAQ4G,IAAR,CAAaJ,QAAQG,GAArB;AACA;AACH;AACDE,0CAAYC,OAAZ,CAAoB;AAChBC,uBAAW,qBADK;AAEhBX,mBAAO,MAFS;AAGhBY,2BAAYP,qBAAqB,eAArB,GAAuC,YAAnD,CAHgB;AAIhBQ,kBAAM,gBAAM;AACR,uBAAKnK,EAAL,CAAQ8B,gBAAR;AACA5C,uCAAO8C,iBAAP,CAAyBC,eAAzB;AACA,uBAAOwH,cAAP,IAAyB,UAAzB,IAAuCA,gBAAvC;AACH;AARe,SAApB;AAUH,K;;SAGDzB,wB,GAA2B,YAAM;AAC7B,eAAKhI,EAAL,CAAQoK,kBAAR,CAA2B,KAA3B;AACH,K;;SAGD3D,qB,GAAwB,YAAM;AAC1B,eAAKjF,QAAL,CAAc,EAAE4C,mBAAmB,IAArB,EAAd;AACH,K;;SACDgD,2B,GAA8B,YAAM;AAChC,eAAK5F,QAAL,CAAc,EAAE4C,mBAAmB,KAArB,EAAd;AACH,K;;SAEDsB,Y,GAAe,UAAC2E,GAAD,EAAS;AACpB,eAAK7I,QAAL,CAAc,EAAEuC,aAAasG,GAAf,EAAd;AACH,K;;SAEDzE,W,GAAc,UAACL,EAAD,EAAQ;AAClB,YAAI,OAAKjG,iBAAT,EAA4B;AAC5B,YAAMgL,QAAQ,MAAd;AACA,iBAASC,EAAT,GAAc;AACZD,kBAAM9G,YAAN,CAAmBlC,SAAnB,EAA8B,IAA9B;AACD;AACDkJ,uCAASC,KAAT,CAAe,UAAC5F,CAAD,EAAO;AAClB,gBAAM5B,QAAQuH,+BAASE,WAAT,CAAqB,OAAKpF,WAA1B,EAAuC,OAAKA,WAAL,CAAiBrC,KAAxD,EAA+D4B,CAA/D,CAAd;AACA,mBAAKa,YAAL,CAAkBzC,KAAlB;AACH,SAHD,EAGGsH,EAHH,EAGO,OAAKI,aAHZ,EAG4B,UAH5B,EAGwCC,2BAAWvL,GAAX,CAAe,UAAf,CAHxC;AAIH,K;;SAEDsL,a,GAAgB,YAAM;AACpB,eAAKrF,WAAL,CAAiBuF,IAAjB;AACD,K;;SACDhF,U,GAAa,YAAM;AACf2E,uCAASM,MAAT;AACH,K;;SAEDzK,e,GAAkB,YAAM;AACpB,eAAK0K,UAAL;AACH,K;;SAED5D,e,GAAkB,UAACrC,IAAD,EAAO1B,MAAP,EAAkB;AAChC,YAAIA,MAAJ,EAAY;AACR,mBAAK5B,QAAL,CAAc,EAAEP,UAAUmC,MAAZ,EAAoBO,YAAYmB,IAAhC,EAAd;AACH,SAFD,MAEO;AACH,mBAAKtD,QAAL,CAAc,EAAEmC,YAAYmB,IAAd,EAAd;AACH;AACJ,K;;SAEDwB,gB,GAAmB,UAACxB,IAAD,EAAOrD,SAAP,EAAqB;AACtC,YAAIA,SAAJ,EAAe;AACT,mBAAKD,QAAL,CAAc;AACVC,oCADU;AAEVgC,6BAAaqB;AAFH,aAAd;AAIH,SALH,MAKS;AACH,mBAAKtD,QAAL,CAAc,EAAEiC,aAAaqB,IAAf,EAAd;AACH;AACJ,K;;SAEDtB,Y,GAAe,UAAC6G,GAAD,EAAMvF,IAAN,EAAe;AAC1B,YAAG,CAAC5F,uBAAO8L,UAAP,CAAkBC,eAAlB,EAAJ,EAA0C;AAC1C,YAAI,CAAC,OAAKjL,EAAN,IAAY,OAAKkL,aAArB,EAAoC;AAFV,YAGnBnH,WAHmB,GAGJ,OAAKrD,KAHD,CAGnBqD,WAHmB;;AAI1BsG,cAAMA,OAAO,CAACtG,eAAe,EAAhB,EAAoBoH,IAApB,EAAb;AACA,YAAI,CAACd,GAAL,EAAU;AALgB,sBAMyE,OAAKpL,KAN9E;AAAA,YAMlBoJ,cANkB,WAMlBA,cANkB;AAAA,YAMF9D,mBANE,WAMFA,mBANE;AAAA,YAMkBkF,cANlB,WAMkBA,cANlB;AAAA,YAMiC2B,iBANjC,WAMiCA,iBANjC;AAAA,YAMoDC,gBANpD,WAMoDA,gBANpD;;AAO1B,eAAKH,aAAL,GAAqB,IAArB;AACA,eAAK1J,QAAL,CAAc,EAACyC,eAAe,IAAhB,EAAd;AACA,eAAKjE,EAAL,CAAQsL,eAAR,CAAwB;AACpBC,yBAAa,CADO;AAEpBC,sBAAU,EAFU;AAGpBC,iBAAKpB,GAHe;AAIpBqB,4BAAgB;AAJI,SAAxB,EAKGC,IALH,CAKQ,eAAO;AACX,mBAAKT,aAAL,GAAqB,KAArB;;AADW,wBAE4BrI,OAAO,EAFnC;AAAA,gBAEQqB,UAFR,SAEJ0H,UAFI;AAAA,gBAEoBC,IAFpB,SAEoBA,IAFpB;;AAGX,gBAAM9K,OAAOY,KAAKC,KAAL,CAAWiK,IAAX,KAAoB,EAAjC;AACA,gBAAM/B,OAAO/I,KAAK,CAAL,CAAb;AACA,mBAAKS,QAAL,CAAc,EAACyC,eAAe,KAAhB,EAAuBC,sBAAvB,EAAd;AACA,gBAAI4F,QAAQA,KAAKzC,UAAb,IAA2ByC,KAAKzC,UAAL,CAAgByE,SAA3C,IAAwD,OAAKlM,sBAA7D,IAAuF,OAAKY,eAAhG,EAAgH;AAC5G6K,oCAAoBA,iBAAiB,IAAjB,CAApB;AACA,uBAAK3F,YAAL,CAAkB,EAAlB;AACA,uBAAKnF,aAAL,GAAqB,IAArB;AACH,aAJD,MAIO;AACH8K,oCAAoBA,iBAAiB,KAAjB,CAApB;AACH;AACDhD,8BAAkBA,eAAeyB,IAAf,EAAqB,UAArB,CAAlB;AACA,gBAAIA,IAAJ,EAAU;AACN,oBAAI/I,KAAKM,MAAL,GAAc,CAAlB,EAAqB;AACjBnC,2CAAO6M,WAAP,CAAmBC,IAAnB,CAAwB;AACpB1C,+BAAO,MADa;AAEpBmC,6BAAK,QAFe;AAGpBQ,gCAAO,kBAAI,CACV,CAJmB;AAKpBC,iCAASnL;AALW,qBAAxB;AAOA,2BAAKS,QAAL,CAAc;AACVuC,qCAAa;AADH,qBAAd;AAGH,iBAXD,MAWO;AACHsE,sCAAkBA,eAAeyB,IAAf,EAAqB,UAArB,CAAlB;AACA,+CAAeA,IAAf;AACA,wBAAI,0BAAcA,IAAd,CAAJ,EAAyB;AACzB,2BAAK9J,EAAL,CAAQ+B,WAAR,CAAoB+H,IAApB,EAA0B,IAA1B;AACAX,+BAAW;AAAA,+BAAM,OAAK3H,QAAL,CAAc,EAAEuC,aAAa,EAAf,EAAd,CAAN;AAAA,qBAAX,EAAqD,CAArD;AACA,2BAAK8B,UAAL;AACAtB,2CAAuBA,qBAAvB;AACA6G,yCAAqBA,kBAAkBtB,KAAKjI,EAAvB,EAA2B,UAACe,MAAD,EAAY;AACxD1D,+CAAO8C,iBAAP,CAAyBmK,gBAAzB,CAA0CvJ,MAA1C;AACH,qBAFoB,CAArB;AAGH;AACJ,aAxBD,MAwBO;AACH,oBAAIkC,SAAS,IAAb,EAAkB;AACd5B,kDAAQkG,IAAR,CAAa,OAAb;AACA,wBAAI,OAAKhJ,mBAAT,EAA8B;AAC1B+I,mCAAW;AAAA,mCAAM,OAAK3H,QAAL,CAAc,EAAEuC,aAAa,EAAf,EAAd,CAAN;AAAA,yBAAX,EAAqD,CAArD;AACH;AACD,2BAAO0F,cAAP,IAAyB,UAAzB,IAAuCA,gBAAvC;AACH;AACJ;AACJ,SApDD,EAoDG2C,KApDH,CAoDS,eAAO;AACZ,mBAAK5K,QAAL,CAAc,EAACyC,eAAe,KAAhB,EAAd;AACA,mBAAKiH,aAAL,GAAqB,KAArB;AACA7C,8BAAkBA,eAAe/G,SAAf,EAA0B,KAA1B,CAAlB;AACH,SAxDD;AAyDH,K;;SAGDmB,qB,GAAwB,YAAM;AAC5B,YAAI,CAAC,OAAKzC,EAAV,EAAc;AACd,eAAKA,EAAL,CAAQyC,qBAAR,GAAgCkJ,IAAhC,CAAqC,eAAO;AAAA,yBACFtC,OAAO,EADL;AAAA,qCACnCtI,IADmC;;AAAA,sDACR,EADQ;AAAA,gBACtB+C,UADsB,eAC5B/C,IAD4B;;AAE1C,mBAAKS,QAAL,CAAc,EAACsC,sBAAD,EAAd;AACA,mBAAKiF,sBAAL,CAA4BjF,UAA5B;AACD,SAJD;AAKD,K;;SAEDgC,Y,GAAe,UAACL,CAAD,EAAO;AAClB,YAAM4G,UAAU5G,KAAKA,EAAE4G,OAAvB;AACA,YAAIA,YAAY,EAAhB,EAAoB;AAChB,gBAAI,OAAK/M,iBAAT,EAA4B;AACxB,oBAAIgN,QAAQ,OAAK/L,aAAjB;AACA,oBAAIgM,QAAQC,KAAK5K,KAAL,CAAW,IAAI4K,IAAJ,EAAX,CAAZ;AACA,oBAAID,QAAQD,KAAR,GAAgB,GAApB,EAAyB;AACrB,2BAAK5G,YAAL,CAAkB,EAAlB;AACA,2BAAKnF,aAAL,GAAqB,IAArB;AACA,2BAAO2C,8BAAQkG,IAAR,CAAa,WAAb,CAAP;AACH;AACD,uBAAK7I,aAAL,GAAqB,IAArB;AACH;AACD,mBAAKC,eAAL,GAAuBgM,KAAK5K,KAAL,CAAW,IAAI4K,IAAJ,EAAX,IAAyB,OAAKjM,aAA9B,GAA8C,GAArE;AACA,gBAAI,OAAKX,sBAAT,EAAiC;AAC7B,uBAAKW,aAAL,GAAqB,IAArB;AACH;AACD,gBAAI,OAAK2K,aAAT,EAAwB;AACxB,mBAAK1H,YAAL,CAAkBlC,SAAlB,EAA6B,IAA7B;AACH,SAjBD,MAkBK,IAAI,OAAKhC,iBAAL,IAA0B,CAAC,OAAKiB,aAAhC,IAAiD,EAAE8L,WAAW,CAAb,CAArD,EAAsE;AACvE,mBAAK9L,aAAL,GAAqBiM,KAAK5K,KAAL,CAAW,IAAI4K,IAAJ,EAAX,CAArB;AACH,SAFI,MAEE,IAAI,OAAK5M,sBAAL,IAA+B,CAAC,OAAKW,aAArC,IAAsD,EAAE8L,WAAW,CAAb,CAAtD,IAAyE,CAAC,OAAK/M,iBAAnF,EAAsG;AACzG,mBAAKiB,aAAL,GAAqBiM,KAAK5K,KAAL,CAAW,IAAI4K,IAAJ,EAAX,CAArB;AACH;AACJ,K;;SAEDzF,c,GAAiB,YAAiB;AAAA,YAAhB0F,MAAgB,uEAAP,EAAO;;AAAA,qBACHhO,yBAAY,EADT;AAAA,YACxBgC,gBADwB,UACxBA,gBADwB;;AAE9B,YAAI,CAAC,CAACA,gBAAN,EAAwB;AACpB,mBAAOgM,OAAOC,iBAAP,GAA0BD,OAAOC,iBAAjC,GAAqD,GAA5D;AACH,SAFD,MAEO;AACH,gBAAMC,YAAY,mBAAlB;AADG,wCAE4DF,MAF5D,CAEIG,mBAFJ;AAAA,gBAEIA,mBAFJ,yCAE0B,EAF1B;AAAA,yCAE4DH,MAF5D,CAE8BI,qBAF9B;AAAA,gBAE8BA,qBAF9B,0CAEsD,EAFtD;;AAGH,gBAAMC,cAAcF,oBAAoBG,SAApB,CAA8B;AAAA,uBAAKlI,MAAM8H,SAAX;AAAA,aAA9B,CAApB;AACA,mBAAO,CAACG,WAAD,GAAeD,sBAAsBC,WAAtB,CAAf,GAAoD,GAA3D;AACH;AACJ,K;;SAED9G,mB,GAAsB,UAAClB,IAAD,EAAU;AAC9B;AACA,eAAKtD,QAAL,CAAc,EAACqC,aAAaiB,SAAS,CAAvB,EAA0BlB,eAAekB,SAAS,CAAlD,EAAd;AACA,eAAK9E,EAAL,CAAQgN,iBAAR,CAA0BC,OAAOnI,IAAP,CAA1B,EACG6G,IADH,CACQ,eAAO;AACX,mBAAKnK,QAAL,CAAc,EAACqC,aAAa,KAAd,EAAqBD,eAAe,KAApC,EAAd;;AADW,yBAEIyF,OAAO,EAFX;AAAA,gBAEJwC,IAFI,UAEJA,IAFI;;AAGX,gBAAI,CAAClK,KAAKC,KAAL,CAAWiK,IAAX,EAAiBxK,MAAtB,EAA8B;AAC5B,oBAAM6L,aAAa,CAAC,UAAD,EAAa,UAAb,CAAnB;AACApI,yBAAS,CAAT,IAAc,OAAKtD,QAAL,CAAc,EAACsC,YAAY,CAAb,EAAd,CAAd;AACA,uBAAOZ,8BAAQ4G,IAAR,CAAaoD,WAAWpI,OAAO,CAAlB,CAAb,CAAP;AACD;AACDA,qBAAS,CAAT,IAAc,OAAKrC,qBAAL,EAAd;AACA,mBAAKkE,aAAL,CAAmB7B,IAAnB,EAAyBuE,GAAzB;AACD,SAXH,EAYG+C,KAZH,CAYS,eAAO;AACZ,mBAAK5K,QAAL,CAAc,EAACqC,aAAa,KAAd,EAAqBD,eAAe,KAApC,EAAd;AACAuJ,oBAAQC,GAAR,CAAYC,GAAZ;AACD,SAfH;AAgBD,K;;SAGDtH,iB,GAAoB,YAAM;AACtB,YAAI,OAAKE,OAAT,EAAkB,OAAKA,OAAL,CAAaqH,SAAb;AACrB,K;;SACDnH,Y,GAAe,UAACkD,GAAD,EAAS;AACpB,eAAK7H,QAAL,CAAc;AACVuC,yBAAasF;AADH,SAAd,EAEG,YAAM;AACL,mBAAKvD,YAAL,CAAkB,EAAEuG,SAAS,EAAX,EAAlB;AACH,SAJD;AAKH,K;;SAED3F,oB,GAAuB,YAAM;AACzBxH,+BAAO8C,iBAAP,CAAyBC,eAAzB;AACH,K;;SAEDsL,qB,GAAwB,UAAC3K,MAAD,EAAY;AAChC1D,+BAAO8C,iBAAP,CAAyBmK,gBAAzB,CAA0CvJ,MAA1C;AACH,K;;;kBAsNU7D,S","file":"index.js","sourcesContent":["/**\n * @memberChange member 状态发生变化时的回调\n * @memberSearched 录入框会员状态发生变化时的回调 memberSearched(value, type) // type: searched 触发搜索 | err 搜索接口错误 | close 关闭会员\n *\n */\nimport React, { Component, Fragment } from 'react';\nimport { Button, Input } from 'antd';\nimport { observer } from 'mobx-react';\nimport { toJS } from 'mobx';\nimport PropTypes from 'prop-types'\nimport { Ticon, Message, ModalWraper, Spin, Keyboard,Scan } from 'tplus-components-touch';\nimport { env, nativeMs, localStore , stores} from 'mutants-microfx';\nimport { Action } from 'mutants-appfx'\nimport { platform, enumController } from 'mutants-util';\nimport MemberModal from './MemberShow';\nimport MemberPhoto from './MemberPhoto';\nimport memberStore from './api';\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\nimport './index.less';\n\n\n\nconst hasElectron = (env.platform === env.constant.platform.electron);\n//定义默认头像值。\nconst emptyMemberImage = 'https://newretail.static.chanjet.com/default_avatar.png';\nconst memberBirthday = 'https://newretail.static.chanjet.com/pictures/member_birthday.png';\nlet currentMember;\n\n@observer\nclass MemberTag extends Component {\n\n state = {\n searchValue: '',\n titleModal: '',\n memberShow: false,\n memberPhoto: false,\n searchVisible: false,\n shopPerson: 0,\n status: 2, // 0会员详情、1到店会员、2人脸识别\n dtMember: {}, // 会员信息\n connectCardStatus: false, //连接IC卡状态\n connectCardError: '', //连接IC卡错误后记录错误信息\n isMemberCare: false,\n isMemberCareModal: false\n };\n\n static propTypes = {\n memberChange: PropTypes.func,\n memberSearched: PropTypes.func,\n }\n\n static contextTypes = {\n onEvent:PropTypes.func,\n viewModel: PropTypes.object,\n }\n\n static defaultProps = {\n memberChange: () => { },\n }\n\n constructor(props) {\n super(props);\n this.hasElectron = hasElectron;\n const { isMemberInputType, MemberMeStorageCardInputByKeyBoard, OpenFaceRecognition, ICCardServer, ICCardPassword } = stores.user.options.get('loginInfo') || {};\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\n this.isStorageCardInputType = MemberMeStorageCardInputByKeyBoard; // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\n this.iCCardPassword = ICCardPassword; //IC卡密码\n this.ms = memberStore;\n //移动端环境下,没有读取IC卡的方式。\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\n this.isHorizontalPad = !!isHorizontalPad;\n this.isHorizontalSunMi = !!isHorizontalSunMi;\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\n this.handleReadICard = this.handleReadICard.bind(this);\n\n //记录键盘录入信息的开始时间\n this.keypressStime = null;\n this.iseyboardKEnter = false; //是否为键盘输入\n let { isNewRetailBCPos } = platform || {};\n this.state = {\n isCC: !!isNewRetailBCPos,\n isShowBirthdayTip: false,\n };\n }\n\n componentWillReact() {\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\n const { selectMemberInfo = {}, isClear = false } = this.ms;\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\n\n const memberChange = (data) => {\n this.setState({newAvatar: ''});\n this.props.memberChange(data);\n }\n if (typeof memberChangeData === 'object') {\n const deepCloneMember = JSON.parse(JSON.stringify(memberChangeData));\n if (!currentMember) {\n currentMember = deepCloneMember;\n memberChange(memberChangeData);\n } else if (currentMember.ID !== memberChangeData.ID) {\n memberChange(memberChangeData);\n currentMember = deepCloneMember;\n } else if (!dtMember.ID && (currentMember || {}).ID) { // DataModel 中清掉member,手动同步 member\n currentMember = undefined;\n this.ms.clearSeletMember();\n }\n } else if (currentMember && !memberChangeData) {\n memberChange(memberChangeData);\n currentMember = undefined;\n } else if (dtMember.ID && !(currentMember || {}).ID) { // DataModel 中存在member,手动同步 member\n const deepCloneMember = JSON.parse(JSON.stringify(dtMember));\n currentMember = deepCloneMember;\n this.ms.seletMember(dtMember);\n }\n }\n\n componentDidMount() {\n stores.selectMemberStore && stores.selectMemberStore.clearMemberCare()\n this.connectRfCard();\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.windowOnresize);\n this.closeRfCard();\n }\n\n componentWillReceiveProps(nextProps) {\n //接受socket传递过来的信息\n let { isSendMessage } = nextProps;\n if (isSendMessage === true) this.getInStoreMemberCount()\n }\n\n controllerEvent = (methodName, methodArgs) => {\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\n }\n\n resetInShopMemberTimer = (count) => {\n this.timer && clearTimeout(this.timer);\n if (!count) return;\n const time = 5 * 60 * 1000;\n this.timer = setTimeout(() => {\n this.getInStoreMemberCount();\n }, time);\n }\n //IC卡连接\n connectRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\n let result = {}\n if (ret.status === 0) {\n result = { connectCardStatus: false, connectCardError: ret.value }\n } else {\n result = { connectCardStatus: true, connectCardError: '' };\n }\n this.setState(result)\n })\n }\n }\n\n //IC卡读取\n readRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n const { connectCardStatus, connectCardError } = this.state;\n if (connectCardStatus === false) {\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n }\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\n if (ret.status === 0) {\n Message.error(ret.value);\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n } else if (ret.status === 1) {\n this.searchMember(ret.value);\n }\n })\n }\n }\n\n //IC卡关闭\n closeRfCard(){\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('CloseRfCard')\n }\n }\n\n openPhotoModal = () => {\n let { isNewRetailBCPos } = platform || {};\n if (!isNewRetailBCPos) {\n if (!this.openFaceRecognition) {\n Message.warn('未启用人脸识别,需要先开启人脸识别功能');\n return;\n }\n this.setState({\n memberPhoto: true,\n titleModal: '选择头像'\n })\n }\n }\n\n openShowModal = (status, res) => {\n let title = '';\n const { data: { Member = {} } = {} } = this.context.viewModel || {};\n const {newAvatar} = this.state;\n const jsMember = toJS(Member);\n const updateMember = newAvatar ? {...jsMember, ImageFile: newAvatar} : jsMember;\n switch (status) {\n case 0:\n title = '会员详情';\n this.setState({ viewMemberInfo: updateMember })\n break;\n case 1:\n title = '到店会员';\n this.setState({ viewMemberInfo: res })\n break;\n case 2:\n title = '人脸识别';\n this.setState({ viewMemberInfo: res })\n break;\n }\n this.setState({\n status: status,\n memberShow: true,\n titleModal: title\n })\n }\n\n openCloseModal = () => {\n const { setMemberFocus } = this.props;\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\n const uiState = memberStore.uiState;\n const IsIntegralExchange = memberStore.store && memberStore.store.data && memberStore.store.data.IsIntegralExchange\n if (!!uiState.tip) {\n Message.info(uiState.tip)\n return;\n }\n ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: '关闭会员',\n content: `${IsIntegralExchange ? \"关闭会员将会清空商品信息!\" : \"确定要关闭该会员吗?\"}`,\n onOk: () => {\n this.ms.clearSeletMember();\n stores.selectMemberStore.clearMemberCare();\n typeof setMemberFocus == 'function' && setMemberFocus();\n }\n })\n }\n\n //关闭生日提醒\n handleCloseBirthdayModal = () => {\n this.ms.changeBirthdayShow(false);\n }\n\n //会员关怀-送礼\n handleMemberCareModal = () => {\n this.setState({ isMemberCareModal: true })\n }\n handleMemberCareModalCancel = () => {\n this.setState({ isMemberCareModal: false })\n }\n\n handleSearch = (val) => {\n this.setState({ searchValue: val })\n }\n\n handleFocus = (el) => {\n if (this.isMemberInputType) return;\n const _this = this;\n function cb() {\n _this.searchMember(undefined, 'ok');\n }\n Keyboard.open2((v) => {\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\n this.handleSearch(value);\n }, cb, this.keyboardClose , 'ByMember', localStore.get('ByMember'))\n }\n\n keyboardClose = () => {\n this.inputSearch.blur();\n }\n handleBlur = () => {\n Keyboard.close2();\n }\n\n handleReadICard = () => {\n this.readRfCard();\n }\n\n handleShowModal = (type, params) => {\n if (params) {\n this.setState({ dtMember: params, memberShow: type })\n } else {\n this.setState({ memberShow: type })\n }\n }\n\n handlePhotoModal = (type, newAvatar) => {\n if (newAvatar) {\n this.setState({\n newAvatar,\n memberPhoto: type\n })\n } else {\n this.setState({ memberPhoto: type })\n }\n }\n\n searchMember = (val, type) => {\n if(!stores.offlineSys.shouldInOffline()) return;\n if (!this.ms || this.searchLoading) return;\n const {searchValue} = this.state;\n val = val || (searchValue || '').trim();\n if (!val) return;\n const { memberSearched, selectMemberSuccess,setMemberFocus,getMemberBirthday, getMeStorageCard } = this.props;\n this.searchLoading = true;\n this.setState({searchVisible: true});\n this.ms.getSearchMember({\n currentPage: 1,\n pageSize: 10,\n key: val,\n isSingleMember: false\n }).then(ret => {\n this.searchLoading = false;\n const {ColumnInfo: columnInfo, Data} = ret || {};\n const data = JSON.parse(Data) || [];\n const info = data[0];\n this.setState({searchVisible: false, columnInfo});\n if (info && info.MemberType && info.MemberType.IsStorage && this.isStorageCardInputType && this.iseyboardKEnter){\n getMeStorageCard && getMeStorageCard(true);\n this.handleSearch('');\n this.keypressStime = null;\n } else {\n getMeStorageCard && getMeStorageCard(false);\n }\n memberSearched && memberSearched(info, 'searched');\n if (info) {\n if (data.length > 1) {\n stores.drawerStore.init({\n title: '会员管理',\n key: 'member',\n onHide:()=>{\n },\n listArr: data,\n });\n this.setState({\n searchValue: null\n })\n } else {\n memberSearched && memberSearched(info, 'searched');\n userInfoFormat(info);\n if (errMessageTip(info)) return;\n this.ms.seletMember(info, true);\n setTimeout(() => this.setState({ searchValue: '' }), 0);\n this.handleBlur();\n selectMemberSuccess && selectMemberSuccess();\n getMemberBirthday && getMemberBirthday(info.ID, (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n });\n }\n } else {\n if (type === 'ok'){\n Message.warn('会员不存在');\n if (this.isMobileEnvironment) {\n setTimeout(() => this.setState({ searchValue: '' }), 0);\n }\n typeof setMemberFocus == 'function' && setMemberFocus();\n }\n }\n }).catch(err => {\n this.setState({searchVisible: false});\n this.searchLoading = false;\n memberSearched && memberSearched(undefined, 'err');\n })\n }\n\n //获取当前到店会员数量\n getInStoreMemberCount = () => {\n if (!this.ms) return;\n this.ms.getInStoreMemberCount().then(res => {\n const {data: {data: shopPerson} = {}} = res || {};\n this.setState({shopPerson});\n this.resetInShopMemberTimer(shopPerson);\n });\n }\n\n onKeyPressed = (e) => {\n const keyCode = e && e.keyCode\n if (keyCode === 13) {\n if (this.isMemberInputType) {\n let stime = this.keypressStime;\n let etime = Date.parse(new Date());\n if (etime - stime > 300) {\n this.handleSearch('')\n this.keypressStime = null;\n return Message.warn('未启用键盘录入功能');\n }\n this.keypressStime = null;\n }\n this.iseyboardKEnter = Date.parse(new Date()) - this.keypressStime > 300;\n if (this.isStorageCardInputType) {\n this.keypressStime = null;\n }\n if (this.searchLoading) return;\n this.searchMember(undefined, 'ok');\n }\n else if (this.isMemberInputType && !this.keypressStime && !(keyCode == 8)) {\n this.keypressStime = Date.parse(new Date())\n } else if (this.isStorageCardInputType && !this.keypressStime && !(keyCode == 8) && !this.isMemberInputType) {\n this.keypressStime = Date.parse(new Date())\n }\n }\n\n computedCoupon = (member = {}) => {\n let { isNewRetailBCPos } = platform || {};\n if (!!isNewRetailBCPos) {\n return member.MemberCouponCount? member.MemberCouponCount : '0';\n } else {\n const couponKey = 'membercouponcount';\n const {DynamicPropertyKeys = [], DynamicPropertyValues = []} = member;\n const couponIndex = DynamicPropertyKeys.findIndex(v => v === couponKey);\n return ~couponIndex ? DynamicPropertyValues[couponIndex] : '0';\n }\n }\n\n loadFaceRecognition = (type) => {\n // type = 1:到店会员 type = 2:POS机人脸识别\n this.setState({faceLoading: type === 2, inShopLoading: type === 1});\n this.ms.loadInStoreMember(String(type))\n .then(res => {\n this.setState({faceLoading: false, inShopLoading: false});\n const {Data} = res || {};\n if (!JSON.parse(Data).length) {\n const tipMessage = ['当前没有到店会员', '未识别到人脸信息'];\n type === 1 && this.setState({shopPerson: 0});\n return Message.info(tipMessage[type - 1]);\n }\n type === 1 && this.getInStoreMemberCount();\n this.openShowModal(type, res);\n })\n .catch(err => {\n this.setState({faceLoading: false, inShopLoading: false});\n console.log(err)\n });\n }\n\n //移动端:扫描商品\n changeScanProduct = () => {\n if (this.scanObj) this.scanObj.startScan()\n }\n onScanResult = (res) => {\n this.setState({\n searchValue: res\n }, () => {\n this.onKeyPressed({ keyCode: 13 })\n })\n }\n\n setIsShowBirthdayTip = () => {\n stores.selectMemberStore.clearMemberCare()\n }\n\n getMemberBirthdayInfo = (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n }\n\n render() {\n const {\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible = false, columnInfo, isCC,\n isMemberCare, isMemberCareModal, isShowBirthdayTip\n } = this.state;\n const { mode = 'formal', authProcess, selectMemberSuccess } = this.props;\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\n const { data: { Member: dtMember = {}, IdbusiType } = {}, items = [] } = this.context.viewModel || {};\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\n const isSelectedMember = !!dtMember.ID;\n const { Differentiate } = enumController.getEnumOj();\n const { memberCareInfo } = stores.selectMemberStore;\n let { isNewRetailBCPos } = platform || {};\n\n\n return (\n <div className='MemberContainer'>\n <div className='left'>\n {!isSelectedMember &&\n <div className='search'>\n <div className='b1'>\n <Input\n type='text'\n className=\"input\"\n id='memberPoint'\n placeholder='扫描/输入会员号'\n value={searchValue}\n ref={el => this.inputSearch = el && el.input}\n onChange={(e) => this.handleSearch(e.target.value)}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.onKeyPressed}\n disabled={IdbusiType == 39}\n />\n <Spin\n className='search-spin'\n scale={0.8}\n type='circle-side'\n visible={searchVisible}\n />\n </div>\n <div className='b2'>\n {\n this.hasElectron === true && this.iCCardServer === 1 &&\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\n }\n {\n this.isHorizontalPad ?\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\n :\n (\n false && this.openFaceRecognition === 1 && !faceLoading &&\n <div className='openFaceRecognition-box'>\n <Ticon className='icon' onClick={() => this.loadFaceRecognition(2)} type=\"renlianshibie\" />\n <Spin\n className='face-spin'\n scale={0.8}\n type='circle'\n visible={faceLoading}\n />\n </div>\n )\n }\n {\n /* 扫描组件 */\n this.isHorizontalPad &&\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanResult} />\n }\n </div>\n </div>\n }\n {isSelectedMember &&\n <div className={`info ${this.openFaceRecognition ? '' : 'member-btn-hidden-flex'}`}>\n <div className='first'>\n <img onClick={this.openPhotoModal} src={newAvatar || dtMember.ImageFile || emptyMemberImage} />\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\n {\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"shengri\" className='shengriIcon'></Ticon>\n }\n {\n memberCareInfo && memberCareInfo.isTicket && <div className='birthdayContent'>\n <div className='birthdayWarn'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\n <Button colors=\"warn\" onClick={this.handleMemberCareModal} className='check bg-theme'>查看</Button>\n <Ticon type=\"cuowuda\" className='cuowudaIcon'></Ticon>\n </div>\n }\n {\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"cuowuda\" onClick={() => { this.setIsShowBirthdayTip()}} className='cuowudaIcon'></Ticon>\n }\n </div>\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\n <div className='one'>\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\n <div className='b'>{dtMember.CardCode}</div>\n </div>\n <div className='two'>\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\n <div className='b'>余额</div>\n </div>\n <div className='two'>\n <div className='a'>{this.computedCoupon(dtMember)}</div>\n <div className='b'>{Differentiate.COUPON}</div>\n </div>\n <div className='two'>\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\n <div className='b'>积分</div>\n </div>\n </div>\n <div className='close'>\n {!isTakeTheir && IdbusiType !=39 && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\n </div>\n </div>\n }\n </div>\n {/* {\n memberCareInfo && memberCareInfo.isTicket ? <div className='float'>\n <div className='txt'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\n <div className='btn' onClick={this.handleMemberCareModal}>查看</div>\n <div className='cancel'>\n <Ticon type='guanbixiao' onClick={() => {\n this.setIsShowBirthdayTip()\n }}/>\n </div>\n </div> : null\n } */}\n {!!this.openFaceRecognition && <div className='right'>\n <Button type=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\n {!inShopLoading && '到店会员'}\n <Spin\n className='inshop-member-spin'\n scale={0.8}\n type='circle'\n visible={inShopLoading}\n />\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\n </Button>\n </div>}\n <MemberModal\n mode={mode}\n authProcess={authProcess}\n viewMemberInfo={viewMemberInfo}\n columnInfo={columnInfo}\n status={status}\n showModal={memberShow}\n titleModal={titleModal}\n selectMemberSuccess={selectMemberSuccess}\n handleModal={this.handleShowModal}\n />\n <ModalWraper\n show={isMemberCareModal}\n className='member-care-modal'\n width='688'\n centered={true}\n memberClass='memberCareWidth'\n cancel={this.handleMemberCareModalCancel}\n >\n <div className='first'>会员生日关怀</div>\n <div className='second'>\n <div className='secondContent'>\n <Ticon type='dengpao'/>\n <span>口头关怀客户,提示引导客户去线上商城领取权益。</span>\n </div>\n </div>\n <div className='third'>\n <div className='one'>\n <img src={emptyMemberImage} />\n <Ticon type='shengri' />\n </div>\n <div className='two'>\n {\n memberCareInfo && memberCareInfo.daysToBirthday === 0 ? <span>\n 今天是{dtMember.Name}的生日,该会员是{dtMember.MemberType.Name},可享受以下权益\n </span> : <span>\n {dtMember.Name}会员还有{memberCareInfo && memberCareInfo.daysToBirthday}天生日,该会员是{dtMember.MemberType.Name},可享受以下权益\n </span>\n }\n </div>\n </div>\n {\n memberCareInfo && <div className='fourth'>\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple && <div className='item'>1.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple}</div>}\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive && <div className='item'>2.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive}</div>}\n {\n memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].couponIdMapList.map((value, index) => {\n let count = 0;\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple) {\n count += 1;\n }\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive) {\n count += 1;\n }\n return (<div className='item'>{count + 1 + index}.{value.name}</div>)\n })\n }\n </div>\n }\n </ModalWraper>\n {\n !isNewRetailBCPos && <ModalWraper show={this.ms.birthdayShow} centered={true} className='member-birthday'>\n <div className='picture'>\n <img width='350' height='308' src={memberBirthday} />\n <Ticon type=\"guanbi-yuan\" onClick={this.handleCloseBirthdayModal} />\n </div>\n <div className='remark'>今天是会员<span>{dtMember.Name || dtMember.CardCode}</span>的生日</div>\n </ModalWraper>\n }\n </div>\n );\n }\n}\nexport default MemberTag\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tplus-member",
3
- "version": "3.27.5",
3
+ "version": "3.27.6",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {