tplus-member 3.23.1 → 3.25.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -871,6 +871,7 @@ var ShopMember = (_temp = _class = function (_Component) {
871
871
  }, {
872
872
  key: 'componentWillUnmount',
873
873
  value: function componentWillUnmount() {
874
+
874
875
  memberSwiper && memberSwiper.destroy(false);
875
876
  memberSwiper = undefined;
876
877
  this.willUnmount = true;
@@ -887,6 +888,8 @@ var ShopMember = (_temp = _class = function (_Component) {
887
888
  value: function render() {
888
889
  var _this5 = this;
889
890
 
891
+ var isUserAndroidKey = !!window.android_setKeyBoard;
892
+
890
893
  var user = JSON.parse(localStorage.getItem('user')) || {};
891
894
  var _user$loginInfo = user.loginInfo;
892
895
  _user$loginInfo = _user$loginInfo === undefined ? {} : _user$loginInfo;
@@ -944,7 +947,7 @@ var ShopMember = (_temp = _class = function (_Component) {
944
947
  tplusInput: true,
945
948
  placeholder: '\u624B\u673A\u53F7/\u5361\u53F7/\u540D\u79F0/\u8EAB\u4EFD\u8BC1\u53F7',
946
949
  prefix: 'sousuo',
947
- className: _tplusComponentsTouch.hotKey.hotKeyNotFilter('search-input'),
950
+ className: _tplusComponentsTouch.hotKey.hotKeyNotFilter('search-input') + ' android_focus_keyboard',
948
951
  value: searchValue,
949
952
  type: 'native',
950
953
  onChange: function onChange(_ref8) {
@@ -960,13 +963,15 @@ var ShopMember = (_temp = _class = function (_Component) {
960
963
  onFocus: function onFocus(_ref9) {
961
964
  var target = _ref9.target;
962
965
 
963
- _this5.focusInputName = 'searchValue';
964
- _this5.inputTarget = target;
965
- _tplusComponentsTouch.Keyboard.open(function (v) {
966
- var key = _this5.focusInputName;
967
- var value = _tplusComponentsTouch.Keyboard.getNewValue(_this5.inputTarget, _this5.inputTarget.value, v);
968
- _this5.setState((0, _defineProperty3.default)({}, key, value));
969
- }, _this5.keyboardOnOk, _this5.keyboardOnClose)();
966
+ if (!isUserAndroidKey) {
967
+ _this5.focusInputName = 'searchValue';
968
+ _this5.inputTarget = target;
969
+ _tplusComponentsTouch.Keyboard.open(function (v) {
970
+ var key = _this5.focusInputName;
971
+ var value = _tplusComponentsTouch.Keyboard.getNewValue(_this5.inputTarget, _this5.inputTarget.value, v);
972
+ _this5.setState((0, _defineProperty3.default)({}, key, value));
973
+ }, _this5.keyboardOnOk, _this5.keyboardOnClose)();
974
+ }
970
975
  },
971
976
  onBlur: _tplusComponentsTouch.Keyboard.close,
972
977
  onKeyDown: this.onKeyPressed
@@ -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","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';\r\nimport PropTypes from 'prop-types';\r\nimport { Button } from 'antd';\r\nimport { ModalWraper, Input, Loading, Message, Ticon, Keyboard, Spin, hotKey } from 'tplus-components-touch';\r\nimport { stores } from 'mutants-microfx';\r\nimport { enumController, platform } from 'mutants-util';\r\nimport memberStore from './api';\r\nimport MemberTab from './memberTab';\r\nimport Swiper from 'swiper/dist/js/swiper.js';\r\nimport 'swiper/dist/css/swiper.min.css';\r\nimport './ShopMember.less';\r\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\r\nimport MemberMenu from './memberMenu/index.js'\r\n\r\nlet memberSwiper;\r\nlet swiperSelectObserver;\r\n\r\nexport default class ShopMember extends Component {\r\n static defaultProps = {\r\n onCancel: () => {},\r\n onOk: () => {},\r\n };\r\n\r\n static contextTypes = {\r\n viewModel: PropTypes.object,\r\n columnInfo: PropTypes.array,\r\n };\r\n constructor(props) {\r\n super(props);\r\n const { mode } = this.props;\r\n let { isNewRetailBCPos } = platform || {};\r\n this.state = {\r\n searchValue: '',\r\n memberList: [],\r\n memberLength: 0,\r\n memberInfo: {\r\n record: [],\r\n like: [],\r\n recency: [],\r\n },\r\n searchStatus: !!this.props.listArr ? true : false,\r\n isCC: !!isNewRetailBCPos,\r\n tabIndex: this.props.defaultActiveKey,\r\n isAllAuthority: false,\r\n tabMenuHeight: mode !== 'practice' ? 64 : 0 // 64为table上部操作菜单高度\r\n };\r\n this.ms = memberStore;\r\n }\r\n\r\n currentPage = 1;\r\n cacheUserRetail = {};\r\n\r\n componentDidMount() {\r\n swiperSelectObserver = new IntersectionObserver(entries => {\r\n const { boundingClientRect: { height, bottom, top } = {}, intersectionRatio } = entries[0];\r\n if (intersectionRatio !== 1 && this.isHotKeyAction) {\r\n this.isHotKeyAction = false;\r\n\r\n bottom > height && memberSwiper.slideNext();\r\n // 解决向上滑动时top < 10 时距离问题\r\n if (top < -10) {\r\n top < height && memberSwiper.slidePrev() && memberSwiper.slidePrev()\r\n } else {\r\n top < height && memberSwiper.slidePrev()\r\n }\r\n }\r\n });\r\n\r\n window.addEventListener('resize', this.windowOnresize);\r\n const { viewMemberInfo, status, columnInfo } = this.props;\r\n if (viewMemberInfo) {\r\n if (status) {\r\n return this.loadUserListSuccess(viewMemberInfo);\r\n } else if (status === 0) { // status 0 为 查看会员详情\r\n columnInfo && this.precisionInfo(columnInfo); // 查看录入的会员查看详情时父级传递了 columnInfo props\r\n return this.usersLoadSuccess([viewMemberInfo], 'search');\r\n }\r\n const { Code } = viewMemberInfo;\r\n return this.loadUserList('init', undefined, undefined, true, Code);\r\n };\r\n this.loadUserList('init');\r\n $.on(this.hotKeyListener);\r\n\r\n this.ms.searchValue = '';//初始化完成筛选列表清空数据(会员新增成功——封涛)\r\n }\r\n\r\n componentDidUpdate() {\r\n const {memberList = [], memberLength, memberTabHeight, tabMenuHeight} = this.state;\r\n if (memberList.length !== memberLength) {\r\n this.setState({memberLength: memberList.length}, () => {\r\n if (memberSwiper) {\r\n return memberSwiper.updateSlides();\r\n }\r\n memberSwiper = new Swiper('.swiper-member-container', {\r\n direction: 'vertical',\r\n slidesPerView: 'auto',\r\n mousewheel: true,\r\n watchSlidesProgress : true,\r\n on: {\r\n progress: this.progressListen\r\n },\r\n scrollbar: {\r\n el: '.swiper-scrollbar',\r\n hide: true,\r\n },\r\n });\r\n });\r\n }\r\n const clientHeight = this.memberTab.clientHeight - tabMenuHeight;\r\n if (clientHeight !== memberTabHeight) {\r\n this.setState({memberTabHeight: clientHeight});\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n memberSwiper && memberSwiper.destroy(false);\r\n memberSwiper = undefined;\r\n this.willUnmount = true;\r\n\r\n window.removeEventListener('resize', this.windowOnresize);\r\n swiperSelectObserver.disconnect();\r\n $.off(this.hotKeyListener);\r\n }\r\n\r\n hotKeyListener = (nodeName, index) => {\r\n this.progressListen()\r\n if (nodeName && ~nodeName.className.indexOf('slide-selected')) {\r\n this.isHotKeyAction = true;\r\n const activeElement = document.activeElement;\r\n activeElement && activeElement.blur();\r\n }\r\n }\r\n\r\n observerCard = () => {\r\n setTimeout(() => {\r\n const slideSelected = document.querySelector('.slide-selected');\r\n this.prevSlideSelected && swiperSelectObserver.unobserve(this.prevSlideSelected);\r\n this.prevSlideSelected = slideSelected;\r\n slideSelected && swiperSelectObserver.observe(slideSelected);\r\n })\r\n }\r\n\r\n progressListen = (progress) => {\r\n const {selected} = this.state;\r\n\r\n const {memberList = []} = this.state;\r\n const {viewMemberInfo} = this.props;\r\n if (viewMemberInfo) return;\r\n const {loadmoreLoading, nomoreData, searchValue = ''} = this.state;\r\n // let newselect = (selected + 5) % 10\r\n if ((selected + 1) % 10 === 0 && !loadmoreLoading && !nomoreData) {\r\n this.currentPage += 1;\r\n this.loadUserList('loadmore', this.currentPage);\r\n }\r\n if (progress >= 1 && !loadmoreLoading && !nomoreData) {\r\n this.currentPage += 1;\r\n this.loadUserList('loadmore', this.currentPage);\r\n }\r\n\r\n }\r\n\r\n windowOnresize = () => {\r\n if (!this.memberTab) {\r\n return window.removeEventListener('resize', this.windowOnresize);\r\n };\r\n const {memberTabHeight} = this.state;\r\n const clientHeight = this.memberTab.clientHeight - this.state.tabMenuHeight;\r\n if (memberTabHeight !== clientHeight) {\r\n this.setState({memberTabHeight: clientHeight});\r\n }\r\n }\r\n\r\n isNotSetState = (Idmember) => {\r\n if (this.willUnmount || Idmember !== this.currentMemberId) return true;\r\n }\r\n\r\n loadUserInfo = (key, Idmember, item, type, syncUpdateMember) => {\r\n this.observerCard();\r\n\r\n const { selectChange, viewMemberInfo, memberChange } = this.props;\r\n const { selected, tabIndex = '1' } = this.state;\r\n if (key === selected && type !== true && type!=='opencard') return;\r\n Loading.hide();\r\n if (this.currentMemberId && !(this.cacheUserRetail[this.currentMemberId] || {}).recommend) {\r\n delete this.cacheUserRetail[this.currentMemberId];\r\n }\r\n this.currentMemberId = Idmember;\r\n\r\n if (this.userSearch || viewMemberInfo) {\r\n this.userSearch = false;\r\n this.setState({selected: key});\r\n }\r\n\r\n const {memberList = []} = this.state;\r\n\r\n this.memberTabChange(tabIndex);\r\n\r\n this.setState({ selected: key, member: memberList[key] || {}, loadingUser: true, loadingBtn: true });\r\n this.ms.getGetUmemberDTO(Idmember)\r\n .then(ret => {\r\n if (this.isNotSetState(Idmember)) return;\r\n const {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone,\r\n DynamicPropertyKeys = [], DynamicPropertyValues = []} = ret || {};\r\n const mergeKeys = {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone, DynamicPropertyKeys, DynamicPropertyValues};\r\n //const memberInfo = {...(memberList[key] || {}), ...mergeKeys};\r\n if (viewMemberInfo) {\r\n // 用接口中的 BalanceStorage MemberCouponTitle覆盖列表中的数据, 监听对象 使用action 设置值\r\n this.ms.setMemberKey(mergeKeys);\r\n } else {\r\n //设置会员列表中该会员的BalanceStorage值\r\n const currentMemberOfList = memberList.find(value => value.ID === Idmember) || {};\r\n Object.keys(mergeKeys).forEach(v => currentMemberOfList[v] = mergeKeys[v]);\r\n }\r\n userInfoFormat(ret)\r\n let arr = [];\r\n memberList.map(item => {\r\n if (item.ID === ret.ID) {\r\n arr.push(ret)\r\n } else {\r\n arr.push(item)\r\n }\r\n })\r\n this.setState({\r\n member: ret,\r\n initEmpty: true,\r\n memberList: arr,\r\n errorMsg: '',\r\n loadingUser: false,\r\n loadingBtn: false\r\n })\r\n stores.selectMemberStore.setCurMemberInfo(ret);\r\n selectChange && selectChange(item);\r\n // 更新当前选定的会员信息\r\n if (syncUpdateMember) {\r\n const { data: { Member: { ID } = {} } = {} } = this.context.viewModel || {};\r\n if (ID == ret.ID) {\r\n stores.selectMemberStore.seletMember(ret);\r\n memberChange && memberChange(ret)\r\n }\r\n }\r\n }).catch(err => {\r\n selectChange && selectChange({});\r\n if (this.isNotSetState(Idmember)) return;\r\n this.setState({\r\n member: memberList[key] || {},\r\n initEmpty: true,\r\n errorMsg: '会员信息获取失败,请重试',\r\n memberList,\r\n loadingBtn:false\r\n });\r\n });\r\n }\r\n\r\n loadUserRetail = (Idmember) => {\r\n const {tabIndex = '1'} = this.state;\r\n const {titleModal} = this.props;\r\n\r\n if (tabIndex !== '1' && ['会员详情', '到店会员', '人脸识别'].includes(titleModal)) {\r\n Loading.show({\r\n target: '.member-content-tab',\r\n node: <Spin scale={1.2} type='shape' visible/>,\r\n delay: false\r\n });\r\n }\r\n const {currentMemberId} = this.state;\r\n this.cacheUserRetail[Idmember] = {};\r\n this.ms.getMemberRetailDetail(Idmember)\r\n .then(ret => {\r\n // console.log(ret, '会员推荐&最近购买数据')\r\n Loading.hide();\r\n if (this.isNotSetState(Idmember)) return;\r\n const {Like, Record, Recency, RecommendList = []} = ret || {};\r\n const recommend = RecommendList;\r\n const memberInfo = {record: Record, like: Like, recency: Recency};\r\n\r\n this.setState({recommend, memberInfo});\r\n this.cacheUserRetail[Idmember] = {recommend, memberInfo};\r\n\r\n })\r\n .catch(err => {\r\n delete this.cacheUserRetail[Idmember];\r\n if (this.isNotSetState(Idmember)) return;\r\n this.setState({\r\n recommend: [],\r\n memberInfo: {},\r\n });\r\n Loading.hide();\r\n });\r\n }\r\n\r\n loadUserList = (type, currentPage = 1, pageSize = 10, isSingleMember = false, searchId) => {\r\n const { searchValue, searchStatus } = this.state;\r\n const { status, listArr } = this.props;\r\n if (!this.ms) return;\r\n if (type === 'init') {\r\n let inputValue = this.ms && this.ms.searchValue;\r\n if (inputValue) {\r\n this.setState({ searchValue: inputValue })\r\n setTimeout(() => { this.keyboardOnClose() }, 310)\r\n }\r\n }\r\n if (type === 'loadmore') {\r\n this.setState({ loadmoreLoading: true });\r\n } else {\r\n Loading.show({ target: '.memberShopContainer' });\r\n }\r\n if (type === 'opencard') {\r\n currentPage = this.currentPage;\r\n }\r\n if (searchStatus) {\r\n let arr = listArr.slice(0);\r\n // stores.memberStore.searchInfoList.map((value) => {\r\n // arr.push(value)\r\n // })\r\n this.setState({\r\n searchStatus: false,\r\n memberList: arr\r\n }, () => {\r\n const { memberList } = this.state;\r\n this.loadUserListSuccess(memberList, 's', memberList.length);\r\n Loading.hide();\r\n })\r\n return;\r\n }\r\n this.ms.getSearchMember({\r\n currentPage,\r\n pageSize,\r\n key: this.ms.searchValue || searchValue || searchId,\r\n isSingleMember: this.ms.searchValue ? true : isSingleMember\r\n })\r\n .then(ret => {\r\n this.loadUserListSuccess(ret, type, pageSize);\r\n Loading.hide();\r\n })\r\n .catch(err => Loading.hide());\r\n }\r\n\r\n loadUserListSuccess = (ret, type, pageSize) => {\r\n this.dataLoaded = true;\r\n const { ColumnInfo, Data } = ret || {};\r\n this.setState({ columnInfo: ColumnInfo});\r\n this.precisionInfo(ColumnInfo);\r\n this.usersLoadSuccess(type === 's' ? ret : JSON.parse(Data), type, pageSize);\r\n }\r\n\r\n precisionInfo = (columnInfo) => {\r\n const precisionInfo = {};\r\n if (columnInfo && columnInfo.length > 0) {\r\n columnInfo = columnInfo.filter(v => !!v.Precision) || [];\r\n columnInfo.length > 0 &&\r\n columnInfo.forEach(item => {\r\n const { Precision, FieldName } = item;\r\n if (Precision) precisionInfo[FieldName] = Precision;\r\n })\r\n }\r\n this.ms.setPrecisionInfo(precisionInfo);\r\n }\r\n\r\n handleSearchClick = () => {\r\n const { searchValue } = this.state;\r\n this.userSearch = true;\r\n this.currentPage = 1;\r\n this.setState({ nomoreData: false, selected: undefined });\r\n this.loadUserList('search', this.currentPage);\r\n }\r\n\r\n handleSearchChange = (val) => {\r\n this.setState({searchValue: val});\r\n }\r\n\r\n getCardRender = (item = {}, key, IsEnableUMember, precisionInfo = {}) => {\r\n const {\r\n ID, Name, Mobilephone, CardCode, BalanceIntegral, BalanceStorage, MemberType = {},\r\n IsFocusUmember, UmemberLabel = '', ImageFile, ExpirationDate = '', isExpiration, isUserLogout, UmemberOpenId\r\n } = item;\r\n const iconItems = this.getMemberStateStamp(item);\r\n const labels = UmemberLabel ? UmemberLabel.split(',') : [];\r\n const defaultAvatar = 'https://newretail.static.chanjet.com/default_avatar.png';\r\n const {selected, isCC} = this.state;\r\n const isSelected = selected === key;\r\n return (\r\n <div key={key} className={`swiper-slide member-item-slide ${isSelected ? 'slide-selected' : ''}`} onClick={() => this.loadUserInfo(key, ID, item)}>\r\n {\r\n iconItems && iconItems.length > 0 &&\r\n <div className='memberstate-stamp'>\r\n {iconItems}\r\n </div>\r\n }\r\n <div className='card-avatar'>\r\n <div className='avatar-box'>\r\n <img src={ImageFile || defaultAvatar} width={60} height={60}/>\r\n {IsEnableUMember && <div className={`avatar-bage ${UmemberOpenId ? 'bage-follow' : ''}`}>\r\n <div className='avatar-bage-scale'>{UmemberOpenId ? '已关注' : '未关注'}</div>\r\n </div>}\r\n </div>\r\n </div>\r\n <div className='member-level'>\r\n <span>{MemberType.Name}</span>\r\n </div>\r\n <div className='member-info-container'>\r\n <div className='member-infos'>\r\n <h1 className='member-info-name'>{Name}</h1>\r\n <p className='member-phone'>{Mobilephone || CardCode}</p>\r\n </div>\r\n <div className='member-money'>\r\n <div className='score'>\r\n <span>{formatPrecision(BalanceIntegral, precisionInfo.BalanceIntegral)}积分</span>\r\n </div>\r\n <div className='balance'>\r\n <span>{BalanceStorage ? formatPrecision(BalanceStorage, precisionInfo.BalanceStorage) : 0}余额</span>\r\n </div>\r\n </div>\r\n {IsEnableUMember && <div className='member-tag'>\r\n {labels.map((item, key) => <span key={key}>{item}</span>)}\r\n </div>}\r\n </div>\r\n {isSelected && <div className='member-selected-icon'>\r\n <div className='member-selected-icon-arrow'>\r\n <Ticon type='huiyuanxuanzhong' />\r\n </div>\r\n </div>}\r\n </div>\r\n );\r\n };\r\n\r\n usersLoadSuccess = (data = [], type, pageSize = 10) => {\r\n const {status} = this.props;\r\n const { selected } = this.state;\r\n if (this.willUnmount) return;\r\n if (data.length) {\r\n data.forEach(v => userInfoFormat(v));\r\n\r\n if (type === 'loadmore') {\r\n const {memberList = []} = this.state;\r\n memberList.push(...data);\r\n return this.setState({nomoreData: data.length < pageSize, loadmoreLoading: false, memberList});\r\n }\r\n this.setState({memberList: data}, () => {\r\n if (type === 'search') {\r\n this.resetSlideTop();\r\n }\r\n const [item = {}] = data;\r\n // const key=type==='opencard'?(selected-(this.currentPage-1)*pageSize):0;\r\n // const item =data[key];\r\n this.loadUserInfo(0, item.ID, item, type);\r\n });\r\n } else if (type === 'loadmore') {\r\n this.setState({nomoreData: true, loadmoreLoading: false});\r\n } else {\r\n Loading.hide();\r\n this.setState({\r\n memberList: [],\r\n recommend: [],\r\n member: {},\r\n memberInfo: {record: [], like: [], recency: []}\r\n }, () => {\r\n if (type === 'search') {\r\n this.resetSlideTop();\r\n }\r\n });\r\n }\r\n }\r\n\r\n resetSlideTop = () => {\r\n if (memberSwiper) {\r\n memberSwiper.slideTo(0, 0, false);\r\n }\r\n }\r\n\r\n //获取会员状态集合,在页面上以图片戳的形式展示。\r\n getMemberStateStamp = (item) => {\r\n let arr = [];\r\n const { isExpiration, isUserLogout, isUserLoss, isUserNotUsing } = item;\r\n //已挂失\r\n if (isUserLoss) arr.push(<Ticon type='yiguashi' />)\r\n //已过期\r\n if (isExpiration) arr.push(<Ticon type='yiguoqi' />)\r\n //已注销\r\n if (isUserLogout) arr.push(<Ticon type='yizhuxiao' />)\r\n //未启用\r\n if (isUserNotUsing) arr.push(<Ticon type='weiqiyong' />)\r\n return arr;\r\n }\r\n\r\n handleOk = (nomemberList) => {\r\n const { member, errorMsg } = this.state;\r\n const { isExpiration, MemberState: { Id, Name } = {} } = member || {};\r\n if (nomemberList) {\r\n return this.props.onCancel();\r\n }\r\n if (errorMsg) return Message.warn(errorMsg);\r\n if (errMessageTip(member)) return;\r\n const { data: { Member: {ID} = {} } = {}, items = [] } = this.context.viewModel || {};\r\n\r\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\r\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\r\n if (isTakeTheir) {\r\n Message.warn('自提时不可以切换选择会员');\r\n return;\r\n }\r\n\r\n //会员不可更改判断\r\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\r\n const uiState = memberStore.uiState;\r\n if (!!uiState.tip) {\r\n Message.info(uiState.tip)\r\n return;\r\n }\r\n if (ID) {\r\n const _this = this;\r\n return ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '切换会员',\r\n content: '您确定要替换当前会员吗?',\r\n onOk() {\r\n _this.handleChangeMember(member)\r\n }\r\n })\r\n }\r\n this.handleChangeMember(member)\r\n }\r\n\r\n handleChangeMember = (member) => {\r\n const { onOk, memberChange, selectMemberSuccess, getMemberBirthday } = this.props;\r\n stores.selectMemberStore.seletMember(member, true);\r\n memberChange && memberChange(member)\r\n onOk && onOk();\r\n getMemberBirthday && getMemberBirthday(member.ID, (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n })\r\n //商品输入框焦点。\r\n setTimeout(() => { selectMemberSuccess && selectMemberSuccess(member) }, 300)\r\n }\r\n\r\n keyboardOnOk = () => {\r\n this.handleSearchClick();\r\n }\r\n\r\n keyboardOnClose = () => {\r\n this.searchRef && this.searchRef.blur();\r\n }\r\n\r\n onKeyPressed = (e) => {\r\n const { keyCode } = e;\r\n const enterKey = 13;\r\n if (keyCode === enterKey) {\r\n this.handleSearchClick();\r\n this.keyboardOnClose();\r\n }\r\n }\r\n\r\n memberTabChange = (tabIndex) => {\r\n this.setState({tabIndex});\r\n const currentUserRetail = this.cacheUserRetail[this.currentMemberId];\r\n if (!currentUserRetail) {\r\n return this.loadUserRetail(this.currentMemberId);\r\n }\r\n this.setState({...currentUserRetail});\r\n const activeElement = document.activeElement;\r\n activeElement && activeElement.blur()\r\n }\r\n\r\n MemberMenuChange = (dto) => {\r\n const { memberList } = this.state;\r\n userInfoFormat(dto)\r\n let arr = [];\r\n memberList.map(item => {\r\n if (item.ID == dto.ID) {\r\n arr.push(dto)\r\n } else {\r\n arr.push(item)\r\n }\r\n })\r\n this.setState({ member: dto, memberList: arr })\r\n }\r\n\r\n onClear = (key, input) => {\r\n this.setState({[key]: ''});\r\n input.focus();\r\n }\r\n\r\n changeIsAllAuthority = () => {\r\n this.setState({\r\n isAllAuthority: false\r\n })\r\n }\r\n\r\n render() {\r\n const user = JSON.parse(localStorage.getItem('user')) || {};\r\n const { loginInfo: { IsEnableUMember } = {} } = user;\r\n const { searchValue, memberList = [], memberInfo = {}, member = {}, recommend = [], memberTabHeight = 0,\r\n loadmoreLoading, nomoreData, initEmpty, columnInfo = [], loadingUser, loadingBtn, selected, isAllAuthority } = this.state;\r\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, viewMemberInfo, authProcess, mode } = this.props;\r\n const { precisionInfo = {} } = this.ms;\r\n const showSearch = ['会员查询'].includes(type);\r\n const nomemberList = !memberList.length;\r\n const showSelectBtn = type === '会员查询' || !!status;\r\n //是否正常开单\r\n let voucherStateType = (mode !== 'practice');\r\n const { memberEnumState } = enumController.getEnumOj();\r\n return (\r\n <div className='memberShopContainer'>\r\n {\r\n showSearch &&\r\n <div className='search-container'>\r\n <Input\r\n tplusInput\r\n placeholder='手机号/卡号/名称/身份证号'\r\n prefix='sousuo'\r\n className={hotKey.hotKeyNotFilter('search-input')}\r\n value={searchValue}\r\n type='native'\r\n onChange={({ target: { value: searchValue } }) => this.setState({ searchValue })}\r\n inputRef={ref => this.searchRef = ref}\r\n onClear={() => this.onClear('searchValue', this.searchRef)}\r\n onFocus={({ target }) => {\r\n this.focusInputName = 'searchValue';\r\n this.inputTarget = target;\r\n Keyboard.open(v => {\r\n const key = this.focusInputName;\r\n const value = Keyboard.getNewValue(this.inputTarget, this.inputTarget.value, v);\r\n this.setState({ [key]: value });\r\n }, this.keyboardOnOk, this.keyboardOnClose)();\r\n }}\r\n onBlur={Keyboard.close}\r\n onKeyDown={this.onKeyPressed}\r\n />\r\n <Button className='primary-btn' onClick={this.handleSearchClick}>搜索</Button>\r\n </div>\r\n }\r\n <div ref={ref => this.memberTab = ref} className={hotKey.hotKeyBindClass('4', 'member-shop-content')}>\r\n {\r\n this.dataLoaded && nomemberList && <div className='empty-data-img' />\r\n }\r\n <div className='member-card-list-side' style={{ display: nomemberList ? 'none' : 'block' }}>\r\n <div className=\"swiper-member-container\" style={{ height: '100%' }}>\r\n <div className=\"swiper-wrapper\">\r\n {memberList.map((value, key) => this.getCardRender(value, key, IsEnableUMember, precisionInfo))}\r\n {!memberList.length && <span className='empty-data-tip' style={{ marginTop: 30 }}>没有相关数据~</span>}\r\n {loadmoreLoading && <span className='empty-data-tip empty-data-tip-member-card'>数据加载中 ...</span>}\r\n {nomoreData && <span className='empty-data-tip empty-data-tip-member-card'>没有更多数据了~</span>}\r\n </div>\r\n <div className=\"swiper-scrollbar\" />\r\n </div>\r\n </div>\r\n <div className='member-content-tab content' style={{ display: nomemberList ? 'none' : 'flex' }}>\r\n {\r\n (voucherStateType && !isAllAuthority) &&\r\n <div>\r\n <div className='menu'>\r\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>\r\n </div>\r\n <div className='line'></div>\r\n </div>\r\n }\r\n <MemberTab\r\n defaultActiveKey={defaultActiveKey}\r\n member={member}\r\n memberInfo={memberInfo}\r\n showModal={showModal}\r\n titleModal={titleModal}\r\n recommend={recommend}\r\n memberTabHeight={memberTabHeight}\r\n initEmpty={initEmpty}\r\n memberList={memberList}\r\n columnInfo={columnInfo}\r\n precisionInfo={precisionInfo}\r\n onChange={this.memberTabChange}\r\n getMemberStateStamp={this.getMemberStateStamp}\r\n />\r\n </div>\r\n </div>\r\n <div className='member-footer'>\r\n <Button onClick={onCancel}>取消</Button>\r\n {\r\n showSelectBtn &&\r\n <Button\r\n onClick={() => this.handleOk(nomemberList)}\r\n type=\"primary\"\r\n style={{ marginRight: 5 }}\r\n disabled={loadingUser}\r\n >\r\n {\r\n loadingUser ? '加载会员' : nomemberList ? '确定' : '选取会员'\r\n }\r\n </Button>\r\n }\r\n </div>\r\n </div>\r\n )\r\n }\r\n}\r\n"]}
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';\r\nimport PropTypes from 'prop-types';\r\nimport { Button } from 'antd';\r\nimport { ModalWraper, Input, Loading, Message, Ticon, Keyboard, Spin, hotKey } from 'tplus-components-touch';\r\nimport { stores } from 'mutants-microfx';\r\nimport { enumController, platform } from 'mutants-util';\r\nimport memberStore from './api';\r\nimport MemberTab from './memberTab';\r\nimport Swiper from 'swiper/dist/js/swiper.js';\r\nimport 'swiper/dist/css/swiper.min.css';\r\nimport './ShopMember.less';\r\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\r\nimport MemberMenu from './memberMenu/index.js'\r\n\r\nlet memberSwiper;\r\nlet swiperSelectObserver;\r\n\r\nexport default class ShopMember extends Component {\r\n static defaultProps = {\r\n onCancel: () => {},\r\n onOk: () => {},\r\n };\r\n\r\n static contextTypes = {\r\n viewModel: PropTypes.object,\r\n columnInfo: PropTypes.array,\r\n };\r\n constructor(props) {\r\n super(props);\r\n const { mode } = this.props;\r\n let { isNewRetailBCPos } = platform || {};\r\n this.state = {\r\n searchValue: '',\r\n memberList: [],\r\n memberLength: 0,\r\n memberInfo: {\r\n record: [],\r\n like: [],\r\n recency: [],\r\n },\r\n searchStatus: !!this.props.listArr ? true : false,\r\n isCC: !!isNewRetailBCPos,\r\n tabIndex: this.props.defaultActiveKey,\r\n isAllAuthority: false,\r\n tabMenuHeight: mode !== 'practice' ? 64 : 0 // 64为table上部操作菜单高度\r\n };\r\n this.ms = memberStore;\r\n }\r\n\r\n currentPage = 1;\r\n cacheUserRetail = {};\r\n\r\n componentDidMount() {\r\n swiperSelectObserver = new IntersectionObserver(entries => {\r\n const { boundingClientRect: { height, bottom, top } = {}, intersectionRatio } = entries[0];\r\n if (intersectionRatio !== 1 && this.isHotKeyAction) {\r\n this.isHotKeyAction = false;\r\n\r\n bottom > height && memberSwiper.slideNext();\r\n // 解决向上滑动时top < 10 时距离问题\r\n if (top < -10) {\r\n top < height && memberSwiper.slidePrev() && memberSwiper.slidePrev()\r\n } else {\r\n top < height && memberSwiper.slidePrev()\r\n }\r\n }\r\n });\r\n\r\n window.addEventListener('resize', this.windowOnresize);\r\n const { viewMemberInfo, status, columnInfo } = this.props;\r\n if (viewMemberInfo) {\r\n if (status) {\r\n return this.loadUserListSuccess(viewMemberInfo);\r\n } else if (status === 0) { // status 0 为 查看会员详情\r\n columnInfo && this.precisionInfo(columnInfo); // 查看录入的会员查看详情时父级传递了 columnInfo props\r\n return this.usersLoadSuccess([viewMemberInfo], 'search');\r\n }\r\n const { Code } = viewMemberInfo;\r\n return this.loadUserList('init', undefined, undefined, true, Code);\r\n };\r\n this.loadUserList('init');\r\n $.on(this.hotKeyListener);\r\n\r\n this.ms.searchValue = '';//初始化完成筛选列表清空数据(会员新增成功——封涛)\r\n }\r\n\r\n componentDidUpdate() {\r\n const {memberList = [], memberLength, memberTabHeight, tabMenuHeight} = this.state;\r\n if (memberList.length !== memberLength) {\r\n this.setState({memberLength: memberList.length}, () => {\r\n if (memberSwiper) {\r\n return memberSwiper.updateSlides();\r\n }\r\n memberSwiper = new Swiper('.swiper-member-container', {\r\n direction: 'vertical',\r\n slidesPerView: 'auto',\r\n mousewheel: true,\r\n watchSlidesProgress : true,\r\n on: {\r\n progress: this.progressListen\r\n },\r\n scrollbar: {\r\n el: '.swiper-scrollbar',\r\n hide: true,\r\n },\r\n });\r\n });\r\n }\r\n const clientHeight = this.memberTab.clientHeight - tabMenuHeight;\r\n if (clientHeight !== memberTabHeight) {\r\n this.setState({memberTabHeight: clientHeight});\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n \r\n memberSwiper && memberSwiper.destroy(false);\r\n memberSwiper = undefined;\r\n this.willUnmount = true;\r\n\r\n window.removeEventListener('resize', this.windowOnresize);\r\n swiperSelectObserver.disconnect();\r\n $.off(this.hotKeyListener);\r\n }\r\n\r\n hotKeyListener = (nodeName, index) => {\r\n this.progressListen()\r\n if (nodeName && ~nodeName.className.indexOf('slide-selected')) {\r\n this.isHotKeyAction = true;\r\n const activeElement = document.activeElement;\r\n activeElement && activeElement.blur();\r\n }\r\n }\r\n\r\n observerCard = () => {\r\n setTimeout(() => {\r\n const slideSelected = document.querySelector('.slide-selected');\r\n this.prevSlideSelected && swiperSelectObserver.unobserve(this.prevSlideSelected);\r\n this.prevSlideSelected = slideSelected;\r\n slideSelected && swiperSelectObserver.observe(slideSelected);\r\n })\r\n }\r\n\r\n progressListen = (progress) => {\r\n const {selected} = this.state;\r\n\r\n const {memberList = []} = this.state;\r\n const {viewMemberInfo} = this.props;\r\n if (viewMemberInfo) return;\r\n const {loadmoreLoading, nomoreData, searchValue = ''} = this.state;\r\n // let newselect = (selected + 5) % 10\r\n if ((selected + 1) % 10 === 0 && !loadmoreLoading && !nomoreData) {\r\n this.currentPage += 1;\r\n this.loadUserList('loadmore', this.currentPage);\r\n }\r\n if (progress >= 1 && !loadmoreLoading && !nomoreData) {\r\n this.currentPage += 1;\r\n this.loadUserList('loadmore', this.currentPage);\r\n }\r\n\r\n }\r\n\r\n windowOnresize = () => {\r\n if (!this.memberTab) {\r\n return window.removeEventListener('resize', this.windowOnresize);\r\n };\r\n const {memberTabHeight} = this.state;\r\n const clientHeight = this.memberTab.clientHeight - this.state.tabMenuHeight;\r\n if (memberTabHeight !== clientHeight) {\r\n this.setState({memberTabHeight: clientHeight});\r\n }\r\n }\r\n\r\n isNotSetState = (Idmember) => {\r\n if (this.willUnmount || Idmember !== this.currentMemberId) return true;\r\n }\r\n\r\n loadUserInfo = (key, Idmember, item, type, syncUpdateMember) => {\r\n this.observerCard();\r\n\r\n const { selectChange, viewMemberInfo, memberChange } = this.props;\r\n const { selected, tabIndex = '1' } = this.state;\r\n if (key === selected && type !== true && type!=='opencard') return;\r\n Loading.hide();\r\n if (this.currentMemberId && !(this.cacheUserRetail[this.currentMemberId] || {}).recommend) {\r\n delete this.cacheUserRetail[this.currentMemberId];\r\n }\r\n this.currentMemberId = Idmember;\r\n\r\n if (this.userSearch || viewMemberInfo) {\r\n this.userSearch = false;\r\n this.setState({selected: key});\r\n }\r\n\r\n const {memberList = []} = this.state;\r\n\r\n this.memberTabChange(tabIndex);\r\n\r\n this.setState({ selected: key, member: memberList[key] || {}, loadingUser: true, loadingBtn: true });\r\n this.ms.getGetUmemberDTO(Idmember)\r\n .then(ret => {\r\n if (this.isNotSetState(Idmember)) return;\r\n const {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone,\r\n DynamicPropertyKeys = [], DynamicPropertyValues = []} = ret || {};\r\n const mergeKeys = {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone, DynamicPropertyKeys, DynamicPropertyValues};\r\n //const memberInfo = {...(memberList[key] || {}), ...mergeKeys};\r\n if (viewMemberInfo) {\r\n // 用接口中的 BalanceStorage MemberCouponTitle覆盖列表中的数据, 监听对象 使用action 设置值\r\n this.ms.setMemberKey(mergeKeys);\r\n } else {\r\n //设置会员列表中该会员的BalanceStorage值\r\n const currentMemberOfList = memberList.find(value => value.ID === Idmember) || {};\r\n Object.keys(mergeKeys).forEach(v => currentMemberOfList[v] = mergeKeys[v]);\r\n }\r\n userInfoFormat(ret)\r\n let arr = [];\r\n memberList.map(item => {\r\n if (item.ID === ret.ID) {\r\n arr.push(ret)\r\n } else {\r\n arr.push(item)\r\n }\r\n })\r\n this.setState({\r\n member: ret,\r\n initEmpty: true,\r\n memberList: arr,\r\n errorMsg: '',\r\n loadingUser: false,\r\n loadingBtn: false\r\n })\r\n stores.selectMemberStore.setCurMemberInfo(ret);\r\n selectChange && selectChange(item);\r\n // 更新当前选定的会员信息\r\n if (syncUpdateMember) {\r\n const { data: { Member: { ID } = {} } = {} } = this.context.viewModel || {};\r\n if (ID == ret.ID) {\r\n stores.selectMemberStore.seletMember(ret);\r\n memberChange && memberChange(ret)\r\n }\r\n }\r\n }).catch(err => {\r\n selectChange && selectChange({});\r\n if (this.isNotSetState(Idmember)) return;\r\n this.setState({\r\n member: memberList[key] || {},\r\n initEmpty: true,\r\n errorMsg: '会员信息获取失败,请重试',\r\n memberList,\r\n loadingBtn:false\r\n });\r\n });\r\n }\r\n\r\n loadUserRetail = (Idmember) => {\r\n const {tabIndex = '1'} = this.state;\r\n const {titleModal} = this.props;\r\n\r\n if (tabIndex !== '1' && ['会员详情', '到店会员', '人脸识别'].includes(titleModal)) {\r\n Loading.show({\r\n target: '.member-content-tab',\r\n node: <Spin scale={1.2} type='shape' visible/>,\r\n delay: false\r\n });\r\n }\r\n const {currentMemberId} = this.state;\r\n this.cacheUserRetail[Idmember] = {};\r\n this.ms.getMemberRetailDetail(Idmember)\r\n .then(ret => {\r\n // console.log(ret, '会员推荐&最近购买数据')\r\n Loading.hide();\r\n if (this.isNotSetState(Idmember)) return;\r\n const {Like, Record, Recency, RecommendList = []} = ret || {};\r\n const recommend = RecommendList;\r\n const memberInfo = {record: Record, like: Like, recency: Recency};\r\n\r\n this.setState({recommend, memberInfo});\r\n this.cacheUserRetail[Idmember] = {recommend, memberInfo};\r\n\r\n })\r\n .catch(err => {\r\n delete this.cacheUserRetail[Idmember];\r\n if (this.isNotSetState(Idmember)) return;\r\n this.setState({\r\n recommend: [],\r\n memberInfo: {},\r\n });\r\n Loading.hide();\r\n });\r\n }\r\n\r\n loadUserList = (type, currentPage = 1, pageSize = 10, isSingleMember = false, searchId) => {\r\n const { searchValue, searchStatus } = this.state;\r\n const { status, listArr } = this.props;\r\n if (!this.ms) return;\r\n if (type === 'init') {\r\n let inputValue = this.ms && this.ms.searchValue;\r\n if (inputValue) {\r\n this.setState({ searchValue: inputValue })\r\n setTimeout(() => { this.keyboardOnClose() }, 310)\r\n }\r\n }\r\n if (type === 'loadmore') {\r\n this.setState({ loadmoreLoading: true });\r\n } else {\r\n Loading.show({ target: '.memberShopContainer' });\r\n }\r\n if (type === 'opencard') {\r\n currentPage = this.currentPage;\r\n }\r\n if (searchStatus) {\r\n let arr = listArr.slice(0);\r\n // stores.memberStore.searchInfoList.map((value) => {\r\n // arr.push(value)\r\n // })\r\n this.setState({\r\n searchStatus: false,\r\n memberList: arr\r\n }, () => {\r\n const { memberList } = this.state;\r\n this.loadUserListSuccess(memberList, 's', memberList.length);\r\n Loading.hide();\r\n })\r\n return;\r\n }\r\n this.ms.getSearchMember({\r\n currentPage,\r\n pageSize,\r\n key: this.ms.searchValue || searchValue || searchId,\r\n isSingleMember: this.ms.searchValue ? true : isSingleMember\r\n })\r\n .then(ret => {\r\n this.loadUserListSuccess(ret, type, pageSize);\r\n Loading.hide();\r\n })\r\n .catch(err => Loading.hide());\r\n }\r\n\r\n loadUserListSuccess = (ret, type, pageSize) => {\r\n this.dataLoaded = true;\r\n const { ColumnInfo, Data } = ret || {};\r\n this.setState({ columnInfo: ColumnInfo});\r\n this.precisionInfo(ColumnInfo);\r\n this.usersLoadSuccess(type === 's' ? ret : JSON.parse(Data), type, pageSize);\r\n }\r\n\r\n precisionInfo = (columnInfo) => {\r\n const precisionInfo = {};\r\n if (columnInfo && columnInfo.length > 0) {\r\n columnInfo = columnInfo.filter(v => !!v.Precision) || [];\r\n columnInfo.length > 0 &&\r\n columnInfo.forEach(item => {\r\n const { Precision, FieldName } = item;\r\n if (Precision) precisionInfo[FieldName] = Precision;\r\n })\r\n }\r\n this.ms.setPrecisionInfo(precisionInfo);\r\n }\r\n\r\n handleSearchClick = () => {\r\n const { searchValue } = this.state;\r\n this.userSearch = true;\r\n this.currentPage = 1;\r\n this.setState({ nomoreData: false, selected: undefined });\r\n this.loadUserList('search', this.currentPage);\r\n }\r\n\r\n handleSearchChange = (val) => {\r\n this.setState({searchValue: val});\r\n }\r\n\r\n getCardRender = (item = {}, key, IsEnableUMember, precisionInfo = {}) => {\r\n const {\r\n ID, Name, Mobilephone, CardCode, BalanceIntegral, BalanceStorage, MemberType = {},\r\n IsFocusUmember, UmemberLabel = '', ImageFile, ExpirationDate = '', isExpiration, isUserLogout, UmemberOpenId\r\n } = item;\r\n const iconItems = this.getMemberStateStamp(item);\r\n const labels = UmemberLabel ? UmemberLabel.split(',') : [];\r\n const defaultAvatar = 'https://newretail.static.chanjet.com/default_avatar.png';\r\n const {selected, isCC} = this.state;\r\n const isSelected = selected === key;\r\n return (\r\n <div key={key} className={`swiper-slide member-item-slide ${isSelected ? 'slide-selected' : ''}`} onClick={() => this.loadUserInfo(key, ID, item)}>\r\n {\r\n iconItems && iconItems.length > 0 &&\r\n <div className='memberstate-stamp'>\r\n {iconItems}\r\n </div>\r\n }\r\n <div className='card-avatar'>\r\n <div className='avatar-box'>\r\n <img src={ImageFile || defaultAvatar} width={60} height={60}/>\r\n {IsEnableUMember && <div className={`avatar-bage ${UmemberOpenId ? 'bage-follow' : ''}`}>\r\n <div className='avatar-bage-scale'>{UmemberOpenId ? '已关注' : '未关注'}</div>\r\n </div>}\r\n </div>\r\n </div>\r\n <div className='member-level'>\r\n <span>{MemberType.Name}</span>\r\n </div>\r\n <div className='member-info-container'>\r\n <div className='member-infos'>\r\n <h1 className='member-info-name'>{Name}</h1>\r\n <p className='member-phone'>{Mobilephone || CardCode}</p>\r\n </div>\r\n <div className='member-money'>\r\n <div className='score'>\r\n <span>{formatPrecision(BalanceIntegral, precisionInfo.BalanceIntegral)}积分</span>\r\n </div>\r\n <div className='balance'>\r\n <span>{BalanceStorage ? formatPrecision(BalanceStorage, precisionInfo.BalanceStorage) : 0}余额</span>\r\n </div>\r\n </div>\r\n {IsEnableUMember && <div className='member-tag'>\r\n {labels.map((item, key) => <span key={key}>{item}</span>)}\r\n </div>}\r\n </div>\r\n {isSelected && <div className='member-selected-icon'>\r\n <div className='member-selected-icon-arrow'>\r\n <Ticon type='huiyuanxuanzhong' />\r\n </div>\r\n </div>}\r\n </div>\r\n );\r\n };\r\n\r\n usersLoadSuccess = (data = [], type, pageSize = 10) => {\r\n const {status} = this.props;\r\n const { selected } = this.state;\r\n if (this.willUnmount) return;\r\n if (data.length) {\r\n data.forEach(v => userInfoFormat(v));\r\n\r\n if (type === 'loadmore') {\r\n const {memberList = []} = this.state;\r\n memberList.push(...data);\r\n return this.setState({nomoreData: data.length < pageSize, loadmoreLoading: false, memberList});\r\n }\r\n this.setState({memberList: data}, () => {\r\n if (type === 'search') {\r\n this.resetSlideTop();\r\n }\r\n const [item = {}] = data;\r\n // const key=type==='opencard'?(selected-(this.currentPage-1)*pageSize):0;\r\n // const item =data[key];\r\n this.loadUserInfo(0, item.ID, item, type);\r\n });\r\n } else if (type === 'loadmore') {\r\n this.setState({nomoreData: true, loadmoreLoading: false});\r\n } else {\r\n Loading.hide();\r\n this.setState({\r\n memberList: [],\r\n recommend: [],\r\n member: {},\r\n memberInfo: {record: [], like: [], recency: []}\r\n }, () => {\r\n if (type === 'search') {\r\n this.resetSlideTop();\r\n }\r\n });\r\n }\r\n }\r\n\r\n resetSlideTop = () => {\r\n if (memberSwiper) {\r\n memberSwiper.slideTo(0, 0, false);\r\n }\r\n }\r\n\r\n //获取会员状态集合,在页面上以图片戳的形式展示。\r\n getMemberStateStamp = (item) => {\r\n let arr = [];\r\n const { isExpiration, isUserLogout, isUserLoss, isUserNotUsing } = item;\r\n //已挂失\r\n if (isUserLoss) arr.push(<Ticon type='yiguashi' />)\r\n //已过期\r\n if (isExpiration) arr.push(<Ticon type='yiguoqi' />)\r\n //已注销\r\n if (isUserLogout) arr.push(<Ticon type='yizhuxiao' />)\r\n //未启用\r\n if (isUserNotUsing) arr.push(<Ticon type='weiqiyong' />)\r\n return arr;\r\n }\r\n\r\n handleOk = (nomemberList) => {\r\n const { member, errorMsg } = this.state;\r\n const { isExpiration, MemberState: { Id, Name } = {} } = member || {};\r\n if (nomemberList) {\r\n return this.props.onCancel();\r\n }\r\n if (errorMsg) return Message.warn(errorMsg);\r\n if (errMessageTip(member)) return;\r\n const { data: { Member: {ID} = {} } = {}, items = [] } = this.context.viewModel || {};\r\n\r\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\r\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\r\n if (isTakeTheir) {\r\n Message.warn('自提时不可以切换选择会员');\r\n return;\r\n }\r\n\r\n //会员不可更改判断\r\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\r\n const uiState = memberStore.uiState;\r\n if (!!uiState.tip) {\r\n Message.info(uiState.tip)\r\n return;\r\n }\r\n if (ID) {\r\n const _this = this;\r\n return ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '切换会员',\r\n content: '您确定要替换当前会员吗?',\r\n onOk() {\r\n _this.handleChangeMember(member)\r\n }\r\n })\r\n }\r\n this.handleChangeMember(member)\r\n }\r\n\r\n handleChangeMember = (member) => {\r\n const { onOk, memberChange, selectMemberSuccess, getMemberBirthday } = this.props;\r\n stores.selectMemberStore.seletMember(member, true);\r\n memberChange && memberChange(member)\r\n onOk && onOk();\r\n getMemberBirthday && getMemberBirthday(member.ID, (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n })\r\n //商品输入框焦点。\r\n setTimeout(() => { selectMemberSuccess && selectMemberSuccess(member) }, 300)\r\n }\r\n\r\n keyboardOnOk = () => {\r\n this.handleSearchClick();\r\n }\r\n\r\n keyboardOnClose = () => {\r\n this.searchRef && this.searchRef.blur();\r\n }\r\n\r\n onKeyPressed = (e) => {\r\n const { keyCode } = e;\r\n const enterKey = 13;\r\n if (keyCode === enterKey) {\r\n this.handleSearchClick();\r\n this.keyboardOnClose();\r\n }\r\n }\r\n\r\n memberTabChange = (tabIndex) => {\r\n this.setState({tabIndex});\r\n const currentUserRetail = this.cacheUserRetail[this.currentMemberId];\r\n if (!currentUserRetail) {\r\n return this.loadUserRetail(this.currentMemberId);\r\n }\r\n this.setState({...currentUserRetail});\r\n const activeElement = document.activeElement;\r\n activeElement && activeElement.blur()\r\n }\r\n\r\n MemberMenuChange = (dto) => {\r\n const { memberList } = this.state;\r\n userInfoFormat(dto)\r\n let arr = [];\r\n memberList.map(item => {\r\n if (item.ID == dto.ID) {\r\n arr.push(dto)\r\n } else {\r\n arr.push(item)\r\n }\r\n })\r\n this.setState({ member: dto, memberList: arr })\r\n }\r\n\r\n onClear = (key, input) => {\r\n this.setState({[key]: ''});\r\n input.focus();\r\n }\r\n\r\n changeIsAllAuthority = () => {\r\n this.setState({\r\n isAllAuthority: false\r\n })\r\n }\r\n\r\n render() {\r\n const isUserAndroidKey = !! window.android_setKeyBoard;\r\n\r\n const user = JSON.parse(localStorage.getItem('user')) || {};\r\n const { loginInfo: { IsEnableUMember } = {} } = user;\r\n const { searchValue, memberList = [], memberInfo = {}, member = {}, recommend = [], memberTabHeight = 0,\r\n loadmoreLoading, nomoreData, initEmpty, columnInfo = [], loadingUser, loadingBtn, selected, isAllAuthority } = this.state;\r\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, viewMemberInfo, authProcess, mode } = this.props;\r\n const { precisionInfo = {} } = this.ms;\r\n const showSearch = ['会员查询'].includes(type);\r\n const nomemberList = !memberList.length;\r\n const showSelectBtn = type === '会员查询' || !!status;\r\n //是否正常开单\r\n let voucherStateType = (mode !== 'practice');\r\n const { memberEnumState } = enumController.getEnumOj();\r\n return (\r\n <div className='memberShopContainer'>\r\n {\r\n showSearch &&\r\n <div className='search-container'>\r\n <Input\r\n tplusInput\r\n placeholder='手机号/卡号/名称/身份证号'\r\n prefix='sousuo'\r\n className={`${hotKey.hotKeyNotFilter('search-input')} android_focus_keyboard`}\r\n value={searchValue}\r\n type='native'\r\n onChange={({ target: { value: searchValue } }) => this.setState({ searchValue })}\r\n inputRef={ref => this.searchRef = ref}\r\n onClear={() => this.onClear('searchValue', this.searchRef)}\r\n onFocus={({ target }) => {\r\n if(!isUserAndroidKey ){\r\n this.focusInputName = 'searchValue';\r\n this.inputTarget = target;\r\n Keyboard.open(v => {\r\n const key = this.focusInputName;\r\n const value = Keyboard.getNewValue(this.inputTarget, this.inputTarget.value, v);\r\n this.setState({ [key]: value });\r\n }, this.keyboardOnOk, this.keyboardOnClose)();\r\n }\r\n }}\r\n onBlur={Keyboard.close}\r\n onKeyDown={this.onKeyPressed}\r\n />\r\n <Button className='primary-btn' onClick={this.handleSearchClick}>搜索</Button>\r\n </div>\r\n }\r\n <div ref={ref => this.memberTab = ref} className={hotKey.hotKeyBindClass('4', 'member-shop-content')}>\r\n {\r\n this.dataLoaded && nomemberList && <div className='empty-data-img' />\r\n }\r\n <div className='member-card-list-side' style={{ display: nomemberList ? 'none' : 'block' }}>\r\n <div className=\"swiper-member-container\" style={{ height: '100%' }}>\r\n <div className=\"swiper-wrapper\">\r\n {memberList.map((value, key) => this.getCardRender(value, key, IsEnableUMember, precisionInfo))}\r\n {!memberList.length && <span className='empty-data-tip' style={{ marginTop: 30 }}>没有相关数据~</span>}\r\n {loadmoreLoading && <span className='empty-data-tip empty-data-tip-member-card'>数据加载中 ...</span>}\r\n {nomoreData && <span className='empty-data-tip empty-data-tip-member-card'>没有更多数据了~</span>}\r\n </div>\r\n <div className=\"swiper-scrollbar\" />\r\n </div>\r\n </div>\r\n <div className='member-content-tab content' style={{ display: nomemberList ? 'none' : 'flex' }}>\r\n {\r\n (voucherStateType && !isAllAuthority) &&\r\n <div>\r\n <div className='menu'>\r\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>\r\n </div>\r\n <div className='line'></div>\r\n </div>\r\n }\r\n <MemberTab\r\n defaultActiveKey={defaultActiveKey}\r\n member={member}\r\n memberInfo={memberInfo}\r\n showModal={showModal}\r\n titleModal={titleModal}\r\n recommend={recommend}\r\n memberTabHeight={memberTabHeight}\r\n initEmpty={initEmpty}\r\n memberList={memberList}\r\n columnInfo={columnInfo}\r\n precisionInfo={precisionInfo}\r\n onChange={this.memberTabChange}\r\n getMemberStateStamp={this.getMemberStateStamp}\r\n />\r\n </div>\r\n </div>\r\n <div className='member-footer'>\r\n <Button onClick={onCancel}>取消</Button>\r\n {\r\n showSelectBtn &&\r\n <Button\r\n onClick={() => this.handleOk(nomemberList)}\r\n type=\"primary\"\r\n style={{ marginRight: 5 }}\r\n disabled={loadingUser}\r\n >\r\n {\r\n loadingUser ? '加载会员' : nomemberList ? '确定' : '选取会员'\r\n }\r\n </Button>\r\n }\r\n </div>\r\n </div>\r\n )\r\n }\r\n}\r\n"]}
@@ -138,6 +138,7 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
138
138
  isHorizontalSunMi = _ref2.isHorizontalSunMi;
139
139
 
140
140
  _this2.isHorizontalPad = !!isHorizontalPad;
141
+ _this2.isHorizontalSunMi = !!isHorizontalSunMi;
141
142
  _this2.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;
142
143
  _this2.handleReadICard = _this2.handleReadICard.bind(_this2);
143
144
 
@@ -832,11 +833,8 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
832
833
  }
833
834
  };
834
835
 
835
- this.SetKeyBoardDisplay = function (value) {
836
- _this7.isHorizontalSunMi && window.android_setKeyBoard && window.android_setKeyBoard.SetKeyBoardDisplay(value);
837
- };
838
-
839
836
  this.searchMember = function (val, type) {
837
+ if (!_mutantsMicrofx.stores.offlineSys.shouldInOffline()) return;
840
838
  if (!_this7.ms || _this7.searchLoading) return;
841
839
  var searchValue = _this7.state.searchValue;
842
840
 
@@ -876,13 +874,10 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
876
874
  memberSearched && memberSearched(info, 'searched');
877
875
  if (info) {
878
876
  if (data.length > 1) {
879
- _this7.SetKeyBoardDisplay(1);
880
877
  _mutantsMicrofx.stores.drawerStore.init({
881
878
  title: '会员管理',
882
879
  key: 'member',
883
- onHide: function onHide() {
884
- _this7.SetKeyBoardDisplay(0);
885
- },
880
+ onHide: function onHide() {},
886
881
  listArr: data
887
882
  });
888
883
  _this7.setState({
@@ -898,6 +893,9 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
898
893
  }, 0);
899
894
  _this7.handleBlur();
900
895
  selectMemberSuccess && selectMemberSuccess();
896
+ getMemberBirthday && getMemberBirthday(info.ID, function (result) {
897
+ _mutantsMicrofx.stores.selectMemberStore.changeMemberCare(result);
898
+ });
901
899
  }
902
900
  } else {
903
901
  if (type === 'ok') {
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/index.js"],"names":["hasElectron","env","platform","constant","electron","emptyMemberImage","memberBirthday","currentMember","MemberTag","observer","props","localStore","get","loginInfo","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","stores","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","blur","close2","readRfCard","SetKeyBoardDisplay","android_setKeyBoard","searchLoading","trim","getMemberBirthday","getMeStorageCard","getSearchMember","currentPage","pageSize","key","isSingleMember","then","ColumnInfo","Data","IsStorage","drawerStore","init","onHide","listArr","catch","keyCode","stime","etime","Date","member","MemberCouponCount","couponKey","DynamicPropertyKeys","DynamicPropertyValues","couponIndex","findIndex","loadInStoreMember","String","tipMessage","console","log","err","startScan","getMemberBirthdayInfo","changeMemberCare"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * @memberChange member 状态发生变化时的回调\r\n * @memberSearched 录入框会员状态发生变化时的回调 memberSearched(value, type) // type: searched 触发搜索 | err 搜索接口错误 | close 关闭会员\r\n *\r\n */\r\nimport React, { Component, Fragment } from 'react';\r\nimport { Button, Input } from 'antd';\r\nimport { observer } from 'mobx-react';\r\nimport { toJS } from 'mobx';\r\nimport PropTypes from 'prop-types'\r\nimport { Ticon, Message, ModalWraper, Spin, Keyboard,Scan } from 'tplus-components-touch';\r\nimport { env, nativeMs, localStore } from 'mutants-microfx';\r\nimport { Action } from 'mutants-appfx'\r\nimport { platform, enumController } from 'mutants-util';\r\nimport MemberModal from './MemberShow';\r\nimport MemberPhoto from './MemberPhoto';\r\nimport memberStore from './api';\r\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\r\nimport './index.less';\r\nimport { stores } from 'mutants-microfx';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\n//定义默认头像值。\r\nconst emptyMemberImage = 'https://newretail.static.chanjet.com/default_avatar.png';\r\nconst memberBirthday = 'https://newretail.static.chanjet.com/pictures/member_birthday.png';\r\nlet currentMember;\r\n\r\n@observer\r\nclass MemberTag extends Component {\r\n\r\n state = {\r\n searchValue: '',\r\n titleModal: '',\r\n memberShow: false,\r\n memberPhoto: false,\r\n searchVisible: false,\r\n shopPerson: 0,\r\n status: 2, // 0会员详情、1到店会员、2人脸识别\r\n dtMember: {}, // 会员信息\r\n connectCardStatus: false, //连接IC卡状态\r\n connectCardError: '', //连接IC卡错误后记录错误信息\r\n isMemberCare: false,\r\n isMemberCareModal: false\r\n };\r\n\r\n static propTypes = {\r\n memberChange: PropTypes.func,\r\n memberSearched: PropTypes.func,\r\n }\r\n\r\n static contextTypes = {\r\n onEvent:PropTypes.func,\r\n viewModel: PropTypes.object,\r\n }\r\n\r\n static defaultProps = {\r\n memberChange: () => { },\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.hasElectron = hasElectron;\r\n const { loginInfo: { isMemberInputType, MemberMeStorageCardInputByKeyBoard, OpenFaceRecognition, ICCardServer, ICCardPassword } = {} } = localStore.get('user') || {};\r\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\r\n this.isStorageCardInputType = MemberMeStorageCardInputByKeyBoard; // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用\r\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\r\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\r\n this.iCCardPassword = ICCardPassword; //IC卡密码\r\n this.ms = memberStore;\r\n //移动端环境下,没有读取IC卡的方式。\r\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\r\n this.isHorizontalPad = !!isHorizontalPad;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n this.handleReadICard = this.handleReadICard.bind(this);\r\n\r\n //记录键盘录入信息的开始时间\r\n this.keypressStime = null;\r\n this.iseyboardKEnter = false; //是否为键盘输入\r\n let { isNewRetailBCPos } = platform || {};\r\n this.state = {\r\n isCC: !!isNewRetailBCPos,\r\n isShowBirthdayTip: false,\r\n };\r\n }\r\n\r\n componentWillReact() {\r\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\r\n const { selectMemberInfo = {}, isClear = false } = this.ms;\r\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\r\n\r\n const memberChange = (data) => {\r\n this.setState({newAvatar: ''});\r\n this.props.memberChange(data);\r\n }\r\n if (typeof memberChangeData === 'object') {\r\n const deepCloneMember = JSON.parse(JSON.stringify(memberChangeData));\r\n if (!currentMember) {\r\n currentMember = deepCloneMember;\r\n memberChange(memberChangeData);\r\n } else if (currentMember.ID !== memberChangeData.ID) {\r\n memberChange(memberChangeData);\r\n currentMember = deepCloneMember;\r\n } else if (!dtMember.ID && (currentMember || {}).ID) { // DataModel 中清掉member,手动同步 member\r\n currentMember = undefined;\r\n this.ms.clearSeletMember();\r\n }\r\n } else if (currentMember && !memberChangeData) {\r\n memberChange(memberChangeData);\r\n currentMember = undefined;\r\n } else if (dtMember.ID && !(currentMember || {}).ID) { // DataModel 中存在member,手动同步 member\r\n const deepCloneMember = JSON.parse(JSON.stringify(dtMember));\r\n currentMember = deepCloneMember;\r\n this.ms.seletMember(dtMember);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n stores.selectMemberStore && stores.selectMemberStore.clearMemberCare()\r\n this.connectRfCard();\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.windowOnresize);\r\n this.closeRfCard();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n //接受socket传递过来的信息\r\n let { isSendMessage } = nextProps;\r\n if (isSendMessage === true) this.getInStoreMemberCount()\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n resetInShopMemberTimer = (count) => {\r\n this.timer && clearTimeout(this.timer);\r\n if (!count) return;\r\n const time = 5 * 60 * 1000;\r\n this.timer = setTimeout(() => {\r\n this.getInStoreMemberCount();\r\n }, time);\r\n }\r\n //IC卡连接\r\n connectRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\r\n let result = {}\r\n if (ret.status === 0) {\r\n result = { connectCardStatus: false, connectCardError: ret.value }\r\n } else {\r\n result = { connectCardStatus: true, connectCardError: '' };\r\n }\r\n this.setState(result)\r\n })\r\n }\r\n }\r\n\r\n //IC卡读取\r\n readRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n const { connectCardStatus, connectCardError } = this.state;\r\n if (connectCardStatus === false) {\r\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n }\r\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\r\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\r\n if (ret.status === 0) {\r\n Message.error(ret.value);\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n } else if (ret.status === 1) {\r\n this.searchMember(ret.value);\r\n }\r\n })\r\n }\r\n }\r\n\r\n //IC卡关闭\r\n closeRfCard(){\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('CloseRfCard')\r\n }\r\n }\r\n\r\n openPhotoModal = () => {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (!isNewRetailBCPos) {\r\n if (!this.openFaceRecognition) {\r\n Message.warn('未启用人脸识别,需要先开启人脸识别功能');\r\n return;\r\n }\r\n this.setState({\r\n memberPhoto: true,\r\n titleModal: '选择头像'\r\n })\r\n }\r\n }\r\n\r\n openShowModal = (status, res) => {\r\n let title = '';\r\n const { data: { Member = {} } = {} } = this.context.viewModel || {};\r\n const {newAvatar} = this.state;\r\n const jsMember = toJS(Member);\r\n const updateMember = newAvatar ? {...jsMember, ImageFile: newAvatar} : jsMember;\r\n switch (status) {\r\n case 0:\r\n title = '会员详情';\r\n this.setState({ viewMemberInfo: updateMember })\r\n break;\r\n case 1:\r\n title = '到店会员';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n case 2:\r\n title = '人脸识别';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n }\r\n this.setState({\r\n status: status,\r\n memberShow: true,\r\n titleModal: title\r\n })\r\n }\r\n\r\n openCloseModal = () => {\r\n const { setMemberFocus } = this.props;\r\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\r\n const uiState = memberStore.uiState;\r\n const IsIntegralExchange = memberStore.store && memberStore.store.data && memberStore.store.data.IsIntegralExchange\r\n if (!!uiState.tip) {\r\n Message.info(uiState.tip)\r\n return;\r\n }\r\n ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '关闭会员',\r\n content: `${IsIntegralExchange ? \"关闭会员将会清空商品信息!\" : \"确定要关闭该会员吗?\"}`,\r\n onOk: () => {\r\n this.ms.clearSeletMember();\r\n stores.selectMemberStore.clearMemberCare();\r\n typeof setMemberFocus == 'function' && setMemberFocus();\r\n }\r\n })\r\n }\r\n\r\n //关闭生日提醒\r\n handleCloseBirthdayModal = () => {\r\n this.ms.changeBirthdayShow(false);\r\n }\r\n\r\n //会员关怀-送礼\r\n handleMemberCareModal = () => {\r\n this.setState({ isMemberCareModal: true })\r\n }\r\n handleMemberCareModalCancel = () => {\r\n this.setState({ isMemberCareModal: false })\r\n }\r\n\r\n handleSearch = (val) => {\r\n this.setState({ searchValue: val })\r\n }\r\n\r\n handleFocus = (el) => {\r\n if (this.isMemberInputType) return;\r\n const _this = this;\r\n function cb() {\r\n _this.searchMember(undefined, 'ok');\r\n }\r\n Keyboard.open2((v) => {\r\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\r\n this.handleSearch(value);\r\n }, cb, this.keyboardClose , 'ByMember', localStore.get('ByMember'))\r\n }\r\n\r\n keyboardClose = () => {\r\n this.inputSearch.blur();\r\n }\r\n handleBlur = () => {\r\n Keyboard.close2();\r\n }\r\n\r\n handleReadICard = () => {\r\n this.readRfCard();\r\n }\r\n\r\n handleShowModal = (type, params) => {\r\n if (params) {\r\n this.setState({ dtMember: params, memberShow: type })\r\n } else {\r\n this.setState({ memberShow: type })\r\n }\r\n }\r\n\r\n handlePhotoModal = (type, newAvatar) => {\r\n if (newAvatar) {\r\n this.setState({\r\n newAvatar,\r\n memberPhoto: type\r\n })\r\n } else {\r\n this.setState({ memberPhoto: type })\r\n }\r\n }\r\n\r\n SetKeyBoardDisplay = (value) => {\r\n this.isHorizontalSunMi && window.android_setKeyBoard && window.android_setKeyBoard.SetKeyBoardDisplay(value)\r\n }\r\n\r\n searchMember = (val, type) => {\r\n if (!this.ms || this.searchLoading) return;\r\n const {searchValue} = this.state;\r\n val = val || (searchValue || '').trim();\r\n if (!val) return;\r\n const { memberSearched, selectMemberSuccess,setMemberFocus,getMemberBirthday, getMeStorageCard } = this.props;\r\n this.searchLoading = true;\r\n this.setState({searchVisible: true});\r\n this.ms.getSearchMember({\r\n currentPage: 1,\r\n pageSize: 10,\r\n key: val,\r\n isSingleMember: false\r\n }).then(ret => {\r\n this.searchLoading = false;\r\n const {ColumnInfo: columnInfo, Data} = ret || {};\r\n const data = JSON.parse(Data) || [];\r\n const info = data[0];\r\n this.setState({searchVisible: false, columnInfo});\r\n if (info && info.MemberType.IsStorage && this.isStorageCardInputType && this.iseyboardKEnter){\r\n getMeStorageCard && getMeStorageCard(true);\r\n this.handleSearch('');\r\n this.keypressStime = null;\r\n } else {\r\n getMeStorageCard && getMeStorageCard(false);\r\n }\r\n memberSearched && memberSearched(info, 'searched');\r\n if (info) {\r\n if (data.length > 1) {\r\n this.SetKeyBoardDisplay(1)\r\n stores.drawerStore.init({\r\n title: '会员管理',\r\n key: 'member',\r\n onHide:()=>{\r\n this.SetKeyBoardDisplay(0)\r\n },\r\n listArr: data,\r\n });\r\n this.setState({\r\n searchValue: null\r\n })\r\n } else {\r\n memberSearched && memberSearched(info, 'searched');\r\n userInfoFormat(info);\r\n if (errMessageTip(info)) return;\r\n this.ms.seletMember(info, true);\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n this.handleBlur();\r\n selectMemberSuccess && selectMemberSuccess();\r\n }\r\n } else {\r\n if (type === 'ok'){\r\n Message.warn('会员不存在');\r\n if (this.isMobileEnvironment) {\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n }\r\n typeof setMemberFocus == 'function' && setMemberFocus();\r\n }\r\n }\r\n }).catch(err => {\r\n this.setState({searchVisible: false});\r\n this.searchLoading = false;\r\n memberSearched && memberSearched(undefined, 'err');\r\n })\r\n }\r\n\r\n //获取当前到店会员数量\r\n getInStoreMemberCount = () => {\r\n if (!this.ms) return;\r\n this.ms.getInStoreMemberCount().then(res => {\r\n const {data: {data: shopPerson} = {}} = res || {};\r\n this.setState({shopPerson});\r\n this.resetInShopMemberTimer(shopPerson);\r\n });\r\n }\r\n\r\n onKeyPressed = (e) => {\r\n const keyCode = e && e.keyCode\r\n if (keyCode === 13) {\r\n if (this.isMemberInputType) {\r\n let stime = this.keypressStime;\r\n let etime = Date.parse(new Date());\r\n if (etime - stime > 300) {\r\n this.handleSearch('')\r\n this.keypressStime = null;\r\n return Message.warn('未启用键盘录入功能');\r\n }\r\n this.keypressStime = null;\r\n }\r\n this.iseyboardKEnter = Date.parse(new Date()) - this.keypressStime > 300;\r\n if (this.isStorageCardInputType) {\r\n this.keypressStime = null;\r\n }\r\n if (this.searchLoading) return;\r\n this.searchMember(undefined, 'ok');\r\n }\r\n else if (this.isMemberInputType && !this.keypressStime && !(keyCode == 8)) {\r\n this.keypressStime = Date.parse(new Date())\r\n } else if (this.isStorageCardInputType && !this.keypressStime && !(keyCode == 8) && !this.isMemberInputType) {\r\n this.keypressStime = Date.parse(new Date())\r\n }\r\n }\r\n\r\n computedCoupon = (member = {}) => {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (!!isNewRetailBCPos) {\r\n return member.MemberCouponCount? member.MemberCouponCount : '0';\r\n } else {\r\n const couponKey = 'membercouponcount';\r\n const {DynamicPropertyKeys = [], DynamicPropertyValues = []} = member;\r\n const couponIndex = DynamicPropertyKeys.findIndex(v => v === couponKey);\r\n return ~couponIndex ? DynamicPropertyValues[couponIndex] : '0';\r\n }\r\n }\r\n\r\n loadFaceRecognition = (type) => {\r\n // type = 1:到店会员 type = 2:POS机人脸识别\r\n this.setState({faceLoading: type === 2, inShopLoading: type === 1});\r\n this.ms.loadInStoreMember(String(type))\r\n .then(res => {\r\n this.setState({faceLoading: false, inShopLoading: false});\r\n const {Data} = res || {};\r\n if (!JSON.parse(Data).length) {\r\n const tipMessage = ['当前没有到店会员', '未识别到人脸信息'];\r\n type === 1 && this.setState({shopPerson: 0});\r\n return Message.info(tipMessage[type - 1]);\r\n }\r\n type === 1 && this.getInStoreMemberCount();\r\n this.openShowModal(type, res);\r\n })\r\n .catch(err => {\r\n this.setState({faceLoading: false, inShopLoading: false});\r\n console.log(err)\r\n });\r\n }\r\n\r\n //移动端:扫描商品\r\n changeScanProduct = () => {\r\n if (this.scanObj) this.scanObj.startScan()\r\n }\r\n onScanResult = (res) => {\r\n this.setState({\r\n searchValue: res\r\n }, () => {\r\n this.onKeyPressed({ keyCode: 13 })\r\n })\r\n }\r\n\r\n setIsShowBirthdayTip = () => {\r\n stores.selectMemberStore.clearMemberCare()\r\n }\r\n\r\n getMemberBirthdayInfo = (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n }\r\n\r\n render() {\r\n const {\r\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\r\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible = false, columnInfo, isCC,\r\n isMemberCare, isMemberCareModal, isShowBirthdayTip\r\n } = this.state;\r\n const { mode = 'formal', authProcess, selectMemberSuccess } = this.props;\r\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\r\n const { data: { Member: dtMember = {} } = {}, items = [] } = this.context.viewModel || {};\r\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\r\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\r\n const isSelectedMember = !!dtMember.ID;\r\n const { Differentiate } = enumController.getEnumOj();\r\n const { memberCareInfo } = stores.selectMemberStore;\r\n let { isNewRetailBCPos } = platform || {};\r\n return (\r\n <div className='MemberContainer'>\r\n <div className='left'>\r\n {!isSelectedMember &&\r\n <div className='search'>\r\n <div className='b1'>\r\n <Input\r\n type='text'\r\n className=\"input\"\r\n id='memberPoint'\r\n placeholder='扫描/输入会员号'\r\n value={searchValue}\r\n ref={el => this.inputSearch = el && el.input}\r\n onChange={(e) => this.handleSearch(e.target.value)}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n onKeyDown={this.onKeyPressed}\r\n />\r\n <Spin\r\n className='search-spin'\r\n scale={0.8}\r\n type='circle-side'\r\n visible={searchVisible}\r\n />\r\n </div>\r\n <div className='b2'>\r\n {\r\n this.hasElectron === true && this.iCCardServer === 1 &&\r\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\r\n }\r\n {\r\n this.isHorizontalPad ?\r\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\r\n :\r\n (\r\n false && this.openFaceRecognition === 1 && !faceLoading &&\r\n <div className='openFaceRecognition-box'>\r\n <Ticon className='icon' onClick={() => this.loadFaceRecognition(2)} type=\"renlianshibie\" />\r\n <Spin\r\n className='face-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={faceLoading}\r\n />\r\n </div>\r\n )\r\n }\r\n {\r\n /* 扫描组件 */\r\n this.isHorizontalPad &&\r\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanResult} />\r\n }\r\n </div>\r\n </div>\r\n }\r\n {isSelectedMember &&\r\n <div className={`info ${this.openFaceRecognition ? '' : 'member-btn-hidden-flex'}`}>\r\n <div className='first'>\r\n <img onClick={this.openPhotoModal} src={newAvatar || dtMember.ImageFile || emptyMemberImage} />\r\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"shengri\" className='shengriIcon'></Ticon>\r\n }\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <div className='birthdayContent'>\r\n <div className='birthdayWarn'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\r\n <Button colors=\"warn\" onClick={this.handleMemberCareModal} className='check bg-theme'>查看</Button>\r\n <Ticon type=\"cuowuda\" className='cuowudaIcon'></Ticon>\r\n </div>\r\n }\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"cuowuda\" onClick={() => { this.setIsShowBirthdayTip()}} className='cuowudaIcon'></Ticon>\r\n }\r\n </div>\r\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\r\n <div className='one'>\r\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\r\n <div className='b'>{dtMember.CardCode}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\r\n <div className='b'>余额</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{this.computedCoupon(dtMember)}</div>\r\n <div className='b'>{Differentiate.COUPON}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\r\n <div className='b'>积分</div>\r\n </div>\r\n </div>\r\n <div className='close'>\r\n {!isTakeTheir && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n {/* {\r\n memberCareInfo && memberCareInfo.isTicket ? <div className='float'>\r\n <div className='txt'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\r\n <div className='btn' onClick={this.handleMemberCareModal}>查看</div>\r\n <div className='cancel'>\r\n <Ticon type='guanbixiao' onClick={() => {\r\n this.setIsShowBirthdayTip()\r\n }}/>\r\n </div>\r\n </div> : null\r\n } */}\r\n {!!this.openFaceRecognition && <div className='right'>\r\n <Button type=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\r\n {!inShopLoading && '到店会员'}\r\n <Spin\r\n className='inshop-member-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={inShopLoading}\r\n />\r\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\r\n </Button>\r\n </div>}\r\n <MemberModal\r\n mode={mode}\r\n authProcess={authProcess}\r\n viewMemberInfo={viewMemberInfo}\r\n columnInfo={columnInfo}\r\n status={status}\r\n showModal={memberShow}\r\n titleModal={titleModal}\r\n selectMemberSuccess={selectMemberSuccess}\r\n handleModal={this.handleShowModal}\r\n />\r\n <ModalWraper\r\n show={isMemberCareModal}\r\n className='member-care-modal'\r\n width='688'\r\n centered={true}\r\n memberClass='memberCareWidth'\r\n cancel={this.handleMemberCareModalCancel}\r\n >\r\n <div className='first'>会员生日关怀</div>\r\n <div className='second'>\r\n <div className='secondContent'>\r\n <Ticon type='dengpao'/>\r\n <span>口头关怀客户,提示引导客户去线上商城领取权益。</span>\r\n </div>\r\n </div>\r\n <div className='third'>\r\n <div className='one'>\r\n <img src={emptyMemberImage} />\r\n <Ticon type='shengri' />\r\n </div>\r\n <div className='two'>\r\n {\r\n memberCareInfo && memberCareInfo.daysToBirthday === 0 ? <span>\r\n 今天是{dtMember.Name}的生日,该会员是{dtMember.MemberType.Name},可享受以下权益\r\n </span> : <span>\r\n {dtMember.Name}会员还有{memberCareInfo && memberCareInfo.daysToBirthday}天生日,该会员是{dtMember.MemberType.Name},可享受以下权益\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n {\r\n memberCareInfo && <div className='fourth'>\r\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple && <div className='item'>1.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple}</div>}\r\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive && <div className='item'>2.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive}</div>}\r\n {\r\n memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].couponIdMapList.map((value, index) => {\r\n let count = 0;\r\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple) {\r\n count += 1;\r\n }\r\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive) {\r\n count += 1;\r\n }\r\n return (<div className='item'>{count + 1 + index}.{value.name}</div>)\r\n })\r\n }\r\n </div>\r\n }\r\n </ModalWraper>\r\n {\r\n !isNewRetailBCPos && <ModalWraper show={this.ms.birthdayShow} centered={true} className='member-birthday'>\r\n <div className='picture'>\r\n <img width='350' height='308' src={memberBirthday} />\r\n <Ticon type=\"guanbi-yuan\" onClick={this.handleCloseBirthdayModal} />\r\n </div>\r\n <div className='remark'>今天是会员<span>{dtMember.Name || dtMember.CardCode}</span>的生日</div>\r\n </ModalWraper>\r\n }\r\n </div>\r\n );\r\n }\r\n}\r\nexport default MemberTag\r\n"]}
1
+ {"version":3,"sources":["tplus-member/member/index.js"],"names":["hasElectron","env","platform","constant","electron","emptyMemberImage","memberBirthday","currentMember","MemberTag","observer","props","localStore","get","loginInfo","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","stores","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","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,mBAG0HW,2BAAWC,GAAX,CAAe,MAAf,KAA0B,EAHpJ;AAAA,kCAGPC,SAHO;;AAAA,wDAGmH,EAHnH;AAAA,YAGMC,iBAHN,kBAGMA,iBAHN;AAAA,YAGyBC,kCAHzB,kBAGyBA,kCAHzB;AAAA,YAG6DC,mBAH7D,kBAG6DA,mBAH7D;AAAA,YAGkFC,YAHlF,kBAGkFA,YAHlF;AAAA,YAGgGC,cAHhG,kBAGgGA,cAHhG;;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,oBAWgCvB,yBAAY,EAX5C;AAAA,YAWPwB,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,oBAoBY9B,yBAAY,EApBxB;AAAA,YAoBT+B,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,uBAAKvC,KAAL,CAAWqC,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,CAACrC,aAAL,EAAoB;AAChBA,oCAAgB2C,eAAhB;AACAH,iCAAaH,gBAAb;AACH,iBAHD,MAGO,IAAIrC,cAAc8C,EAAd,KAAqBT,iBAAiBS,EAA1C,EAA8C;AACjDN,iCAAaH,gBAAb;AACArC,oCAAgB2C,eAAhB;AACH,iBAHM,MAGA,IAAI,CAACT,SAASY,EAAV,IAAgB,CAAC9C,iBAAiB,EAAlB,EAAsB8C,EAA1C,EAA8C;AAAE;AACnD9C,oCAAgBuC,SAAhB;AACA,yBAAKtB,EAAL,CAAQ8B,gBAAR;AACH;AACJ,aAZD,MAYO,IAAI/C,iBAAiB,CAACqC,gBAAtB,EAAwC;AAC3CG,6BAAaH,gBAAb;AACArC,gCAAgBuC,SAAhB;AACH,aAHM,MAGA,IAAIL,SAASY,EAAT,IAAe,CAAC,CAAC9C,iBAAiB,EAAlB,EAAsB8C,EAA1C,EAA8C;AAAE;AACnD,oBAAMH,mBAAkBC,KAAKC,KAAL,CAAW,yBAAeX,QAAf,CAAX,CAAxB;AACAlC,gCAAgB2C,gBAAhB;AACA,qBAAK1B,EAAL,CAAQ+B,WAAR,CAAoBd,QAApB;AACH;AACJ;;;4CAEmB;AAChBe,mCAAOC,iBAAP,IAA4BD,uBAAOC,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,KAAKsB,YAAL,KAAsB,CAAvD,EAA0D;AACtD6C,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,2BAAKzB,QAAL,CAAcqB,MAAd;AACH,iBARD;AASH;AACJ;;AAED;;;;qCACa;AAAA;;AACT;AACA,gBAAI,KAAKrE,WAAL,KAAqB,IAArB,IAA6B,KAAKsB,YAAL,KAAsB,CAAvD,EAA0D;AAAA,6BACN,KAAKY,KADC;AAAA,oBAC9CsC,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,KAAKvD,cAAhB,EAAgCwD,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,KAAKsB,YAAL,KAAsB,CAAvD,EAA0D;AACtD6C,yCAASC,oBAAT,CAA8B,aAA9B;AACH;AACJ;;AAgED;;;AAKA;;;AA0HA;;;AAsEA;;;;iCAoBS;AAAA;;AAAA,0BAKD,KAAKlC,KALJ;AAAA,gBAEDgD,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,gBAGgDxC,SAHhD,WAGgDA,SAHhD;AAAA,gDAG2DyC,aAH3D;AAAA,gBAG2DA,aAH3D,yCAG2E,KAH3E;AAAA,gBAGkFC,UAHlF,WAGkFA,UAHlF;AAAA,gBAG8FxD,IAH9F,WAG8FA,IAH9F;AAAA,gBAIDyD,YAJC,WAIDA,YAJC;AAAA,gBAIaC,iBAJb,WAIaA,iBAJb;AAAA,gBAIgCzD,iBAJhC,WAIgCA,iBAJhC;AAAA,yBAMyD,KAAK1B,KAN9D;AAAA,qCAMGoF,IANH;AAAA,gBAMGA,IANH,+BAMU,QANV;AAAA,gBAMoBC,WANpB,UAMoBA,WANpB;AAAA,gBAMiCC,mBANjC,UAMiCA,mBANjC;AAAA,uBAO4C,KAAKxE,EAPjD;AAAA,gBAOGkB,gBAPH,QAOGA,gBAPH;AAAA,0CAOqBuD,aAPrB;AAAA,gBAOqBA,aAPrB,sCAOqC,EAPrC,uBAOqD;;AAPrD,wBAQwD,KAAK5D,OAAL,CAAaC,SAAb,IAA0B,EARlF;AAAA,mCAQGC,IARH;;AAAA,oDAQqC,EARrC;AAAA,+CAQWC,MARX;AAAA,gBAQmBC,QARnB,qCAQ8B,EAR9B;AAAA,oCAQyCyD,KARzC;AAAA,gBAQyCA,KARzC,+BAQiD,EARjD;;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,GAasBrD,uBAAOC,iBAb7B,CAaGoD,cAbH;;AAAA,wBAcsB3G,yBAAY,EAdlC;AAAA,gBAcC+B,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,uCAAOjB,WALX;AAMI,qCAAK;AAAA,2CAAM,OAAKsB,WAAL,GAAmBC,MAAMA,GAAGC,KAAlC;AAAA,iCANT;AAOI,0CAAU,kBAACC,CAAD;AAAA,2CAAO,OAAKC,YAAL,CAAkBD,EAAEE,MAAF,CAASzC,KAA3B,CAAP;AAAA,iCAPd;AAQI,yCAAS,KAAK0C,WARlB;AASI,wCAAQ,KAAKC,UATjB;AAUI,2CAAW,KAAKC;AAVpB,8BADJ;AAaI,0DAAC,0BAAD;AACI,2CAAU,aADd;AAEI,uCAAO,GAFX;AAGI,sCAAK,aAHT;AAII,yCAAS5B;AAJb;AAbJ,yBADJ;AAqBI;AAAA;AAAA,8BAAK,WAAU,IAAf;AAEQ,iCAAK1F,WAAL,KAAqB,IAArB,IAA6B,KAAKsB,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,CAACiE,WAA5C,IACA;AAAA;AAAA,kCAAK,WAAU,yBAAf;AACI,8DAAC,2BAAD,IAAO,WAAU,MAAjB,EAAwB,SAAS;AAAA,+CAAM,OAAKkC,mBAAL,CAAyB,CAAzB,CAAN;AAAA,qCAAjC,EAAoE,MAAK,eAAzE,GADJ;AAEI,8DAAC,0BAAD;AACI,+CAAU,WADd;AAEI,2CAAO,GAFX;AAGI,0CAAK,QAHT;AAII,6CAASlC;AAJb;AAFJ,6BAXhB;;AAuBQ;AACA,iCAAK5D,eAAL,IACA,8BAAC,0BAAD,IAAM,KAAK;AAAA,2CAAQ,OAAK+F,OAAL,GAAeC,IAAvB;AAAA,iCAAX,EAAwC,UAAU,KAAKC,YAAvD;AAzBR;AArBJ,qBAFR;AAqDKlB,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,IAAmCxH,gBAA3E,GADJ;AAEK6E,2CAAe,8BAAC,qBAAD,IAAa,UAAUzC,QAAvB,EAAiC,WAAWyC,WAA5C,EAAyD,YAAYC,UAArE,EAAiF,aAAa,KAAK2C,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,EAAyCrC,cAAcqC,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,EAA0CxC,cAAcwC,eAAxD,KAA4E;AAAhG,iCADJ;AAEI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAA;AAAA;AAFJ;AAbJ,yBAlBJ;AAoCI;AAAA;AAAA,8BAAK,WAAU,OAAf;AACK,6BAAClC,WAAD,IAAgB,8BAAC,2BAAD,IAAO,MAAK,aAAZ,EAA0B,SAAS,KAAKmC,cAAxC;AADrB;AApCJ;AAtDR,iBADJ;AA4GK,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,UAAUnC,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,iBA5GnC;AAwHI,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,KAAK2C;AATtB,kBAxHJ;AAmII;AAAC,qDAAD;AAAA;AACI,8BAAM9C,iBADV;AAEI,mCAAU,mBAFd;AAGI,+BAAM,KAHV;AAII,kCAAU,IAJd;AAKI,qCAAY,iBALhB;AAMI,gCAAQ,KAAK+C;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,KAAKvI,gBAAV,GADJ;AAEI,0DAAC,2BAAD,IAAO,MAAK,SAAZ;AAFJ,yBADJ;AAKI;AAAA;AAAA,8BAAK,WAAU,KAAf;AAEQwG,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,UAACzE,KAAD,EAAQ0E,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;AAA2C1E,sCAAM4E;AAAjD,6BAAR;AACH,yBATsG;AAJ7F;AA/B1B,iBAnIJ;AAqLQ,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,KAAKjJ,cAAnC,GADJ;AAEI,sDAAC,2BAAD,IAAO,MAAK,aAAZ,EAA0B,SAAS,KAAKkJ,wBAAxC;AAFJ,qBADiB;AAKjB;AAAA;AAAA,0BAAK,WAAU,QAAf;AAAA;AAA6B;AAAA;AAAA;AAAO/G,qCAAS2F,IAAT,IAAiB3F,SAAS4F;AAAjC,yBAA7B;AAAA;AAAA;AALiB;AArL7B,aADJ;AAgMH;;;EA3oBmBoB,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;AACJsD,qBAAa,EADT;AAEJL,oBAAY,EAFR;AAGJC,oBAAY,KAHR;AAIJF,qBAAa,KAJT;AAKJQ,uBAAe,KALX;AAMJH,oBAAY,CANR;AAOJhB,gBAAQ,CAPJ,EAOc;AAClB9B,kBAAU,EARN,EAQa;AACjB+B,2BAAmB,KATf,EASsB;AAC1BC,0BAAkB,EAVd,EAUkB;AACtBmB,sBAAc,KAXV;AAYJC,2BAAmB;AAZf,K;;SAuGRqE,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,mBAAKzG,qBAAL;AACH,SAFY,EAEVwG,IAFU,CAAb;AAGH,K;;SA+CD9C,c,GAAiB,YAAM;AAAA,oBACQ1H,yBAAY,EADpB;AAAA,YACb+B,gBADa,SACbA,gBADa;;AAEnB,YAAI,CAACA,gBAAL,EAAuB;AACnB,gBAAI,CAAC,OAAKZ,mBAAV,EAA+B;AAC3BsD,8CAAQiG,IAAR,CAAa,qBAAb;AACA;AACH;AACD,mBAAK5H,QAAL,CAAc;AACVkC,6BAAa,IADH;AAEVC,4BAAY;AAFF,aAAd;AAIH;AACJ,K;;SAEDgD,a,GAAgB,UAAC5D,MAAD,EAASsG,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,gBAAQxG,MAAR;AACI,iBAAK,CAAL;AACIuG,wBAAQ,MAAR;AACA,uBAAK9H,QAAL,CAAc,EAAEyC,gBAAgBuF,YAAlB,EAAd;AACA;AACJ,iBAAK,CAAL;AACIF,wBAAQ,MAAR;AACA,uBAAK9H,QAAL,CAAc,EAAEyC,gBAAgBoF,GAAlB,EAAd;AACA;AACJ,iBAAK,CAAL;AACIC,wBAAQ,MAAR;AACA,uBAAK9H,QAAL,CAAc,EAAEyC,gBAAgBoF,GAAlB,EAAd;AACA;AAZR;AAcA,eAAK7H,QAAL,CAAc;AACVuB,oBAAQA,MADE;AAEVa,wBAAY,IAFF;AAGVD,wBAAY2F;AAHF,SAAd;AAKH,K;;SAEDpC,c,GAAiB,YAAM;AAAA,YACXuC,cADW,GACQ,OAAKvK,KADb,CACXuK,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;AACf1G,0CAAQ2G,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;AACAE,uCAAOC,iBAAP,CAAyBC,eAAzB;AACA,uBAAOuH,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,EAAE6C,mBAAmB,IAArB,EAAd;AACH,K;;SACD+C,2B,GAA8B,YAAM;AAChC,eAAK5F,QAAL,CAAc,EAAE6C,mBAAmB,KAArB,EAAd;AACH,K;;SAEDqB,Y,GAAe,UAAC2E,GAAD,EAAS;AACpB,eAAK7I,QAAL,CAAc,EAAEwC,aAAaqG,GAAf,EAAd;AACH,K;;SAEDzE,W,GAAc,UAACL,EAAD,EAAQ;AAClB,YAAI,OAAKjG,iBAAT,EAA4B;AAC5B,YAAMgL,QAAQ,MAAd;AACA,iBAASC,EAAT,GAAc;AACZD,kBAAM7G,YAAN,CAAmBnC,SAAnB,EAA8B,IAA9B;AACD;AACDkJ,uCAASC,KAAT,CAAe,UAAC5F,CAAD,EAAO;AAClB,gBAAM3B,QAAQsH,+BAASE,WAAT,CAAqB,OAAKpF,WAA1B,EAAuC,OAAKA,WAAL,CAAiBpC,KAAxD,EAA+D2B,CAA/D,CAAd;AACA,mBAAKa,YAAL,CAAkBxC,KAAlB;AACH,SAHD,EAGGqH,EAHH,EAGO,OAAKI,aAHZ,EAG4B,UAH5B,EAGwCxL,2BAAWC,GAAX,CAAe,UAAf,CAHxC;AAIH,K;;SAEDuL,a,GAAgB,YAAM;AACpB,eAAKrF,WAAL,CAAiBsF,IAAjB;AACD,K;;SACD/E,U,GAAa,YAAM;AACf2E,uCAASK,MAAT;AACH,K;;SAEDxK,e,GAAkB,YAAM;AACpB,eAAKyK,UAAL;AACH,K;;SAED3D,e,GAAkB,UAACrC,IAAD,EAAOzB,MAAP,EAAkB;AAChC,YAAIA,MAAJ,EAAY;AACR,mBAAK7B,QAAL,CAAc,EAAEP,UAAUoC,MAAZ,EAAoBO,YAAYkB,IAAhC,EAAd;AACH,SAFD,MAEO;AACH,mBAAKtD,QAAL,CAAc,EAAEoC,YAAYkB,IAAd,EAAd;AACH;AACJ,K;;SAEDwB,gB,GAAmB,UAACxB,IAAD,EAAOrD,SAAP,EAAqB;AACtC,YAAIA,SAAJ,EAAe;AACT,mBAAKD,QAAL,CAAc;AACVC,oCADU;AAEViC,6BAAaoB;AAFH,aAAd;AAIH,SALH,MAKS;AACH,mBAAKtD,QAAL,CAAc,EAAEkC,aAAaoB,IAAf,EAAd;AACH;AACJ,K;;SAEDrB,Y,GAAe,UAAC4G,GAAD,EAAMvF,IAAN,EAAe;AAC1B,YAAG,CAAC9C,uBAAO+I,UAAP,CAAkBC,eAAlB,EAAJ,EAA0C;AAC1C,YAAI,CAAC,OAAKhL,EAAN,IAAY,OAAKiL,aAArB,EAAoC;AAFV,YAGnBjH,WAHmB,GAGJ,OAAKtD,KAHD,CAGnBsD,WAHmB;;AAI1BqG,cAAMA,OAAO,CAACrG,eAAe,EAAhB,EAAoBkH,IAApB,EAAb;AACA,YAAI,CAACb,GAAL,EAAU;AALgB,sBAMyE,OAAKnL,KAN9E;AAAA,YAMlBmJ,cANkB,WAMlBA,cANkB;AAAA,YAMF7D,mBANE,WAMFA,mBANE;AAAA,YAMkBiF,cANlB,WAMkBA,cANlB;AAAA,YAMiC0B,iBANjC,WAMiCA,iBANjC;AAAA,YAMoDC,gBANpD,WAMoDA,gBANpD;;AAO1B,eAAKH,aAAL,GAAqB,IAArB;AACA,eAAKzJ,QAAL,CAAc,EAAC0C,eAAe,IAAhB,EAAd;AACA,eAAKlE,EAAL,CAAQqL,eAAR,CAAwB;AACpBC,yBAAa,CADO;AAEpBC,sBAAU,EAFU;AAGpBC,iBAAKnB,GAHe;AAIpBoB,4BAAgB;AAJI,SAAxB,EAKGC,IALH,CAKQ,eAAO;AACX,mBAAKT,aAAL,GAAqB,KAArB;;AADW,wBAE4BnI,OAAO,EAFnC;AAAA,gBAEQqB,UAFR,SAEJwH,UAFI;AAAA,gBAEoBC,IAFpB,SAEoBA,IAFpB;;AAGX,gBAAM7K,OAAOY,KAAKC,KAAL,CAAWgK,IAAX,KAAoB,EAAjC;AACA,gBAAM9B,OAAO/I,KAAK,CAAL,CAAb;AACA,mBAAKS,QAAL,CAAc,EAAC0C,eAAe,KAAhB,EAAuBC,sBAAvB,EAAd;AACA,gBAAI2F,QAAQA,KAAKzC,UAAL,CAAgBwE,SAAxB,IAAqC,OAAKjM,sBAA1C,IAAoE,OAAKY,eAA7E,EAA6F;AACzF4K,oCAAoBA,iBAAiB,IAAjB,CAApB;AACA,uBAAK1F,YAAL,CAAkB,EAAlB;AACA,uBAAKnF,aAAL,GAAqB,IAArB;AACH,aAJD,MAIO;AACH6K,oCAAoBA,iBAAiB,KAAjB,CAApB;AACH;AACD/C,8BAAkBA,eAAeyB,IAAf,EAAqB,UAArB,CAAlB;AACA,gBAAIA,IAAJ,EAAU;AACN,oBAAI/I,KAAKM,MAAL,GAAc,CAAlB,EAAqB;AACjBW,2CAAO8J,WAAP,CAAmBC,IAAnB,CAAwB;AACpBzC,+BAAO,MADa;AAEpBkC,6BAAK,QAFe;AAGpBQ,gCAAO,kBAAI,CACV,CAJmB;AAKpBC,iCAASlL;AALW,qBAAxB;AAOA,2BAAKS,QAAL,CAAc;AACVwC,qCAAa;AADH,qBAAd;AAGH,iBAXD,MAWO;AACHqE,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,EAAEwC,aAAa,EAAf,EAAd,CAAN;AAAA,qBAAX,EAAqD,CAArD;AACA,2BAAK6B,UAAL;AACArB,2CAAuBA,qBAAvB;AACA2G,yCAAqBA,kBAAkBrB,KAAKjI,EAAvB,EAA2B,UAACgB,MAAD,EAAY;AACxDb,+CAAOC,iBAAP,CAAyBiK,gBAAzB,CAA0CrJ,MAA1C;AACH,qBAFoB,CAArB;AAGH;AACJ,aAxBD,MAwBO;AACH,oBAAIiC,SAAS,IAAb,EAAkB;AACd3B,kDAAQiG,IAAR,CAAa,OAAb;AACA,wBAAI,OAAKhJ,mBAAT,EAA8B;AAC1B+I,mCAAW;AAAA,mCAAM,OAAK3H,QAAL,CAAc,EAAEwC,aAAa,EAAf,EAAd,CAAN;AAAA,yBAAX,EAAqD,CAArD;AACH;AACD,2BAAOyF,cAAP,IAAyB,UAAzB,IAAuCA,gBAAvC;AACH;AACJ;AACJ,SApDD,EAoDG0C,KApDH,CAoDS,eAAO;AACZ,mBAAK3K,QAAL,CAAc,EAAC0C,eAAe,KAAhB,EAAd;AACA,mBAAK+G,aAAL,GAAqB,KAArB;AACA5C,8BAAkBA,eAAe/G,SAAf,EAA0B,KAA1B,CAAlB;AACH,SAxDD;AAyDH,K;;SAGDoB,qB,GAAwB,YAAM;AAC5B,YAAI,CAAC,OAAK1C,EAAV,EAAc;AACd,eAAKA,EAAL,CAAQ0C,qBAAR,GAAgCgJ,IAAhC,CAAqC,eAAO;AAAA,yBACFrC,OAAO,EADL;AAAA,qCACnCtI,IADmC;;AAAA,sDACR,EADQ;AAAA,gBACtBgD,UADsB,eAC5BhD,IAD4B;;AAE1C,mBAAKS,QAAL,CAAc,EAACuC,sBAAD,EAAd;AACA,mBAAKgF,sBAAL,CAA4BhF,UAA5B;AACD,SAJD;AAKD,K;;SAED+B,Y,GAAe,UAACL,CAAD,EAAO;AAClB,YAAM2G,UAAU3G,KAAKA,EAAE2G,OAAvB;AACA,YAAIA,YAAY,EAAhB,EAAoB;AAChB,gBAAI,OAAK9M,iBAAT,EAA4B;AACxB,oBAAI+M,QAAQ,OAAK9L,aAAjB;AACA,oBAAI+L,QAAQC,KAAK3K,KAAL,CAAW,IAAI2K,IAAJ,EAAX,CAAZ;AACA,oBAAID,QAAQD,KAAR,GAAgB,GAApB,EAAyB;AACrB,2BAAK3G,YAAL,CAAkB,EAAlB;AACA,2BAAKnF,aAAL,GAAqB,IAArB;AACA,2BAAO4C,8BAAQiG,IAAR,CAAa,WAAb,CAAP;AACH;AACD,uBAAK7I,aAAL,GAAqB,IAArB;AACH;AACD,mBAAKC,eAAL,GAAuB+L,KAAK3K,KAAL,CAAW,IAAI2K,IAAJ,EAAX,IAAyB,OAAKhM,aAA9B,GAA8C,GAArE;AACA,gBAAI,OAAKX,sBAAT,EAAiC;AAC7B,uBAAKW,aAAL,GAAqB,IAArB;AACH;AACD,gBAAI,OAAK0K,aAAT,EAAwB;AACxB,mBAAKxH,YAAL,CAAkBnC,SAAlB,EAA6B,IAA7B;AACH,SAjBD,MAkBK,IAAI,OAAKhC,iBAAL,IAA0B,CAAC,OAAKiB,aAAhC,IAAiD,EAAE6L,WAAW,CAAb,CAArD,EAAsE;AACvE,mBAAK7L,aAAL,GAAqBgM,KAAK3K,KAAL,CAAW,IAAI2K,IAAJ,EAAX,CAArB;AACH,SAFI,MAEE,IAAI,OAAK3M,sBAAL,IAA+B,CAAC,OAAKW,aAArC,IAAsD,EAAE6L,WAAW,CAAb,CAAtD,IAAyE,CAAC,OAAK9M,iBAAnF,EAAsG;AACzG,mBAAKiB,aAAL,GAAqBgM,KAAK3K,KAAL,CAAW,IAAI2K,IAAJ,EAAX,CAArB;AACH;AACJ,K;;SAEDxF,c,GAAiB,YAAiB;AAAA,YAAhByF,MAAgB,uEAAP,EAAO;;AAAA,qBACH9N,yBAAY,EADT;AAAA,YACxB+B,gBADwB,UACxBA,gBADwB;;AAE9B,YAAI,CAAC,CAACA,gBAAN,EAAwB;AACpB,mBAAO+L,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,uBAAKjI,MAAM6H,SAAX;AAAA,aAA9B,CAApB;AACA,mBAAO,CAACG,WAAD,GAAeD,sBAAsBC,WAAtB,CAAf,GAAoD,GAA3D;AACH;AACJ,K;;SAED7G,mB,GAAsB,UAAClB,IAAD,EAAU;AAC9B;AACA,eAAKtD,QAAL,CAAc,EAACsC,aAAagB,SAAS,CAAvB,EAA0BjB,eAAeiB,SAAS,CAAlD,EAAd;AACA,eAAK9E,EAAL,CAAQ+M,iBAAR,CAA0BC,OAAOlI,IAAP,CAA1B,EACG4G,IADH,CACQ,eAAO;AACX,mBAAKlK,QAAL,CAAc,EAACsC,aAAa,KAAd,EAAqBD,eAAe,KAApC,EAAd;;AADW,yBAEIwF,OAAO,EAFX;AAAA,gBAEJuC,IAFI,UAEJA,IAFI;;AAGX,gBAAI,CAACjK,KAAKC,KAAL,CAAWgK,IAAX,EAAiBvK,MAAtB,EAA8B;AAC5B,oBAAM4L,aAAa,CAAC,UAAD,EAAa,UAAb,CAAnB;AACAnI,yBAAS,CAAT,IAAc,OAAKtD,QAAL,CAAc,EAACuC,YAAY,CAAb,EAAd,CAAd;AACA,uBAAOZ,8BAAQ2G,IAAR,CAAamD,WAAWnI,OAAO,CAAlB,CAAb,CAAP;AACD;AACDA,qBAAS,CAAT,IAAc,OAAKpC,qBAAL,EAAd;AACA,mBAAKiE,aAAL,CAAmB7B,IAAnB,EAAyBuE,GAAzB;AACD,SAXH,EAYG8C,KAZH,CAYS,eAAO;AACZ,mBAAK3K,QAAL,CAAc,EAACsC,aAAa,KAAd,EAAqBD,eAAe,KAApC,EAAd;AACAqJ,oBAAQC,GAAR,CAAYC,GAAZ;AACD,SAfH;AAgBD,K;;SAGDrH,iB,GAAoB,YAAM;AACtB,YAAI,OAAKE,OAAT,EAAkB,OAAKA,OAAL,CAAaoH,SAAb;AACrB,K;;SACDlH,Y,GAAe,UAACkD,GAAD,EAAS;AACpB,eAAK7H,QAAL,CAAc;AACVwC,yBAAaqF;AADH,SAAd,EAEG,YAAM;AACL,mBAAKvD,YAAL,CAAkB,EAAEsG,SAAS,EAAX,EAAlB;AACH,SAJD;AAKH,K;;SAED1F,oB,GAAuB,YAAM;AACzB1E,+BAAOC,iBAAP,CAAyBC,eAAzB;AACH,K;;SAEDoL,qB,GAAwB,UAACzK,MAAD,EAAY;AAChCb,+BAAOC,iBAAP,CAAyBiK,gBAAzB,CAA0CrJ,MAA1C;AACH,K;;;kBAqNU7D,S","file":"index.js","sourcesContent":["/**\r\n * @memberChange member 状态发生变化时的回调\r\n * @memberSearched 录入框会员状态发生变化时的回调 memberSearched(value, type) // type: searched 触发搜索 | err 搜索接口错误 | close 关闭会员\r\n *\r\n */\r\nimport React, { Component, Fragment } from 'react';\r\nimport { Button, Input } from 'antd';\r\nimport { observer } from 'mobx-react';\r\nimport { toJS } from 'mobx';\r\nimport PropTypes from 'prop-types'\r\nimport { Ticon, Message, ModalWraper, Spin, Keyboard,Scan } from 'tplus-components-touch';\r\nimport { env, nativeMs, localStore , stores} from 'mutants-microfx';\r\nimport { Action } from 'mutants-appfx'\r\nimport { platform, enumController } from 'mutants-util';\r\nimport MemberModal from './MemberShow';\r\nimport MemberPhoto from './MemberPhoto';\r\nimport memberStore from './api';\r\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\r\nimport './index.less';\r\n\r\n\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\n//定义默认头像值。\r\nconst emptyMemberImage = 'https://newretail.static.chanjet.com/default_avatar.png';\r\nconst memberBirthday = 'https://newretail.static.chanjet.com/pictures/member_birthday.png';\r\nlet currentMember;\r\n\r\n@observer\r\nclass MemberTag extends Component {\r\n\r\n state = {\r\n searchValue: '',\r\n titleModal: '',\r\n memberShow: false,\r\n memberPhoto: false,\r\n searchVisible: false,\r\n shopPerson: 0,\r\n status: 2, // 0会员详情、1到店会员、2人脸识别\r\n dtMember: {}, // 会员信息\r\n connectCardStatus: false, //连接IC卡状态\r\n connectCardError: '', //连接IC卡错误后记录错误信息\r\n isMemberCare: false,\r\n isMemberCareModal: false\r\n };\r\n\r\n static propTypes = {\r\n memberChange: PropTypes.func,\r\n memberSearched: PropTypes.func,\r\n }\r\n\r\n static contextTypes = {\r\n onEvent:PropTypes.func,\r\n viewModel: PropTypes.object,\r\n }\r\n\r\n static defaultProps = {\r\n memberChange: () => { },\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.hasElectron = hasElectron;\r\n const { loginInfo: { isMemberInputType, MemberMeStorageCardInputByKeyBoard, OpenFaceRecognition, ICCardServer, ICCardPassword } = {} } = localStore.get('user') || {};\r\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\r\n this.isStorageCardInputType = MemberMeStorageCardInputByKeyBoard; // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用\r\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\r\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\r\n this.iCCardPassword = ICCardPassword; //IC卡密码\r\n this.ms = memberStore;\r\n //移动端环境下,没有读取IC卡的方式。\r\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\r\n this.isHorizontalPad = !!isHorizontalPad;\r\n this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n this.handleReadICard = this.handleReadICard.bind(this);\r\n\r\n //记录键盘录入信息的开始时间\r\n this.keypressStime = null;\r\n this.iseyboardKEnter = false; //是否为键盘输入\r\n let { isNewRetailBCPos } = platform || {};\r\n this.state = {\r\n isCC: !!isNewRetailBCPos,\r\n isShowBirthdayTip: false,\r\n };\r\n }\r\n\r\n componentWillReact() {\r\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\r\n const { selectMemberInfo = {}, isClear = false } = this.ms;\r\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\r\n\r\n const memberChange = (data) => {\r\n this.setState({newAvatar: ''});\r\n this.props.memberChange(data);\r\n }\r\n if (typeof memberChangeData === 'object') {\r\n const deepCloneMember = JSON.parse(JSON.stringify(memberChangeData));\r\n if (!currentMember) {\r\n currentMember = deepCloneMember;\r\n memberChange(memberChangeData);\r\n } else if (currentMember.ID !== memberChangeData.ID) {\r\n memberChange(memberChangeData);\r\n currentMember = deepCloneMember;\r\n } else if (!dtMember.ID && (currentMember || {}).ID) { // DataModel 中清掉member,手动同步 member\r\n currentMember = undefined;\r\n this.ms.clearSeletMember();\r\n }\r\n } else if (currentMember && !memberChangeData) {\r\n memberChange(memberChangeData);\r\n currentMember = undefined;\r\n } else if (dtMember.ID && !(currentMember || {}).ID) { // DataModel 中存在member,手动同步 member\r\n const deepCloneMember = JSON.parse(JSON.stringify(dtMember));\r\n currentMember = deepCloneMember;\r\n this.ms.seletMember(dtMember);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n stores.selectMemberStore && stores.selectMemberStore.clearMemberCare()\r\n this.connectRfCard();\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.windowOnresize);\r\n this.closeRfCard();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n //接受socket传递过来的信息\r\n let { isSendMessage } = nextProps;\r\n if (isSendMessage === true) this.getInStoreMemberCount()\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n resetInShopMemberTimer = (count) => {\r\n this.timer && clearTimeout(this.timer);\r\n if (!count) return;\r\n const time = 5 * 60 * 1000;\r\n this.timer = setTimeout(() => {\r\n this.getInStoreMemberCount();\r\n }, time);\r\n }\r\n //IC卡连接\r\n connectRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\r\n let result = {}\r\n if (ret.status === 0) {\r\n result = { connectCardStatus: false, connectCardError: ret.value }\r\n } else {\r\n result = { connectCardStatus: true, connectCardError: '' };\r\n }\r\n this.setState(result)\r\n })\r\n }\r\n }\r\n\r\n //IC卡读取\r\n readRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n const { connectCardStatus, connectCardError } = this.state;\r\n if (connectCardStatus === false) {\r\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n }\r\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\r\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\r\n if (ret.status === 0) {\r\n Message.error(ret.value);\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n } else if (ret.status === 1) {\r\n this.searchMember(ret.value);\r\n }\r\n })\r\n }\r\n }\r\n\r\n //IC卡关闭\r\n closeRfCard(){\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('CloseRfCard')\r\n }\r\n }\r\n\r\n openPhotoModal = () => {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (!isNewRetailBCPos) {\r\n if (!this.openFaceRecognition) {\r\n Message.warn('未启用人脸识别,需要先开启人脸识别功能');\r\n return;\r\n }\r\n this.setState({\r\n memberPhoto: true,\r\n titleModal: '选择头像'\r\n })\r\n }\r\n }\r\n\r\n openShowModal = (status, res) => {\r\n let title = '';\r\n const { data: { Member = {} } = {} } = this.context.viewModel || {};\r\n const {newAvatar} = this.state;\r\n const jsMember = toJS(Member);\r\n const updateMember = newAvatar ? {...jsMember, ImageFile: newAvatar} : jsMember;\r\n switch (status) {\r\n case 0:\r\n title = '会员详情';\r\n this.setState({ viewMemberInfo: updateMember })\r\n break;\r\n case 1:\r\n title = '到店会员';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n case 2:\r\n title = '人脸识别';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n }\r\n this.setState({\r\n status: status,\r\n memberShow: true,\r\n titleModal: title\r\n })\r\n }\r\n\r\n openCloseModal = () => {\r\n const { setMemberFocus } = this.props;\r\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\r\n const uiState = memberStore.uiState;\r\n const IsIntegralExchange = memberStore.store && memberStore.store.data && memberStore.store.data.IsIntegralExchange\r\n if (!!uiState.tip) {\r\n Message.info(uiState.tip)\r\n return;\r\n }\r\n ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '关闭会员',\r\n content: `${IsIntegralExchange ? \"关闭会员将会清空商品信息!\" : \"确定要关闭该会员吗?\"}`,\r\n onOk: () => {\r\n this.ms.clearSeletMember();\r\n stores.selectMemberStore.clearMemberCare();\r\n typeof setMemberFocus == 'function' && setMemberFocus();\r\n }\r\n })\r\n }\r\n\r\n //关闭生日提醒\r\n handleCloseBirthdayModal = () => {\r\n this.ms.changeBirthdayShow(false);\r\n }\r\n\r\n //会员关怀-送礼\r\n handleMemberCareModal = () => {\r\n this.setState({ isMemberCareModal: true })\r\n }\r\n handleMemberCareModalCancel = () => {\r\n this.setState({ isMemberCareModal: false })\r\n }\r\n\r\n handleSearch = (val) => {\r\n this.setState({ searchValue: val })\r\n }\r\n\r\n handleFocus = (el) => {\r\n if (this.isMemberInputType) return;\r\n const _this = this;\r\n function cb() {\r\n _this.searchMember(undefined, 'ok');\r\n }\r\n Keyboard.open2((v) => {\r\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\r\n this.handleSearch(value);\r\n }, cb, this.keyboardClose , 'ByMember', localStore.get('ByMember'))\r\n }\r\n\r\n keyboardClose = () => {\r\n this.inputSearch.blur();\r\n }\r\n handleBlur = () => {\r\n Keyboard.close2();\r\n }\r\n\r\n handleReadICard = () => {\r\n this.readRfCard();\r\n }\r\n\r\n handleShowModal = (type, params) => {\r\n if (params) {\r\n this.setState({ dtMember: params, memberShow: type })\r\n } else {\r\n this.setState({ memberShow: type })\r\n }\r\n }\r\n\r\n handlePhotoModal = (type, newAvatar) => {\r\n if (newAvatar) {\r\n this.setState({\r\n newAvatar,\r\n memberPhoto: type\r\n })\r\n } else {\r\n this.setState({ memberPhoto: type })\r\n }\r\n } \r\n\r\n searchMember = (val, type) => {\r\n if(!stores.offlineSys.shouldInOffline()) return;\r\n if (!this.ms || this.searchLoading) return;\r\n const {searchValue} = this.state;\r\n val = val || (searchValue || '').trim();\r\n if (!val) return;\r\n const { memberSearched, selectMemberSuccess,setMemberFocus,getMemberBirthday, getMeStorageCard } = this.props;\r\n this.searchLoading = true;\r\n this.setState({searchVisible: true});\r\n this.ms.getSearchMember({\r\n currentPage: 1,\r\n pageSize: 10,\r\n key: val,\r\n isSingleMember: false\r\n }).then(ret => {\r\n this.searchLoading = false;\r\n const {ColumnInfo: columnInfo, Data} = ret || {};\r\n const data = JSON.parse(Data) || [];\r\n const info = data[0];\r\n this.setState({searchVisible: false, columnInfo});\r\n if (info && info.MemberType.IsStorage && this.isStorageCardInputType && this.iseyboardKEnter){\r\n getMeStorageCard && getMeStorageCard(true);\r\n this.handleSearch('');\r\n this.keypressStime = null;\r\n } else {\r\n getMeStorageCard && getMeStorageCard(false);\r\n }\r\n memberSearched && memberSearched(info, 'searched');\r\n if (info) {\r\n if (data.length > 1) {\r\n stores.drawerStore.init({\r\n title: '会员管理',\r\n key: 'member',\r\n onHide:()=>{\r\n },\r\n listArr: data,\r\n });\r\n this.setState({\r\n searchValue: null\r\n })\r\n } else {\r\n memberSearched && memberSearched(info, 'searched');\r\n userInfoFormat(info);\r\n if (errMessageTip(info)) return;\r\n this.ms.seletMember(info, true);\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n this.handleBlur();\r\n selectMemberSuccess && selectMemberSuccess();\r\n getMemberBirthday && getMemberBirthday(info.ID, (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n });\r\n }\r\n } else {\r\n if (type === 'ok'){\r\n Message.warn('会员不存在');\r\n if (this.isMobileEnvironment) {\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n }\r\n typeof setMemberFocus == 'function' && setMemberFocus();\r\n }\r\n }\r\n }).catch(err => {\r\n this.setState({searchVisible: false});\r\n this.searchLoading = false;\r\n memberSearched && memberSearched(undefined, 'err');\r\n })\r\n }\r\n\r\n //获取当前到店会员数量\r\n getInStoreMemberCount = () => {\r\n if (!this.ms) return;\r\n this.ms.getInStoreMemberCount().then(res => {\r\n const {data: {data: shopPerson} = {}} = res || {};\r\n this.setState({shopPerson});\r\n this.resetInShopMemberTimer(shopPerson);\r\n });\r\n }\r\n\r\n onKeyPressed = (e) => {\r\n const keyCode = e && e.keyCode\r\n if (keyCode === 13) {\r\n if (this.isMemberInputType) {\r\n let stime = this.keypressStime;\r\n let etime = Date.parse(new Date());\r\n if (etime - stime > 300) {\r\n this.handleSearch('')\r\n this.keypressStime = null;\r\n return Message.warn('未启用键盘录入功能');\r\n }\r\n this.keypressStime = null;\r\n }\r\n this.iseyboardKEnter = Date.parse(new Date()) - this.keypressStime > 300;\r\n if (this.isStorageCardInputType) {\r\n this.keypressStime = null;\r\n }\r\n if (this.searchLoading) return;\r\n this.searchMember(undefined, 'ok');\r\n }\r\n else if (this.isMemberInputType && !this.keypressStime && !(keyCode == 8)) {\r\n this.keypressStime = Date.parse(new Date())\r\n } else if (this.isStorageCardInputType && !this.keypressStime && !(keyCode == 8) && !this.isMemberInputType) {\r\n this.keypressStime = Date.parse(new Date())\r\n }\r\n }\r\n\r\n computedCoupon = (member = {}) => {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (!!isNewRetailBCPos) {\r\n return member.MemberCouponCount? member.MemberCouponCount : '0';\r\n } else {\r\n const couponKey = 'membercouponcount';\r\n const {DynamicPropertyKeys = [], DynamicPropertyValues = []} = member;\r\n const couponIndex = DynamicPropertyKeys.findIndex(v => v === couponKey);\r\n return ~couponIndex ? DynamicPropertyValues[couponIndex] : '0';\r\n }\r\n }\r\n\r\n loadFaceRecognition = (type) => {\r\n // type = 1:到店会员 type = 2:POS机人脸识别\r\n this.setState({faceLoading: type === 2, inShopLoading: type === 1});\r\n this.ms.loadInStoreMember(String(type))\r\n .then(res => {\r\n this.setState({faceLoading: false, inShopLoading: false});\r\n const {Data} = res || {};\r\n if (!JSON.parse(Data).length) {\r\n const tipMessage = ['当前没有到店会员', '未识别到人脸信息'];\r\n type === 1 && this.setState({shopPerson: 0});\r\n return Message.info(tipMessage[type - 1]);\r\n }\r\n type === 1 && this.getInStoreMemberCount();\r\n this.openShowModal(type, res);\r\n })\r\n .catch(err => {\r\n this.setState({faceLoading: false, inShopLoading: false});\r\n console.log(err)\r\n });\r\n }\r\n\r\n //移动端:扫描商品\r\n changeScanProduct = () => {\r\n if (this.scanObj) this.scanObj.startScan()\r\n }\r\n onScanResult = (res) => {\r\n this.setState({\r\n searchValue: res\r\n }, () => {\r\n this.onKeyPressed({ keyCode: 13 })\r\n })\r\n }\r\n\r\n setIsShowBirthdayTip = () => {\r\n stores.selectMemberStore.clearMemberCare()\r\n }\r\n\r\n getMemberBirthdayInfo = (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n }\r\n\r\n render() {\r\n const {\r\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\r\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible = false, columnInfo, isCC,\r\n isMemberCare, isMemberCareModal, isShowBirthdayTip\r\n } = this.state;\r\n const { mode = 'formal', authProcess, selectMemberSuccess } = this.props;\r\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\r\n const { data: { Member: dtMember = {} } = {}, items = [] } = this.context.viewModel || {};\r\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\r\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\r\n const isSelectedMember = !!dtMember.ID;\r\n const { Differentiate } = enumController.getEnumOj();\r\n const { memberCareInfo } = stores.selectMemberStore;\r\n let { isNewRetailBCPos } = platform || {};\r\n\r\n\r\n return (\r\n <div className='MemberContainer'>\r\n <div className='left'>\r\n {!isSelectedMember &&\r\n <div className='search'>\r\n <div className='b1'>\r\n <Input\r\n type='text'\r\n className=\"input\"\r\n id='memberPoint'\r\n placeholder='扫描/输入会员号'\r\n value={searchValue}\r\n ref={el => this.inputSearch = el && el.input}\r\n onChange={(e) => this.handleSearch(e.target.value)}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n onKeyDown={this.onKeyPressed}\r\n />\r\n <Spin\r\n className='search-spin'\r\n scale={0.8}\r\n type='circle-side'\r\n visible={searchVisible}\r\n />\r\n </div>\r\n <div className='b2'>\r\n {\r\n this.hasElectron === true && this.iCCardServer === 1 &&\r\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\r\n }\r\n {\r\n this.isHorizontalPad ?\r\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\r\n :\r\n (\r\n false && this.openFaceRecognition === 1 && !faceLoading &&\r\n <div className='openFaceRecognition-box'>\r\n <Ticon className='icon' onClick={() => this.loadFaceRecognition(2)} type=\"renlianshibie\" />\r\n <Spin\r\n className='face-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={faceLoading}\r\n />\r\n </div>\r\n )\r\n }\r\n {\r\n /* 扫描组件 */\r\n this.isHorizontalPad &&\r\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanResult} />\r\n }\r\n </div>\r\n </div>\r\n }\r\n {isSelectedMember &&\r\n <div className={`info ${this.openFaceRecognition ? '' : 'member-btn-hidden-flex'}`}>\r\n <div className='first'>\r\n <img onClick={this.openPhotoModal} src={newAvatar || dtMember.ImageFile || emptyMemberImage} />\r\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"shengri\" className='shengriIcon'></Ticon>\r\n }\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <div className='birthdayContent'>\r\n <div className='birthdayWarn'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\r\n <Button colors=\"warn\" onClick={this.handleMemberCareModal} className='check bg-theme'>查看</Button>\r\n <Ticon type=\"cuowuda\" className='cuowudaIcon'></Ticon>\r\n </div>\r\n }\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"cuowuda\" onClick={() => { this.setIsShowBirthdayTip()}} className='cuowudaIcon'></Ticon>\r\n }\r\n </div>\r\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\r\n <div className='one'>\r\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\r\n <div className='b'>{dtMember.CardCode}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\r\n <div className='b'>余额</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{this.computedCoupon(dtMember)}</div>\r\n <div className='b'>{Differentiate.COUPON}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\r\n <div className='b'>积分</div>\r\n </div>\r\n </div>\r\n <div className='close'>\r\n {!isTakeTheir && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n {/* {\r\n memberCareInfo && memberCareInfo.isTicket ? <div className='float'>\r\n <div className='txt'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\r\n <div className='btn' onClick={this.handleMemberCareModal}>查看</div>\r\n <div className='cancel'>\r\n <Ticon type='guanbixiao' onClick={() => {\r\n this.setIsShowBirthdayTip()\r\n }}/>\r\n </div>\r\n </div> : null\r\n } */}\r\n {!!this.openFaceRecognition && <div className='right'>\r\n <Button type=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\r\n {!inShopLoading && '到店会员'}\r\n <Spin\r\n className='inshop-member-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={inShopLoading}\r\n />\r\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\r\n </Button>\r\n </div>}\r\n <MemberModal\r\n mode={mode}\r\n authProcess={authProcess}\r\n viewMemberInfo={viewMemberInfo}\r\n columnInfo={columnInfo}\r\n status={status}\r\n showModal={memberShow}\r\n titleModal={titleModal}\r\n selectMemberSuccess={selectMemberSuccess}\r\n handleModal={this.handleShowModal}\r\n />\r\n <ModalWraper\r\n show={isMemberCareModal}\r\n className='member-care-modal'\r\n width='688'\r\n centered={true}\r\n memberClass='memberCareWidth'\r\n cancel={this.handleMemberCareModalCancel}\r\n >\r\n <div className='first'>会员生日关怀</div>\r\n <div className='second'>\r\n <div className='secondContent'>\r\n <Ticon type='dengpao'/>\r\n <span>口头关怀客户,提示引导客户去线上商城领取权益。</span>\r\n </div>\r\n </div>\r\n <div className='third'>\r\n <div className='one'>\r\n <img src={emptyMemberImage} />\r\n <Ticon type='shengri' />\r\n </div>\r\n <div className='two'>\r\n {\r\n memberCareInfo && memberCareInfo.daysToBirthday === 0 ? <span>\r\n 今天是{dtMember.Name}的生日,该会员是{dtMember.MemberType.Name},可享受以下权益\r\n </span> : <span>\r\n {dtMember.Name}会员还有{memberCareInfo && memberCareInfo.daysToBirthday}天生日,该会员是{dtMember.MemberType.Name},可享受以下权益\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n {\r\n memberCareInfo && <div className='fourth'>\r\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple && <div className='item'>1.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple}</div>}\r\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive && <div className='item'>2.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive}</div>}\r\n {\r\n memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].couponIdMapList.map((value, index) => {\r\n let count = 0;\r\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple) {\r\n count += 1;\r\n }\r\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive) {\r\n count += 1;\r\n }\r\n return (<div className='item'>{count + 1 + index}.{value.name}</div>)\r\n })\r\n }\r\n </div>\r\n }\r\n </ModalWraper>\r\n {\r\n !isNewRetailBCPos && <ModalWraper show={this.ms.birthdayShow} centered={true} className='member-birthday'>\r\n <div className='picture'>\r\n <img width='350' height='308' src={memberBirthday} />\r\n <Ticon type=\"guanbi-yuan\" onClick={this.handleCloseBirthdayModal} />\r\n </div>\r\n <div className='remark'>今天是会员<span>{dtMember.Name || dtMember.CardCode}</span>的生日</div>\r\n </ModalWraper>\r\n }\r\n </div>\r\n );\r\n }\r\n}\r\nexport default MemberTag\r\n"]}
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = undefined;
7
7
 
8
+ var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
9
+
10
+ var _defineProperty3 = _interopRequireDefault(_defineProperty2);
11
+
8
12
  var _regenerator = require('babel-runtime/regenerator');
9
13
 
10
14
  var _regenerator2 = _interopRequireDefault(_regenerator);
@@ -161,7 +165,7 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
161
165
  className: 'memberContainer1',
162
166
  memberClass: 'memberClassWidth',
163
167
  onHide: function onHide() {
164
- return _mutantsMicrofx.stores.modalRouter.hide('/memberstore');
168
+ _mutantsMicrofx.stores.modalRouter.hide('/memberstore');
165
169
  }
166
170
  });
167
171
  }
@@ -222,7 +226,9 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
222
226
  return _ref2.apply(this, arguments);
223
227
  };
224
228
  }(),
225
- onCancel: function onCancel() {}
229
+ onCancel: function onCancel() {},
230
+
231
+ onHide: function onHide() {}
226
232
  });
227
233
  };
228
234
 
@@ -272,7 +278,9 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
272
278
  return _ref3.apply(this, arguments);
273
279
  };
274
280
  }(),
275
- onCancel: function onCancel() {}
281
+ onCancel: function onCancel() {},
282
+
283
+ onHide: function onHide() {}
276
284
  });
277
285
  };
278
286
 
@@ -304,7 +312,7 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
304
312
  });
305
313
  _tplusComponentsTouch.Loading.hide();
306
314
  });
307
- _mutantsMicrofx.stores.modalRouter.show({
315
+ _mutantsMicrofx.stores.modalRouter.show((0, _defineProperty3.default)({
308
316
  url: '/AA/OPENCARD',
309
317
  title: '开卡',
310
318
  className: 'memberAddModal',
@@ -317,7 +325,7 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
317
325
  member.MemberState.Id = memberEnumState.using;
318
326
  // loadUserInfo(selected, ID, member, true, true);
319
327
  }
320
- });
328
+ }, 'onHide', function onHide() {}));
321
329
  _tplusComponentsTouch.Loading.hide();
322
330
  };
323
331
 
@@ -613,6 +621,9 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
613
621
  });
614
622
  this.handleEvent(auth).then(function (ret) {
615
623
  if (ret === true) {
624
+ var _ref11 = _mutantsUtil.platform || {},
625
+ isHorizontalSunMi = _ref11.isHorizontalSunMi;
626
+
616
627
  switch (key) {
617
628
  case 'storage':
618
629
  _this4.storage();break;
@@ -633,8 +644,8 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
633
644
  }, {
634
645
  key: 'jusIsAllAuthority',
635
646
  value: function jusIsAllAuthority(count) {
636
- var _ref11 = _mutantsUtil.platform || {},
637
- isNewRetailBCPos = _ref11.isNewRetailBCPos;
647
+ var _ref12 = _mutantsUtil.platform || {},
648
+ isNewRetailBCPos = _ref12.isNewRetailBCPos;
638
649
 
639
650
  if (isNewRetailBCPos) {
640
651
  var changeIsAllAuthority = this.props.changeIsAllAuthority;
@@ -689,10 +700,10 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
689
700
  cancel: this.changePasswordCancel,
690
701
  btnDissabled: btnDissabled
691
702
  },
692
- passwordTitle === '换卡' ? _react2.default.createElement(_changeMemberCard2.default, { modifyMember: modifyMember, member: member, ref: function ref(_ref12) {
693
- return _this5.modifyPass = _ref12;
694
- }, cancelModal: this.changePasswordCancel }) : _react2.default.createElement(_modifyPass2.default, { changeBtnDisabled: this.changeBtnDisabled, loadUserInfo: loadUserInfo, selected: selected, storageInit: this.storageInit, passwordTitle: !member.WalletEnabled ? '设置密码' : passwordTitle, modifyMember: modifyMember, ref: function ref(_ref13) {
703
+ passwordTitle === '换卡' ? _react2.default.createElement(_changeMemberCard2.default, { modifyMember: modifyMember, member: member, ref: function ref(_ref13) {
695
704
  return _this5.modifyPass = _ref13;
705
+ }, cancelModal: this.changePasswordCancel }) : _react2.default.createElement(_modifyPass2.default, { changeBtnDisabled: this.changeBtnDisabled, loadUserInfo: loadUserInfo, selected: selected, storageInit: this.storageInit, passwordTitle: !member.WalletEnabled ? '设置密码' : passwordTitle, modifyMember: modifyMember, ref: function ref(_ref14) {
706
+ return _this5.modifyPass = _ref14;
696
707
  }, member: member, cancelModal: this.changePasswordCancel })
697
708
  )
698
709
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/memberMenu/index.js"],"names":["menus","key","name","visible","icon","auth","SHORTCUT_KEY","display","finish","semi","observer","filterMenus","tags","filter","menu","indexOf","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","storageInit","props","member","loadUserInfo","selected","ID","stores","memberStore","init","settlementControlEvent","onSettleSuccess","modalRouter","hide","callback","show","url","title","className","memberClass","onHide","changePasswordClick","modifyPass","handleOk","changePasswordCancel","setState","handleCancel","reportLoss","handleChange","memberEnumState","ModalWraper","confirm","content","onOk","api","RecordLoss","then","Success","ret","Msg","Data","dt","JSON","parse","Ts","MemberState","Id","loss","Message","success","error","catch","console","log","e","onCancel","cancelLoss","UnRecordLoss","using","openCard","IsStorage","MemberType","GetMemberDTO","selectMemberStore","setCurMemberInfo","modalType","closeCk","Loading","destroyOnClose","changeBtnDisabled","value","btnDissabled","getMenuItem","index","loadingBtn","state","setPwdShortKey","newStyle","localStore","get","click","WalletEnabled","passwordTitle","warnContent","MemberStore","changeDisplay","setting_setData","localStorage","getItem","length","forEach","settingItem","ParamType","Name","Value","item","setTimeout","changeState","flag","list","notusing","memberDto","operationName","viewM","getViewItem","AuthType","warn","platform","isNewRetailBCPos","handleEvent","storage","changePassword","resetPassword","count","changeIsAllAuthority","authProcess","modifyMember","map","status","execute","ref","Component","contextTypes","PropTypes","func","object"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { observer, stores } from \"mutants-microfx\"\r\nimport { Action } from 'mutants-appfx'\r\nimport { toJS } from 'mobx';\r\nimport './style.less';\r\nimport { Ticon, ModalWraper, Message,Loading } from 'tplus-components-touch'\r\nimport { platform, localStore, enumController } from 'mutants-util';\r\nimport ModifyPass from './modifyPass'\r\nimport ChangeMemberCard from './changeMemberCard'\r\nimport { PropTypes } from 'prop-types'\r\nimport MemberStore from '../api';\r\n\r\nlet menus = [{\r\n key: 'storage',\r\n name: '储值',\r\n visible: true,\r\n icon: 'chuzhi',\r\n auth:'MemberStorage',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'changePassword',\r\n name: '修改密码',\r\n visible: true,\r\n icon: 'xiugaimima1',\r\n auth:'ModifyPassword',\r\n SHORTCUT_KEY: ''\r\n},\r\n// {\r\n// key: 'reportLoss',\r\n// name: '挂失',\r\n// visible: true,\r\n// icon: 'guashi',\r\n// auth:'RecordLoss'\r\n\r\n// },\r\n {\r\n key: 'cancelLoss',\r\n name: '取消挂失',\r\n visible: true,\r\n icon: 'quxiaoguashi',\r\n auth:'RecordLoss',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'openCard',\r\n name: '开卡',\r\n visible: true,\r\n icon: 'quxiaoguashi',\r\n auth:'MemberCardActive',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'resetPassword',\r\n name: '重置密码',\r\n visible: true,\r\n icon: 'chongzhimima',\r\n auth:'PosResetPwd',\r\n SHORTCUT_KEY: ''\r\n}]\r\nconst display = {\r\n finish: ['storage', 'changePassword', 'reportLoss', 'cancelLoss'],\r\n semi: ['openCard']\r\n}\r\n@observer\r\nexport default class extends Component {\r\n\r\n constructor() {\r\n super()\r\n this.state = {\r\n menus: menus,\r\n modifyPass: false,\r\n passwordTitle: '换卡',\r\n btnDissabled: true,\r\n warnContent: '',\r\n setPwdShortKey: ''\r\n }\r\n this.api = MemberStore;\r\n }\r\n\r\n static contextTypes = {\r\n onEvent: PropTypes.func,\r\n viewModel: PropTypes.object,\r\n stores: PropTypes.object\r\n }\r\n\r\n componentWillMount() {\r\n this.changeDisplay('finish')\r\n }\r\n\r\n componentDidMount() {\r\n let { member } = this.props;\r\n let setting_setData = localStore.get(\"setting_setData\");\r\n if(setting_setData == null){ \r\n setting_setData = JSON.parse(localStorage.getItem(\"setting_setData\"));\r\n }\r\n if(setting_setData && setting_setData.length != 0){\r\n setting_setData.forEach((settingItem)=>{\r\n if(settingItem.ParamType && settingItem.ParamType === \"SHORTCUT_KEY\"){\r\n const { Name, Value} = settingItem || {};\r\n menus.forEach((item) => {\r\n if (item.auth === Name) {\r\n item.SHORTCUT_KEY = Value;\r\n }\r\n })\r\n if (Name === 'MemberSetPassword') {\r\n this.setState({\r\n setPwdShortKey: Value\r\n })\r\n }\r\n }\r\n })\r\n }\r\n setTimeout(() => { this.changeState() }, 0)\r\n }\r\n\r\n componentWillReceiveProps() {\r\n this.changeState()\r\n }\r\n\r\n filterMenus = (tags) => {\r\n return menus.filter((menu) => {\r\n return ~tags.indexOf(menu.key)\r\n })\r\n }\r\n\r\n changeDisplay(flag = 'finish') {\r\n const menus = this.filterMenus(display[flag])\r\n this.setState({ menus });\r\n }\r\n\r\n changeState() {\r\n let { member, memberEnumState } = this.props;\r\n let list = menus;\r\n\r\n if (member && member.MemberState) {\r\n if(member.MemberState.Id == memberEnumState.notusing){\r\n this.changeDisplay('semi')\r\n return;\r\n }\r\n this.changeDisplay('finish')\r\n if (member.MemberState.Id == memberEnumState.loss) {\r\n list = menus.filter((menu) => {\r\n return menu.key !== 'reportLoss'&&menu.key !== 'openCard'\r\n })\r\n }else{\r\n list = menus.filter((menu) => {\r\n return menu.key !== 'cancelLoss'&&menu.key !== 'openCard'\r\n })\r\n }\r\n }\r\n this.setState({ menus: list })\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n return this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n async handleEvent(auth) {\r\n const { member } = this.props;\r\n await this.controllerEvent('ValidateOperationName', { memberDto: member, operationName: auth });\r\n let viewM = this.context.viewModel.getViewItem('Voucher');\r\n if (viewM && viewM.AuthType === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n async storage() {\r\n const { member} = this.props;\r\n const { MemberType: { IsStorage }, WalletEnabled } = member || {};\r\n if (IsStorage === false) {\r\n Message.warn('当前会员没有启用储值.')\r\n return;\r\n }\r\n let { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n if (WalletEnabled) {\r\n this.storageInit();\r\n } else {\r\n this.setState({ modifyPass: true, passwordTitle: '设置密码', warnContent: '' });\r\n }\r\n } else {\r\n this.storageInit();\r\n } \r\n }\r\n\r\n storageInit = () => {\r\n const { member, loadUserInfo, selected } = this.props;\r\n const { ID } = member || {};\r\n stores.memberStore.init({\r\n member: toJS(member),\r\n settlementControlEvent: {\r\n onSettleSuccess: () => {\r\n stores.modalRouter.hide('/memberstore')\r\n loadUserInfo(selected, ID, member, true, true)\r\n }\r\n },\r\n callback: () => {\r\n stores.modalRouter.show({\r\n url: '/memberstore',\r\n title: '会员储值',\r\n className: 'memberContainer1',\r\n memberClass:'memberClassWidth',\r\n onHide: () => stores.modalRouter.hide('/memberstore')\r\n })\r\n }\r\n })\r\n }\r\n\r\n //修改密码\r\n changePasswordClick = () => {\r\n if (this.modifyPass) this.modifyPass.handleOk()\r\n }\r\n // 修改密码\r\n changePassword() {\r\n this.setState({ modifyPass: true, passwordTitle: '修改密码' });\r\n }\r\n\r\n // 重置密码\r\n resetPassword() {\r\n this.setState({ modifyPass: true, passwordTitle: '重置密码' });\r\n }\r\n\r\n changePasswordCancel = () => {\r\n this.setState({ modifyPass: false })\r\n this.modifyPass.handleCancel();\r\n }\r\n\r\n // 注销卡\r\n reportLoss = () => {\r\n let { member, handleChange, memberEnumState } = this.props;\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '确定要挂失该会员卡吗?',\r\n onOk: async () => {\r\n this.api.RecordLoss(member).then(ret => {\r\n const { Success, Msg, Data } = ret;\r\n if (Success === true && Data) {\r\n const dt = JSON.parse(Data);\r\n member.Ts = dt.Ts;\r\n member.MemberState.Id = memberEnumState.loss;\r\n handleChange && handleChange(member);\r\n Message.success('挂失成功。')\r\n } else {\r\n Message.error(\"挂失失败:\" + Msg)\r\n }\r\n }).catch(e => {\r\n console.log('err', e);\r\n })\r\n },\r\n onCancel() {\r\n }\r\n })\r\n }\r\n //取消注销卡\r\n cancelLoss = () => {\r\n if(!this.api) return;\r\n let { member,handleChange, memberEnumState } = this.props;\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '确定要取消挂失该会员卡吗?',\r\n onOk: async () => {\r\n this.api.UnRecordLoss(member).then(ret => {\r\n const { Success, Msg, Data } = ret;\r\n if (Success === true && Data) {\r\n const dt = JSON.parse(Data);\r\n member.Ts = dt.Ts;\r\n member.MemberState.Id = memberEnumState.using;\r\n handleChange && handleChange(member);\r\n Message.success('取消挂失成功。')\r\n } else {\r\n Message.error(\"取消挂失败:\" + Msg)\r\n }\r\n }).catch(e => {\r\n console.log('err', e);\r\n })\r\n },\r\n onCancel() {\r\n }\r\n })\r\n }\r\n\r\n openCard = () => {\r\n const { member, loadUserInfo, selected, memberEnumState } = this.props;\r\n const { ID, MemberType: { IsStorage } } = member || {};\r\n memberStore.GetMemberDTO(ID, false).then((ret) => {\r\n stores.selectMemberStore.setCurMemberInfo(ret)\r\n stores.modalRouter.show({\r\n url: '/AA/OPENCARD',\r\n title: '开卡',\r\n className: 'memberAddModal',\r\n modalType: 'big',\r\n onHide: () => stores.modalRouter.hide('/AA/OPENCARD'),\r\n closeCk: () => {\r\n member.MemberState.Id = memberEnumState.using;\r\n // loadUserInfo(selected, ID, member, true, true);\r\n }\r\n })\r\n Loading.hide();\r\n })\r\n stores.modalRouter.show({\r\n url: '/AA/OPENCARD',\r\n title: '开卡',\r\n className: 'memberAddModal',\r\n modalType: 'big',\r\n destroyOnClose: true,\r\n onHide: () => stores.modalRouter.hide('/AA/OPENCARD'),\r\n closeCk: () => {\r\n member.MemberState.Id = memberEnumState.using;\r\n // loadUserInfo(selected, ID, member, true, true);\r\n }\r\n })\r\n Loading.hide();\r\n }\r\n\r\n click(key, auth) {\r\n this.setState({\r\n warnContent: ''\r\n })\r\n this.handleEvent(auth).then(ret=>{\r\n if (ret === true) {\r\n switch (key) {\r\n case 'storage': this.storage(); break;\r\n case 'changePassword': this.changePassword(); break;\r\n case 'reportLoss': this.reportLoss(); break;\r\n case 'cancelLoss': this.cancelLoss(); break;\r\n case 'openCard': this.openCard(); break;\r\n case 'resetPassword': this.resetPassword(); break;\r\n }\r\n }\r\n })\r\n }\r\n\r\n jusIsAllAuthority(count) {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n const { changeIsAllAuthority } = this.props\r\n if (!count) {\r\n changeIsAllAuthority && changeIsAllAuthority()\r\n }\r\n }\r\n }\r\n\r\n changeBtnDisabled = (value) => {\r\n this.setState({\r\n btnDissabled: value\r\n })\r\n }\r\n\r\n getMenuItem = (index, menu) => {\r\n let { member, loadingBtn} = this.props;\r\n const { setPwdShortKey } = this.state || {};\r\n let newStyle =localStore && localStore.get('voucherDefaultPosMode')=='voucher';\r\n // 控制显示修改密码还是设置密码\r\n if (menu.auth === 'ModifyPassword') {\r\n return <div key={index} className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth)\r\n }}\r\n >\r\n {\r\n member.WalletEnabled ? <div><Ticon icon={menu.icon}></Ticon><span>修改密码</span><div className='menuHotkey'>{menu.SHORTCUT_KEY}</div></div> : \r\n <div><Ticon icon={menu.icon}></Ticon><span>设置密码</span><div className='menuHotkey'>{setPwdShortKey}</div></div>\r\n } \r\n </div>\r\n } else if (!member.WalletEnabled && menu.auth === 'PosResetPwd') {\r\n return;\r\n } else {\r\n return <div key={index} className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth)\r\n }}\r\n >\r\n <Ticon icon={menu.icon}></Ticon><span>{menu.name}</span>\r\n <div className='menuHotkey'>{menu.SHORTCUT_KEY}</div>\r\n </div>\r\n }\r\n }\r\n\r\n render() {\r\n const { menus, modifyPass, passwordTitle, btnDissabled } = this.state;\r\n let { member, authProcess, loadUserInfo, selected, modifyMember} = this.props;\r\n return (\r\n <div className='member-menu'>\r\n {\r\n menus && menus.map((menu,index) => {\r\n let status = authProcess.execute(menu.auth);\r\n if (status) {\r\n return this.getMenuItem(index, menu)\r\n } else {\r\n if (menu.auth === 'ModifyPassword') {\r\n return this.getMenuItem(index, menu)\r\n } else {\r\n return '';\r\n }\r\n }\r\n })\r\n }\r\n <ModalWraper\r\n title={!member.WalletEnabled ? '设置密码' : passwordTitle}\r\n show={modifyPass}\r\n ok={this.changePasswordClick}\r\n className='modify-password'\r\n modalType='mid'\r\n closeButton={true}\r\n exclueBoard={true}\r\n cancel={this.changePasswordCancel}\r\n btnDissabled={btnDissabled}\r\n >\r\n {\r\n passwordTitle === '换卡' ?\r\n <ChangeMemberCard modifyMember={modifyMember} member={member} ref={ref => this.modifyPass = ref} cancelModal={this.changePasswordCancel}></ChangeMemberCard>:\r\n <ModifyPass changeBtnDisabled={this.changeBtnDisabled} loadUserInfo={loadUserInfo} selected={selected} storageInit={this.storageInit} passwordTitle={\r\n !member.WalletEnabled ? '设置密码' : passwordTitle\r\n } modifyMember={modifyMember} ref={ref => this.modifyPass = ref} member={member} cancelModal={this.changePasswordCancel}></ModifyPass>\r\n }\r\n </ModalWraper>\r\n </div>\r\n )\r\n }\r\n}"]}
1
+ {"version":3,"sources":["tplus-member/member/memberMenu/index.js"],"names":["menus","key","name","visible","icon","auth","SHORTCUT_KEY","display","finish","semi","observer","filterMenus","tags","filter","menu","indexOf","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","storageInit","props","member","loadUserInfo","selected","ID","stores","memberStore","init","settlementControlEvent","onSettleSuccess","modalRouter","hide","callback","show","url","title","className","memberClass","onHide","changePasswordClick","modifyPass","handleOk","changePasswordCancel","setState","handleCancel","reportLoss","handleChange","memberEnumState","ModalWraper","confirm","content","onOk","api","RecordLoss","then","Success","ret","Msg","Data","dt","JSON","parse","Ts","MemberState","Id","loss","Message","success","error","catch","console","log","e","onCancel","cancelLoss","UnRecordLoss","using","openCard","IsStorage","MemberType","GetMemberDTO","selectMemberStore","setCurMemberInfo","modalType","closeCk","Loading","destroyOnClose","changeBtnDisabled","value","btnDissabled","getMenuItem","index","loadingBtn","state","setPwdShortKey","newStyle","localStore","get","click","WalletEnabled","passwordTitle","warnContent","MemberStore","changeDisplay","setting_setData","localStorage","getItem","length","forEach","settingItem","ParamType","Name","Value","item","setTimeout","changeState","flag","list","notusing","memberDto","operationName","viewM","getViewItem","AuthType","warn","platform","isNewRetailBCPos","handleEvent","isHorizontalSunMi","storage","changePassword","resetPassword","count","changeIsAllAuthority","authProcess","modifyMember","map","status","execute","ref","Component","contextTypes","PropTypes","func","object"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { observer, stores } from \"mutants-microfx\"\r\nimport { Action } from 'mutants-appfx'\r\nimport { toJS } from 'mobx';\r\nimport './style.less';\r\nimport { Ticon, ModalWraper, Message,Loading } from 'tplus-components-touch'\r\nimport { platform, localStore, enumController } from 'mutants-util';\r\nimport ModifyPass from './modifyPass'\r\nimport ChangeMemberCard from './changeMemberCard'\r\nimport { PropTypes } from 'prop-types'\r\nimport MemberStore from '../api';\r\n\r\nlet menus = [{\r\n key: 'storage',\r\n name: '储值',\r\n visible: true,\r\n icon: 'chuzhi',\r\n auth:'MemberStorage',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'changePassword',\r\n name: '修改密码',\r\n visible: true,\r\n icon: 'xiugaimima1',\r\n auth:'ModifyPassword',\r\n SHORTCUT_KEY: ''\r\n},\r\n// {\r\n// key: 'reportLoss',\r\n// name: '挂失',\r\n// visible: true,\r\n// icon: 'guashi',\r\n// auth:'RecordLoss'\r\n\r\n// },\r\n {\r\n key: 'cancelLoss',\r\n name: '取消挂失',\r\n visible: true,\r\n icon: 'quxiaoguashi',\r\n auth:'RecordLoss',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'openCard',\r\n name: '开卡',\r\n visible: true,\r\n icon: 'quxiaoguashi',\r\n auth:'MemberCardActive',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'resetPassword',\r\n name: '重置密码',\r\n visible: true,\r\n icon: 'chongzhimima',\r\n auth:'PosResetPwd',\r\n SHORTCUT_KEY: ''\r\n}]\r\nconst display = {\r\n finish: ['storage', 'changePassword', 'reportLoss', 'cancelLoss'],\r\n semi: ['openCard']\r\n}\r\n@observer\r\nexport default class extends Component {\r\n\r\n constructor() {\r\n super()\r\n this.state = {\r\n menus: menus,\r\n modifyPass: false,\r\n passwordTitle: '换卡',\r\n btnDissabled: true,\r\n warnContent: '',\r\n setPwdShortKey: ''\r\n }\r\n this.api = MemberStore;\r\n }\r\n\r\n static contextTypes = {\r\n onEvent: PropTypes.func,\r\n viewModel: PropTypes.object,\r\n stores: PropTypes.object\r\n }\r\n\r\n componentWillMount() {\r\n this.changeDisplay('finish')\r\n }\r\n\r\n componentDidMount() {\r\n let { member } = this.props;\r\n let setting_setData = localStore.get(\"setting_setData\");\r\n if(setting_setData == null){ \r\n setting_setData = JSON.parse(localStorage.getItem(\"setting_setData\"));\r\n }\r\n if(setting_setData && setting_setData.length != 0){\r\n setting_setData.forEach((settingItem)=>{\r\n if(settingItem.ParamType && settingItem.ParamType === \"SHORTCUT_KEY\"){\r\n const { Name, Value} = settingItem || {};\r\n menus.forEach((item) => {\r\n if (item.auth === Name) {\r\n item.SHORTCUT_KEY = Value;\r\n }\r\n })\r\n if (Name === 'MemberSetPassword') {\r\n this.setState({\r\n setPwdShortKey: Value\r\n })\r\n }\r\n }\r\n })\r\n }\r\n setTimeout(() => { this.changeState() }, 0)\r\n }\r\n\r\n componentWillReceiveProps() {\r\n this.changeState()\r\n }\r\n\r\n filterMenus = (tags) => {\r\n return menus.filter((menu) => {\r\n return ~tags.indexOf(menu.key)\r\n })\r\n }\r\n\r\n changeDisplay(flag = 'finish') {\r\n const menus = this.filterMenus(display[flag])\r\n this.setState({ menus });\r\n }\r\n\r\n changeState() {\r\n let { member, memberEnumState } = this.props;\r\n let list = menus;\r\n\r\n if (member && member.MemberState) {\r\n if(member.MemberState.Id == memberEnumState.notusing){\r\n this.changeDisplay('semi')\r\n return;\r\n }\r\n this.changeDisplay('finish')\r\n if (member.MemberState.Id == memberEnumState.loss) {\r\n list = menus.filter((menu) => {\r\n return menu.key !== 'reportLoss'&&menu.key !== 'openCard'\r\n })\r\n }else{\r\n list = menus.filter((menu) => {\r\n return menu.key !== 'cancelLoss'&&menu.key !== 'openCard'\r\n })\r\n }\r\n }\r\n this.setState({ menus: list })\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n return this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n async handleEvent(auth) {\r\n const { member } = this.props;\r\n await this.controllerEvent('ValidateOperationName', { memberDto: member, operationName: auth });\r\n let viewM = this.context.viewModel.getViewItem('Voucher');\r\n if (viewM && viewM.AuthType === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n async storage() {\r\n const { member} = this.props;\r\n const { MemberType: { IsStorage }, WalletEnabled } = member || {};\r\n if (IsStorage === false) {\r\n Message.warn('当前会员没有启用储值.')\r\n return;\r\n }\r\n let { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n if (WalletEnabled) {\r\n this.storageInit();\r\n } else {\r\n this.setState({ modifyPass: true, passwordTitle: '设置密码', warnContent: '' });\r\n }\r\n } else {\r\n this.storageInit();\r\n } \r\n }\r\n\r\n storageInit = () => {\r\n const { member, loadUserInfo, selected } = this.props;\r\n const { ID } = member || {};\r\n stores.memberStore.init({\r\n member: toJS(member),\r\n settlementControlEvent: {\r\n onSettleSuccess: () => {\r\n stores.modalRouter.hide('/memberstore')\r\n loadUserInfo(selected, ID, member, true, true)\r\n }\r\n },\r\n callback: () => {\r\n stores.modalRouter.show({\r\n url: '/memberstore',\r\n title: '会员储值',\r\n className: 'memberContainer1',\r\n memberClass:'memberClassWidth',\r\n onHide: () => {\r\n stores.modalRouter.hide('/memberstore')\r\n } \r\n })\r\n }\r\n })\r\n }\r\n\r\n //修改密码\r\n changePasswordClick = () => {\r\n if (this.modifyPass) this.modifyPass.handleOk()\r\n }\r\n // 修改密码\r\n changePassword() {\r\n this.setState({ modifyPass: true, passwordTitle: '修改密码' });\r\n }\r\n\r\n // 重置密码\r\n resetPassword() {\r\n this.setState({ modifyPass: true, passwordTitle: '重置密码' });\r\n }\r\n\r\n changePasswordCancel = () => {\r\n this.setState({ modifyPass: false })\r\n this.modifyPass.handleCancel();\r\n }\r\n\r\n // 注销卡\r\n reportLoss = () => {\r\n let { member, handleChange, memberEnumState } = this.props;\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '确定要挂失该会员卡吗?',\r\n onOk: async () => {\r\n this.api.RecordLoss(member).then(ret => {\r\n const { Success, Msg, Data } = ret;\r\n if (Success === true && Data) {\r\n const dt = JSON.parse(Data);\r\n member.Ts = dt.Ts;\r\n member.MemberState.Id = memberEnumState.loss;\r\n handleChange && handleChange(member);\r\n Message.success('挂失成功。')\r\n } else {\r\n Message.error(\"挂失失败:\" + Msg)\r\n }\r\n }).catch(e => {\r\n console.log('err', e);\r\n })\r\n },\r\n onCancel() {\r\n },\r\n onHide: () => { \r\n }\r\n })\r\n }\r\n //取消注销卡\r\n cancelLoss = () => {\r\n if(!this.api) return;\r\n let { member,handleChange, memberEnumState } = this.props;\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '确定要取消挂失该会员卡吗?',\r\n onOk: async () => {\r\n this.api.UnRecordLoss(member).then(ret => {\r\n const { Success, Msg, Data } = ret;\r\n if (Success === true && Data) {\r\n const dt = JSON.parse(Data);\r\n member.Ts = dt.Ts;\r\n member.MemberState.Id = memberEnumState.using;\r\n handleChange && handleChange(member);\r\n Message.success('取消挂失成功。')\r\n } else {\r\n Message.error(\"取消挂失败:\" + Msg)\r\n }\r\n }).catch(e => {\r\n console.log('err', e);\r\n })\r\n },\r\n onCancel() {\r\n },\r\n onHide: () => { \r\n }\r\n })\r\n }\r\n\r\n openCard = () => {\r\n const { member, loadUserInfo, selected, memberEnumState } = this.props;\r\n const { ID, MemberType: { IsStorage } } = member || {};\r\n memberStore.GetMemberDTO(ID, false).then((ret) => {\r\n stores.selectMemberStore.setCurMemberInfo(ret)\r\n stores.modalRouter.show({\r\n url: '/AA/OPENCARD',\r\n title: '开卡',\r\n className: 'memberAddModal',\r\n modalType: 'big',\r\n onHide: () => stores.modalRouter.hide('/AA/OPENCARD'),\r\n closeCk: () => {\r\n member.MemberState.Id = memberEnumState.using;\r\n // loadUserInfo(selected, ID, member, true, true);\r\n }\r\n })\r\n Loading.hide();\r\n })\r\n stores.modalRouter.show({\r\n url: '/AA/OPENCARD',\r\n title: '开卡',\r\n className: 'memberAddModal',\r\n modalType: 'big',\r\n destroyOnClose: true,\r\n onHide: () => stores.modalRouter.hide('/AA/OPENCARD'),\r\n closeCk: () => {\r\n member.MemberState.Id = memberEnumState.using;\r\n // loadUserInfo(selected, ID, member, true, true);\r\n },\r\n onHide: () => { \r\n }\r\n })\r\n Loading.hide();\r\n } \r\n\r\n click(key, auth) {\r\n this.setState({\r\n warnContent: ''\r\n })\r\n this.handleEvent(auth).then(ret=>{\r\n if (ret === true) {\r\n const { isHorizontalSunMi } = platform || {};\r\n switch (key) {\r\n case 'storage': this.storage(); break;\r\n case 'changePassword': this.changePassword(); break;\r\n case 'reportLoss': this.reportLoss(); break;\r\n case 'cancelLoss': this.cancelLoss(); break;\r\n case 'openCard': this.openCard(); break;\r\n case 'resetPassword': this.resetPassword(); break;\r\n }\r\n }\r\n })\r\n }\r\n\r\n jusIsAllAuthority(count) {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n const { changeIsAllAuthority } = this.props\r\n if (!count) {\r\n changeIsAllAuthority && changeIsAllAuthority()\r\n }\r\n }\r\n }\r\n\r\n changeBtnDisabled = (value) => {\r\n this.setState({\r\n btnDissabled: value\r\n })\r\n }\r\n\r\n getMenuItem = (index, menu) => {\r\n let { member, loadingBtn} = this.props;\r\n const { setPwdShortKey } = this.state || {};\r\n let newStyle =localStore && localStore.get('voucherDefaultPosMode')=='voucher';\r\n // 控制显示修改密码还是设置密码\r\n if (menu.auth === 'ModifyPassword') {\r\n return <div key={index} className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth)\r\n }}\r\n >\r\n {\r\n member.WalletEnabled ? <div><Ticon icon={menu.icon}></Ticon><span>修改密码</span><div className='menuHotkey'>{menu.SHORTCUT_KEY}</div></div> : \r\n <div><Ticon icon={menu.icon}></Ticon><span>设置密码</span><div className='menuHotkey'>{setPwdShortKey}</div></div>\r\n } \r\n </div>\r\n } else if (!member.WalletEnabled && menu.auth === 'PosResetPwd') {\r\n return;\r\n } else {\r\n return <div key={index} className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth)\r\n }}\r\n >\r\n <Ticon icon={menu.icon}></Ticon><span>{menu.name}</span>\r\n <div className='menuHotkey'>{menu.SHORTCUT_KEY}</div>\r\n </div>\r\n }\r\n }\r\n\r\n render() {\r\n const { menus, modifyPass, passwordTitle, btnDissabled } = this.state;\r\n let { member, authProcess, loadUserInfo, selected, modifyMember} = this.props;\r\n return (\r\n <div className='member-menu'>\r\n {\r\n menus && menus.map((menu,index) => {\r\n let status = authProcess.execute(menu.auth);\r\n if (status) {\r\n return this.getMenuItem(index, menu)\r\n } else {\r\n if (menu.auth === 'ModifyPassword') {\r\n return this.getMenuItem(index, menu)\r\n } else {\r\n return '';\r\n }\r\n }\r\n })\r\n }\r\n <ModalWraper\r\n title={!member.WalletEnabled ? '设置密码' : passwordTitle}\r\n show={modifyPass}\r\n ok={this.changePasswordClick}\r\n className='modify-password'\r\n modalType='mid'\r\n closeButton={true}\r\n exclueBoard={true}\r\n cancel={this.changePasswordCancel}\r\n btnDissabled={btnDissabled}\r\n >\r\n {\r\n passwordTitle === '换卡' ?\r\n <ChangeMemberCard modifyMember={modifyMember} member={member} ref={ref => this.modifyPass = ref} cancelModal={this.changePasswordCancel}></ChangeMemberCard>:\r\n <ModifyPass changeBtnDisabled={this.changeBtnDisabled} loadUserInfo={loadUserInfo} selected={selected} storageInit={this.storageInit} passwordTitle={\r\n !member.WalletEnabled ? '设置密码' : passwordTitle\r\n } modifyMember={modifyMember} ref={ref => this.modifyPass = ref} member={member} cancelModal={this.changePasswordCancel}></ModifyPass>\r\n }\r\n </ModalWraper>\r\n </div>\r\n )\r\n }\r\n}"]}
@@ -57,6 +57,8 @@ var _mobx = require('mobx');
57
57
 
58
58
  var _mobxReact = require('mobx-react');
59
59
 
60
+ var _mutantsUtil = require('mutants-util');
61
+
60
62
  var _mutantsAppfx = require('mutants-appfx');
61
63
 
62
64
  var _tplusComponentsTouch = require('tplus-components-touch');
@@ -146,6 +148,11 @@ var _default = (_dec = (0, _mutantsAppfx.injectViewModel)('Voucher'), _dec(_clas
146
148
 
147
149
  _this2.handleCancel = function () {
148
150
  _this2.cancel();
151
+
152
+ var _ref = _mutantsUtil.platform || {},
153
+ isHorizontalSunMi = _ref.isHorizontalSunMi;
154
+
155
+ isHorizontalSunMi && window.android_setKeyBoard && window.android_setKeyBoard.SetKeyBoardDisplay(0);
149
156
  };
150
157
 
151
158
  _this2.finishFailed = function (values, errorFields, outOfDate) {
@@ -164,7 +171,7 @@ var _default = (_dec = (0, _mutantsAppfx.injectViewModel)('Voucher'), _dec(_clas
164
171
  (0, _createClass3.default)(_default, [{
165
172
  key: 'changeVal',
166
173
  value: function () {
167
- var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(changed) {
174
+ var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(changed) {
168
175
  var Assign = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
169
176
 
170
177
  var _this, changeVal, viewModel, controllerEvent;
@@ -191,7 +198,7 @@ var _default = (_dec = (0, _mutantsAppfx.injectViewModel)('Voucher'), _dec(_clas
191
198
  }));
192
199
 
193
200
  function changeVal(_x) {
194
- return _ref.apply(this, arguments);
201
+ return _ref2.apply(this, arguments);
195
202
  }
196
203
 
197
204
  return changeVal;
@@ -199,7 +206,7 @@ var _default = (_dec = (0, _mutantsAppfx.injectViewModel)('Voucher'), _dec(_clas
199
206
  }, {
200
207
  key: 'saveMember',
201
208
  value: function () {
202
- var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
209
+ var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2() {
203
210
  var saveMember, _this, viewModel, controllerEvent, verifyResult;
204
211
 
205
212
  return _regenerator2.default.wrap(function _callee2$(_context2) {
@@ -239,7 +246,7 @@ var _default = (_dec = (0, _mutantsAppfx.injectViewModel)('Voucher'), _dec(_clas
239
246
  }));
240
247
 
241
248
  function saveMember() {
242
- return _ref2.apply(this, arguments);
249
+ return _ref3.apply(this, arguments);
243
250
  }
244
251
 
245
252
  return saveMember;
@@ -355,17 +362,17 @@ var _default = (_dec = (0, _mutantsAppfx.injectViewModel)('Voucher'), _dec(_clas
355
362
  var isImageRead = imageField && imageField.ReadOnly;
356
363
  var showModal = this.state.showModal;
357
364
 
358
- var _ref3 = data || {},
359
- ImageFile = _ref3.ImageFile;
365
+ var _ref4 = data || {},
366
+ ImageFile = _ref4.ImageFile;
360
367
 
361
- var _ref4 = _mutantsMicrofx.localStore.get('user') || {},
362
- _ref4$loginInfo = _ref4.loginInfo;
368
+ var _ref5 = _mutantsMicrofx.localStore.get('user') || {},
369
+ _ref5$loginInfo = _ref5.loginInfo;
363
370
 
364
- _ref4$loginInfo = _ref4$loginInfo === undefined ? {} : _ref4$loginInfo;
365
- var province = _ref4$loginInfo.province,
366
- disctrict = _ref4$loginInfo.disctrict,
367
- city = _ref4$loginInfo.city,
368
- geoCode = _ref4$loginInfo.geoCode;
371
+ _ref5$loginInfo = _ref5$loginInfo === undefined ? {} : _ref5$loginInfo;
372
+ var province = _ref5$loginInfo.province,
373
+ disctrict = _ref5$loginInfo.disctrict,
374
+ city = _ref5$loginInfo.city,
375
+ geoCode = _ref5$loginInfo.geoCode;
369
376
 
370
377
  var HeadersCopy = Headers.map(function (el) {
371
378
  el.ControlType == 'SelectAddress' ? el.defaultValue = { province: province, city: city, "area": disctrict, geoCode: geoCode } : '';
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/views/MemberOrderView.js"],"names":["defaultImage","funcs","sub","route","ck","observer","props","context","formRef","React","createRef","cancel","stores","modalRouter","hide","func","handleSave","current","submit","handleCancel","finishFailed","values","errorFields","outOfDate","error","formFinish","saveMember","save","state","showModal","changed","Assign","_this","changeVal","viewModel","controllerEvent","then","setState","verifyResult","verify","result","Message","success","modals","closeCk","drawerStore","data","selectMemberStore","searchValue","CardCode","setTimeout","init","title","key","mid","AddMemberView","edit","keys","length","curMemberInfo","editData","err","includes","getErrorField","Headers","GetMemberReferData","field","find","el","FieldName","Title","info","console","log","map","ControlType","imageField","isImage","Visible","isImageRead","ReadOnly","ImageFile","localStore","get","loginInfo","province","disctrict","city","geoCode","HeadersCopy","defaultValue","display","src","Component","action"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,eAAe,yDAArB;AACA;;;;;;AAMA,IAAMC,QAAQ;AACZ,UAAQ;AACNC,SAAK,MADC;AAENC,WAAO,YAFD;AAGN;AACAC,QAAI;AAJE,GADI;AAOZ,UAAQ;AACNF,SAAK,MADC;AAENC,WAAO,cAFD;AAGN;AACAC,QAAI;AAJE;AAPI,CAAd;;uBAeC,mCAAgB,SAAhB,C,oBACAC,mB;;;AAGC,oBAAYC,KAAZ,EAAmBC,OAAnB,EAA4B;AAAA;;AAAA,2IACpBD,KADoB,EACbC,OADa;;AAAA,WAK5BC,OAL4B,GAKlBC,gBAAMC,SAAN,EALkB;;AAAA,WA2E5BC,MA3E4B,GA2EnB,YAAM;AACbC,6BAAOC,WAAP,CAAmBC,IAAnB,CAAwB,OAAKC,IAAL,CAAUZ,KAAlC;AACD,KA7E2B;;AAAA,WAiG5Ba,UAjG4B,GAiGf,YAAM;AACjB,aAAKR,OAAL,CAAaS,OAAb,CAAqBC,MAArB;AACD,KAnG2B;;AAAA,WAsG5BC,YAtG4B,GAsGb,YAAM;AACnB,aAAKR,MAAL;AACD,KAxG2B;;AAAA,WAyG5BS,YAzG4B,GAyGb,UAACC,MAAD,EAASC,WAAT,EAAsBC,SAAtB,EAAoC;AACjD,aAAKC,KAAL,CAAWF,WAAX,EAAwBD,MAAxB;AACD,KA3G2B;;AAAA,WA4G5BI,UA5G4B,GA4Gf,UAACJ,MAAD,EAAY;AACvB,aAAKK,UAAL;AACD,KA9G2B;;AAE1B,WAAKX,IAAL,GAAYd,MAAM0B,IAAlB;AACA,WAAKC,KAAL,GAAa,EAAEC,WAAW,KAAb,EAAb;AAH0B;AAI3B;;;;;2GAIeC,O;YAAQC,M,uEAAO,K;;;;;;;;AACvBC,qB,GAAQ,I;AACOC,yB,GAAgB,KAAK3B,K,CAAlC4B,S,CAAaD,S;AACbC,yB,GAAc,KAAK5B,K,CAAnB4B,S;AACAC,+B,GAAoB,KAAK7B,K,CAAzB6B,e;;AACRA,gCAAgB,QAAhB,EAA0B,EAAEL,gBAAF,EAAUC,cAAV,EAA1B,EAA8CK,IAA9C,CAAmD,YAAM;AACvDJ,wBAAMK,QAAN,CAAe,EAAf;AACD,iBAFD;;;;;;;;;;;;;;;;;;;;;;;;;;AAMqBX,0B,GAAiB,KAAKpB,K,CAAnC4B,S,CAAaR,U;AACfM,qB,GAAQ,I;AACNE,yB,GAAc,KAAK5B,K,CAAnB4B,S;AACAC,+B,GAAoB,KAAK7B,K,CAAzB6B,e;;uBACmBA,gBAAgB,YAAhB,C;;;AAArBG,4B;;oBACDJ,UAAUK,M;;;;;;;;;AAEfb,2BAAW,KAAKX,IAAL,CAAUY,IAArB,EAA2B,UAACa,MAAD,EAAY;AACrC;AACAR,wBAAMA,MAAMjB,IAAN,CAAWX,EAAjB,KAAwB4B,MAAMA,MAAMjB,IAAN,CAAWX,EAAjB,GAAxB;AACD,iBAHD;;;;;;;;;;;;;;;;;;iCAMW;AACXqC,oCAAQC,OAAR,CAAgB,MAAhB;AACA9B,6BAAOC,WAAP,CAAmBC,IAAnB,CAAwB,KAAKC,IAAL,CAAUZ,KAAlC;AACA,UAAMC,KAAKQ,uBAAOC,WAAP,CAAmB8B,MAAnB,CAA0B,KAAK5B,IAAL,CAAUZ,KAApC,EAA2CyC,OAAtD;AACAxC,YAAMA,IAAN;AACD;;;0CAEqB;AACpBQ,6BAAOC,WAAP,CAAmBC,IAAnB,CAAwB,KAAKC,IAAL,CAAUZ,KAAlC;AACA,UAAI,CAACS,uBAAOiC,WAAZ,EAAyB;AAFL,UAGCC,IAHD,GAGY,KAAKxC,KAHjB,CAGZ4B,SAHY,CAGCY,IAHD;;AAIpB,UAAIlC,uBAAOmC,iBAAX,EAA8B;AAC5BnC,+BAAOmC,iBAAP,CAAyBC,WAAzB,GAAuCF,KAAKG,QAAL,IAAiB,EAAxD;AACD;AACDC,iBAAW,YAAM;AAAEtC,+BAAOiC,WAAP,CAAmBM,IAAnB,CAAwB,EAAEC,OAAO,MAAT,EAAiBC,KAAK,QAAtB,EAAxB;AAA2D,OAA9E,EAAgF,GAAhF;AACD;;;yCAEoB;AAAA;;AAAA,UACXC,GADW,GACH,KAAKhD,KADF,CACXgD,GADW;AAAA,6BAE4B,KAAKhD,KAFjC,CAEX4B,SAFW;AAAA,UAEEY,IAFF,oBAEEA,IAFF;AAAA,UAEQS,aAFR,oBAEQA,aAFR;AAAA,UAGXrB,SAHW,GAGG,KAAK5B,KAHR,CAGX4B,SAHW;;AAInB,UAAIoB,OAAOA,OAAO,UAAlB,EAA8B;AAC5B,aAAKvC,IAAL,GAAYd,MAAMuD,IAAlB;AACA,YAAMxB,QAAQ,IAAd;AACA,wBAAK,YAAM;AACT,cAAIyB,OAAO,oBAAYX,IAAZ,CAAX;AACA,iBAAO,CAAC,CAACW,KAAKC,MAAd;AACD,SAHD,EAGG,YAAM;AACP,cAAI9C,uBAAOmC,iBAAP,IAA4BnC,uBAAOmC,iBAAP,CAAyBY,aAAzD,EAAwE;AACtE,gBAAMC,WAAWhD,uBAAOmC,iBAAP,CAAyBY,aAAzB,IAA0C,EAA3D;AACA3B,kBAAMC,SAAN,CAAgB,yBAAW2B,QAAX,CAAhB,EAAqC,IAArC;AACD;AACF,SARD;AASD;AACD;AACA,sBAAK,YAAM;AACT,eAAO,CAAC,EAAE1B,aAAaA,UAAUqB,aAAzB,CAAR;AACD,OAFD,EAEG,YAAM;AAAA,YACCpB,eADD,GACqB,OAAK7B,KAD1B,CACC6B,eADD;;AAEPA,wBAAgB,UAAhB,EAA4B,EAAED,oBAAF,EAA5B;AACD,OALD;AAMA;AACD;;;kCAKa2B,G,EAAK;AACjB,UAAIJ,OAAO,oBAAYI,GAAZ,KAAoB,EAA/B;AACA,UAAIJ,KAAKK,QAAL,CAAc,QAAd,CAAJ,EAA6B;AAC3B,eAAOD,IAAI,QAAJ,CAAP;AACD,OAFD,MAEO;AACL,eAAO,KAAKE,aAAL,CAAmBF,IAAIJ,KAAK,CAAL,CAAJ,CAAnB,CAAP;AACD;AACF;;;0BAEKI,G,EAAKxC,M,EAAQ;AAAA,8BAC+D,KAAKf,KADpE,CACT4B,SADS;AAAA,UACIY,IADJ,qBACIA,IADJ;AAAA,UAC2BkB,OAD3B,qBACUT,aADV,CAC2BS,OAD3B;AAAA,UACsCC,kBADtC,qBACsCA,kBADtC;;AAEjB,UAAMzC,QAAQ,KAAKuC,aAAL,CAAmBF,GAAnB,CAAd;AACA,UAAMK,QAAQ,CAAC1C,MAAM,CAAN,KAAY,EAAb,EAAiB0C,KAA/B;AACA,UAAMd,QAAQ,CAACY,QAAQG,IAAR,CAAa;AAAA,eAAMC,GAAGC,SAAH,IAAgBH,KAAtB;AAAA,OAAb,KAA6C,EAA9C,EAAkDI,KAAlD,IAA2D,EAAzE;AACA7B,oCAAQ8B,IAAR,wBAAmBnB,KAAnB;AACD;;AAED;;;AAKA;;;;6BAWS;AAAA;;AAAA,mBAC8E,KAAK9C,KADnF;AAAA,qCACC4B,SADD;AAAA,UACcY,IADd,qBACcA,IADd;AAAA,UACqCkB,OADrC,qBACoBT,aADpB,CACqCS,OADrC;AAAA,UACgDC,kBADhD,qBACgDA,kBADhD;AAAA,UACsEX,GADtE,UACsEA,GADtE;;AAEPkB,cAAQC,GAAR,CAAY,oBAAZ,EAAkC3B,IAAlC;AACA0B,cAAQC,GAAR,CAAY,oBAAZ,EAAkCT,OAAlC;AACAQ,cAAQC,GAAR,CAAY,4BAAZ,EAA0CT,QAAQU,GAAR,CAAY,UAACN,EAAD;AAAA,eAAQA,GAAGO,WAAX;AAAA,OAAZ,CAA1C;AACA,UAAMC,aAAaZ,QAAQG,IAAR,CAAa,UAACC,EAAD;AAAA,eAAQA,GAAGC,SAAH,IAAgB,WAAxB;AAAA,OAAb,CAAnB;AACA,UAAMQ,UAAUD,cAAcA,WAAWE,OAAzC;AACA,UAAMC,cAAcH,cAAcA,WAAWI,QAA7C;AAPO,UAQCnD,SARD,GAQe,KAAKD,KARpB,CAQCC,SARD;;AAAA,kBASeiB,QAAQ,EATvB;AAAA,UASCmC,SATD,SASCA,SATD;;AAAA,kBAU8DC,2BAAWC,GAAX,CAAe,MAAf,KAA0B,EAVxF;AAAA,kCAUCC,SAVD;;AAAA,wDAUuD,EAVvD;AAAA,UAUcC,QAVd,mBAUcA,QAVd;AAAA,UAUyBC,SAVzB,mBAUyBA,SAVzB;AAAA,UAUqCC,IAVrC,mBAUqCA,IAVrC;AAAA,UAU4CC,OAV5C,mBAU4CA,OAV5C;;AAWP,UAAIC,cAAczB,QAAQU,GAAR,CAAY,UAACN,EAAD,EAAQ;AACpCA,WAAGO,WAAH,IAAkB,eAAlB,GAAmCP,GAAGsB,YAAH,GAAkB,EAAEL,kBAAF,EAAWE,UAAX,EAAgB,QAAOD,SAAvB,EAAiCE,gBAAjC,EAArD,GAA+F,EAA/F;AACA,eAAOpB,EAAP;AACD,OAHiB,CAAlB;AAIA,aACE;AAAA;AAAA,UAAK,WAAU,qBAAf;AACE;AAAA;AAAA,YAAK,WAAU,OAAf,EAAuB,OAAO,EAAEuB,SAAS,CAAC,CAACd,OAAF,GAAY,OAAZ,GAAsB,MAAjC,EAA9B;AACE,iDAAK,KAAKI,aAAajF,YAAvB;AADF,SADF;AAKI,SAAC,CAAC6E,OAAF,IAAa,CAACE,WAAd,IACA,8BAAC,2BAAD,IAAO,MAAK,aAAZ,EAA0B,WAAU,UAApC,EAA+C,SAAS,mBAAM;AAAE,mBAAK1C,QAAL,CAAc,EAAER,WAAW,IAAb,EAAd;AAAoC,WAApG,GANJ;AAQE,sCAAC,gCAAD;AACE,gBAAM,KAAKrB,OADb;AAEE,oBAAU,KAAKiB,UAFjB;AAGE,0BAAgB,KAAKL,YAHvB;AAIE,gBAAM0B,IAJR;AAKE,oBAAU2C,WALZ;AAME,qBAAW,mBAAC3D,OAAD,EAAa;AACtB,mBAAKG,SAAL,CAAeH,OAAf;AACD,WARH;AASE,kBAAQ;AACN,sBAAU,CAAC,CAAC+C,OAAF,GAAY,OAAZ,GAAsB,OAD1B;AAEN,wBAAY;AAFN,WATV;AAaE,8BAAoBZ;AAbtB,UARF;AAwBE;AAAA;AAAA,YAAK,WAAU,kBAAf;AACE;AAAA;AAAA,cAAQ,SAAS,KAAK9C,YAAtB;AAAA;AAAA,WADF;AAEE;AAAA;AAAA,cAAQ,MAAK,SAAb,EAAuB,SAAS,KAAKH,UAArC;AAAA;AAAA;AAFF,SAxBF;AA6BE,sCAAC,qBAAD,IAAa,YAAY,MAAzB;AACE,qBAAWa,SADb;AAEE,uBAAa,uBAAM;AACjB,mBAAKQ,QAAL,CAAc,EAAER,WAAW,KAAb,EAAd;AACD,WAJH;AAKE,gBAAM,cAAC+D,GAAD,EAAS;AACb,mBAAK3D,SAAL,CAAe,EAAEgD,WAAWW,OAAO,EAApB,EAAf;AACA,mBAAKvD,QAAL,CAAc,EAAER,WAAW,KAAb,EAAd;AACD;AARH;AA7BF,OADF;AAyCD;;;EA1K0BpB,gBAAMoF,S,+DAShCC,Y","file":"MemberOrderView.js","sourcesContent":["import React from 'react';\r\nimport { when, action } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport { Button } from 'antd';\r\nimport { injectViewModel } from 'mutants-appfx';\r\nimport { CommonForm, Message,Ticon } from 'tplus-components-touch';\r\nimport { stores, localStore } from 'mutants-microfx';\r\nimport MemberPhoto from '../member/MemberPhoto.js';\r\nimport _clonedeep from 'lodash/cloneDeep';\r\nimport './memberOrder.less';\r\n\r\nconst defaultImage = 'https://newretail.static.chanjet.com/default_avatar.png';\r\n/**\r\n * func\r\n * @prop sub save / edit\r\n * @prop route\r\n * @prop ck 回掉函数\r\n */\r\nconst funcs = {\r\n 'save': {\r\n sub: 'save',\r\n route: '/AA/MEMBER',\r\n // tip:'新增会员成功',\r\n ck: 'jumpToMemberManager'\r\n },\r\n 'edit': {\r\n sub: 'edit',\r\n route: '/AA/OPENCARD',\r\n // tip:'开卡成功',\r\n ck: 'openCardCk'\r\n }\r\n};\r\n\r\n@injectViewModel('Voucher')\r\n@observer\r\nexport default class extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context)\r\n this.func = funcs.save;\r\n this.state = { showModal: false };\r\n }\r\n formRef = React.createRef();\r\n\r\n @action\r\n async changeVal(changed,Assign=false) {\r\n const _this = this;\r\n const { viewModel: { changeVal } } = this.props;\r\n const { viewModel } = this.props;\r\n const { controllerEvent } = this.props;\r\n controllerEvent('change', { changed,Assign }).then(() => {\r\n _this.setState({})\r\n });\r\n }\r\n\r\n async saveMember() {\r\n const { viewModel: { saveMember } } = this.props;\r\n const _this = this;\r\n const { viewModel } = this.props;\r\n const { controllerEvent } = this.props;\r\n const verifyResult = await controllerEvent('handleData');\r\n if (!viewModel.verify) return;\r\n\r\n saveMember(this.func.save, (result) => {\r\n //保存或者编辑会员后处理\r\n _this[_this.func.ck] && _this[_this.func.ck]()\r\n });\r\n }\r\n\r\n openCardCk() {\r\n Message.success('开卡成功')\r\n stores.modalRouter.hide(this.func.route);\r\n const ck = stores.modalRouter.modals[this.func.route].closeCk;\r\n ck && ck();\r\n }\r\n\r\n jumpToMemberManager() {\r\n stores.modalRouter.hide(this.func.route);\r\n if (!stores.drawerStore) return;\r\n const { viewModel: { data } } = this.props;\r\n if (stores.selectMemberStore) {\r\n stores.selectMemberStore.searchValue = data.CardCode || ''\r\n }\r\n setTimeout(() => { stores.drawerStore.init({ title: '会员管理', key: 'member' }) }, 300)\r\n }\r\n\r\n componentWillMount() {\r\n const { mid } = this.props;\r\n const { viewModel: { data, AddMemberView } } = this.props;\r\n const { viewModel } = this.props;\r\n if (mid && mid == 'OPENCARD') {\r\n this.func = funcs.edit;\r\n const _this = this;\r\n when(() => {\r\n let keys = Object.keys(data);\r\n return !!keys.length;\r\n }, () => {\r\n if (stores.selectMemberStore && stores.selectMemberStore.curMemberInfo) {\r\n const editData = stores.selectMemberStore.curMemberInfo || {};\r\n _this.changeVal(_clonedeep(editData),true)\r\n }\r\n })\r\n }\r\n // if(mid&&mid=='MEMBER'){\r\n when(() => {\r\n return !!(viewModel && viewModel.AddMemberView);\r\n }, () => {\r\n const { controllerEvent } = this.props;\r\n controllerEvent('modifyVM', { viewModel });\r\n })\r\n // }\r\n }\r\n cancel = () => {\r\n stores.modalRouter.hide(this.func.route)\r\n }\r\n\r\n getErrorField(err) {\r\n let keys = Object.keys(err) || [];\r\n if (keys.includes('errors')) {\r\n return err['errors']\r\n } else {\r\n return this.getErrorField(err[keys[0]])\r\n }\r\n }\r\n\r\n error(err, values) {\r\n const { viewModel: { data, AddMemberView: { Headers }, GetMemberReferData } } = this.props;\r\n const error = this.getErrorField(err);\r\n const field = (error[0] || {}).field;\r\n const title = (Headers.find(el => el.FieldName == field) || {}).Title || '';\r\n Message.info(`请输入${title}`);\r\n }\r\n\r\n // 提交\r\n handleSave = () => {\r\n this.formRef.current.submit();\r\n }\r\n\r\n //取消\r\n handleCancel = () => {\r\n this.cancel();\r\n };\r\n finishFailed = (values, errorFields, outOfDate) => {\r\n this.error(errorFields, values);\r\n };\r\n formFinish = (values) => {\r\n this.saveMember();\r\n };\r\n\r\n render() {\r\n const { viewModel: { data, AddMemberView: { Headers }, GetMemberReferData }, mid } = this.props;\r\n console.log('member_datainfo===', data)\r\n console.log('member_viewinfo===', Headers)\r\n console.log('member_viewinfo-contorl===', Headers.map((el) => el.ControlType))\r\n const imageField = Headers.find((el) => el.FieldName == 'ImageFile');\r\n const isImage = imageField && imageField.Visible;\r\n const isImageRead = imageField && imageField.ReadOnly;\r\n const { showModal } = this.state;\r\n const { ImageFile } = data || {};\r\n const { loginInfo: { province , disctrict , city , geoCode} = {} } = localStore.get('user') || {};\r\n let HeadersCopy = Headers.map((el) => {\r\n el.ControlType == 'SelectAddress'? el.defaultValue = { province,city,\"area\":disctrict,geoCode}:'';\r\n return el;\r\n });\r\n return (\r\n <div className='memberadd-container'>\r\n <div className='image' style={{ display: !!isImage ? 'block' : 'none' }}>\r\n <img src={ImageFile || defaultImage} />\r\n </div>\r\n {\r\n !!isImage && !isImageRead &&\r\n <Ticon type=\"bianjixinxi\" className='editIcon' onClick={() => { this.setState({ showModal: true }) }} />\r\n }\r\n <CommonForm\r\n form={this.formRef}\r\n onFinish={this.formFinish}\r\n onFinishFailed={this.finishFailed}\r\n data={data}\r\n viewInfo={HeadersCopy}\r\n changeVal={(changed) => {\r\n this.changeVal(changed)\r\n }}\r\n styles={{\r\n 'height': !!isImage ? '326px' : '376px',\r\n 'overflow': 'auto'\r\n }}\r\n getMemberReferData={GetMemberReferData}\r\n />\r\n\r\n <div className='memberadd-submit'>\r\n <Button onClick={this.handleCancel}>取消</Button>\r\n <Button type='primary' onClick={this.handleSave}>确定</Button>\r\n </div>\r\n\r\n <MemberPhoto titleModal={'头像选择'}\r\n showModal={showModal}\r\n handleModal={() => {\r\n this.setState({ showModal: false })\r\n }}\r\n onOk={(src) => {\r\n this.changeVal({ ImageFile: src || '' })\r\n this.setState({ showModal: false })\r\n }}\r\n />\r\n </div>)\r\n }\r\n}"]}
1
+ {"version":3,"sources":["tplus-member/views/MemberOrderView.js"],"names":["defaultImage","funcs","sub","route","ck","observer","props","context","formRef","React","createRef","cancel","stores","modalRouter","hide","func","handleSave","current","submit","handleCancel","platform","isHorizontalSunMi","window","android_setKeyBoard","SetKeyBoardDisplay","finishFailed","values","errorFields","outOfDate","error","formFinish","saveMember","save","state","showModal","changed","Assign","_this","changeVal","viewModel","controllerEvent","then","setState","verifyResult","verify","result","Message","success","modals","closeCk","drawerStore","data","selectMemberStore","searchValue","CardCode","setTimeout","init","title","key","mid","AddMemberView","edit","keys","length","curMemberInfo","editData","err","includes","getErrorField","Headers","GetMemberReferData","field","find","el","FieldName","Title","info","console","log","map","ControlType","imageField","isImage","Visible","isImageRead","ReadOnly","ImageFile","localStore","get","loginInfo","province","disctrict","city","geoCode","HeadersCopy","defaultValue","display","src","Component","action"],"mappings":"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","file":"MemberOrderView.js","sourcesContent":["import React from 'react';\r\nimport { when, action } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport { platform } from 'mutants-util';\r\nimport { Button } from 'antd';\r\nimport { injectViewModel } from 'mutants-appfx';\r\nimport { CommonForm, Message,Ticon } from 'tplus-components-touch';\r\nimport { stores, localStore } from 'mutants-microfx';\r\nimport MemberPhoto from '../member/MemberPhoto.js';\r\nimport _clonedeep from 'lodash/cloneDeep';\r\nimport './memberOrder.less';\r\n\r\nconst defaultImage = 'https://newretail.static.chanjet.com/default_avatar.png';\r\n/**\r\n * func\r\n * @prop sub save / edit\r\n * @prop route\r\n * @prop ck 回掉函数\r\n */\r\nconst funcs = {\r\n 'save': {\r\n sub: 'save',\r\n route: '/AA/MEMBER',\r\n // tip:'新增会员成功',\r\n ck: 'jumpToMemberManager'\r\n },\r\n 'edit': {\r\n sub: 'edit',\r\n route: '/AA/OPENCARD',\r\n // tip:'开卡成功',\r\n ck: 'openCardCk'\r\n }\r\n};\r\n\r\n@injectViewModel('Voucher')\r\n@observer\r\nexport default class extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context)\r\n this.func = funcs.save;\r\n this.state = { showModal: false };\r\n }\r\n formRef = React.createRef();\r\n\r\n @action\r\n async changeVal(changed,Assign=false) {\r\n const _this = this;\r\n const { viewModel: { changeVal } } = this.props;\r\n const { viewModel } = this.props;\r\n const { controllerEvent } = this.props;\r\n controllerEvent('change', { changed,Assign }).then(() => {\r\n _this.setState({})\r\n });\r\n }\r\n\r\n async saveMember() {\r\n const { viewModel: { saveMember } } = this.props;\r\n const _this = this;\r\n const { viewModel } = this.props;\r\n const { controllerEvent } = this.props;\r\n const verifyResult = await controllerEvent('handleData');\r\n if (!viewModel.verify) return;\r\n\r\n saveMember(this.func.save, (result) => {\r\n //保存或者编辑会员后处理\r\n _this[_this.func.ck] && _this[_this.func.ck]()\r\n });\r\n }\r\n\r\n openCardCk() {\r\n Message.success('开卡成功')\r\n stores.modalRouter.hide(this.func.route);\r\n const ck = stores.modalRouter.modals[this.func.route].closeCk;\r\n ck && ck();\r\n }\r\n\r\n jumpToMemberManager() {\r\n stores.modalRouter.hide(this.func.route);\r\n if (!stores.drawerStore) return;\r\n const { viewModel: { data } } = this.props;\r\n if (stores.selectMemberStore) {\r\n stores.selectMemberStore.searchValue = data.CardCode || ''\r\n }\r\n setTimeout(() => { stores.drawerStore.init({ title: '会员管理', key: 'member' }) }, 300)\r\n }\r\n\r\n componentWillMount() {\r\n const { mid } = this.props;\r\n const { viewModel: { data, AddMemberView } } = this.props;\r\n const { viewModel } = this.props;\r\n if (mid && mid == 'OPENCARD') {\r\n this.func = funcs.edit;\r\n const _this = this;\r\n when(() => {\r\n let keys = Object.keys(data);\r\n return !!keys.length;\r\n }, () => {\r\n if (stores.selectMemberStore && stores.selectMemberStore.curMemberInfo) {\r\n const editData = stores.selectMemberStore.curMemberInfo || {};\r\n _this.changeVal(_clonedeep(editData),true)\r\n }\r\n })\r\n }\r\n // if(mid&&mid=='MEMBER'){\r\n when(() => {\r\n return !!(viewModel && viewModel.AddMemberView);\r\n }, () => {\r\n const { controllerEvent } = this.props;\r\n controllerEvent('modifyVM', { viewModel });\r\n })\r\n // }\r\n }\r\n cancel = () => {\r\n stores.modalRouter.hide(this.func.route)\r\n }\r\n\r\n getErrorField(err) {\r\n let keys = Object.keys(err) || [];\r\n if (keys.includes('errors')) {\r\n return err['errors']\r\n } else {\r\n return this.getErrorField(err[keys[0]])\r\n }\r\n }\r\n\r\n error(err, values) {\r\n const { viewModel: { data, AddMemberView: { Headers }, GetMemberReferData } } = this.props;\r\n const error = this.getErrorField(err);\r\n const field = (error[0] || {}).field;\r\n const title = (Headers.find(el => el.FieldName == field) || {}).Title || '';\r\n Message.info(`请输入${title}`);\r\n }\r\n\r\n // 提交\r\n handleSave = () => {\r\n this.formRef.current.submit();\r\n }\r\n\r\n //取消\r\n handleCancel = () => {\r\n this.cancel()\r\n const { isHorizontalSunMi } = platform || {};\r\n isHorizontalSunMi && window.android_setKeyBoard && window.android_setKeyBoard.SetKeyBoardDisplay(0)\r\n };\r\n\r\n finishFailed = (values, errorFields, outOfDate) => {\r\n this.error(errorFields, values);\r\n };\r\n\r\n formFinish = (values) => {\r\n this.saveMember();\r\n };\r\n\r\n render() {\r\n const { viewModel: { data, AddMemberView: { Headers }, GetMemberReferData }, mid } = this.props;\r\n console.log('member_datainfo===', data)\r\n console.log('member_viewinfo===', Headers)\r\n console.log('member_viewinfo-contorl===', Headers.map((el) => el.ControlType))\r\n const imageField = Headers.find((el) => el.FieldName == 'ImageFile');\r\n const isImage = imageField && imageField.Visible;\r\n const isImageRead = imageField && imageField.ReadOnly;\r\n const { showModal } = this.state;\r\n const { ImageFile } = data || {};\r\n const { loginInfo: { province , disctrict , city , geoCode} = {} } = localStore.get('user') || {};\r\n let HeadersCopy = Headers.map((el) => {\r\n el.ControlType == 'SelectAddress'? el.defaultValue = { province,city,\"area\":disctrict,geoCode}:'';\r\n return el;\r\n });\r\n return (\r\n <div className='memberadd-container'>\r\n <div className='image' style={{ display: !!isImage ? 'block' : 'none' }}>\r\n <img src={ImageFile || defaultImage} />\r\n </div>\r\n {\r\n !!isImage && !isImageRead &&\r\n <Ticon type=\"bianjixinxi\" className='editIcon' onClick={() => { this.setState({ showModal: true }) }} />\r\n }\r\n <CommonForm\r\n form={this.formRef}\r\n onFinish={this.formFinish}\r\n onFinishFailed={this.finishFailed}\r\n data={data}\r\n viewInfo={HeadersCopy}\r\n changeVal={(changed) => {\r\n this.changeVal(changed)\r\n }}\r\n styles={{\r\n 'height': !!isImage ? '326px' : '376px',\r\n 'overflow': 'auto'\r\n }}\r\n getMemberReferData={GetMemberReferData}\r\n />\r\n\r\n <div className='memberadd-submit'>\r\n <Button onClick={this.handleCancel}>取消</Button>\r\n <Button type='primary' onClick={this.handleSave}>确定</Button>\r\n </div>\r\n\r\n <MemberPhoto titleModal={'头像选择'}\r\n showModal={showModal}\r\n handleModal={() => {\r\n this.setState({ showModal: false })\r\n }}\r\n onOk={(src) => {\r\n this.changeVal({ ImageFile: src || '' })\r\n this.setState({ showModal: false })\r\n }}\r\n />\r\n </div>)\r\n }\r\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tplus-member",
3
- "version": "3.23.1",
3
+ "version": "3.25.1",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -16,12 +16,12 @@
16
16
  "mutants-appfx": "^1.0.0",
17
17
  "mutants-devtools": "^1.0.0",
18
18
  "mutants-microfx": "^1.0.0",
19
- "tplus-api": "~3.0.47",
20
- "tplus-components": "~3.23.1",
21
- "tplus-components-touch": "~3.23.1",
22
- "tplus-portaltouch": "~3.23.1",
23
- "tplus-poslogin": "~3.23.1",
24
- "tplus-setting-touch": "~3.23.1"
19
+ "tplus-api": "~5.0.1",
20
+ "tplus-components": "~3.25.1",
21
+ "tplus-components-touch": "~3.25.1",
22
+ "tplus-portaltouch": "~3.25.1",
23
+ "tplus-poslogin": "~3.25.1",
24
+ "tplus-setting-touch": "~3.25.1"
25
25
  },
26
26
  "dependencies": {
27
27
  "antd": "4.10.3"