tplus-member 3.46.3 → 3.46.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -930,19 +930,10 @@ var ShopMember = (_temp = _class = function (_Component) {
930
930
  // swiperSelectObserver.disconnect();
931
931
  $.off(this.hotKeyListener);
932
932
  }
933
-
934
- //IC卡关闭
935
-
936
- }, {
937
- key: 'closeRfCard',
938
- value: function closeRfCard() {
939
- if (this.hasElectron === true && this.iCCardServer === 1) {
940
- _mutantsMicrofx.nativeMs.setIpcRendererMethod('CloseRfCard');
941
- }
942
- }
943
933
  }, {
944
934
  key: 'readRfCard',
945
935
 
936
+
946
937
  //IC卡读取
947
938
  value: function readRfCard() {
948
939
  var _this4 = this;
@@ -965,8 +956,6 @@ var ShopMember = (_temp = _class = function (_Component) {
965
956
  _this4.connectRfCard(); //读取失败后,重新连接一下。
966
957
  return;
967
958
  } else if (ret.status === 1) {
968
- // this.searchMember(ret.value);
969
- // this.czkInput.input["value"]=ret.value;
970
959
  _this4.setState({
971
960
  searchValue: ret.value
972
961
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/ShopMember.js"],"names":["hasElectron","env","platform","constant","electron","ShopMember","props","currentPage","cacheUserRetail","handleReadICard","readRfCard","changeScanProduct","scanObj","startScan","onScanCzkResult","val","_this","setState","searchValue","setTimeout","handleSearchClick","hotKeyListener","nodeName","index","progressListen","className","indexOf","isHotKeyAction","activeElement","document","blur","observerCard","slideSelected","querySelector","prevSlideSelected","swiperSelectObserver","unobserve","observe","progress","selected","state","memberList","viewMemberInfo","loadmoreLoading","nomoreData","loadUserList","windowOnresize","memberTab","window","removeEventListener","memberTabHeight","clientHeight","tabMenuHeight","isNotSetState","Idmember","willUnmount","currentMemberId","loadUserInfo","key","item","type","syncUpdateMember","selectChange","memberChange","tabIndex","Loading","hide","recommend","userSearch","memberTabChange","member","loadingUser","loadingBtn","ms","getGetUmemberDTO","then","ret","BalanceIntegral","BalanceStorage","UmemberLabel","MemberCouponTitle","Mobilephone","DynamicPropertyKeys","DynamicPropertyValues","mergeKeys","setMemberKey","currentMemberOfList","find","value","ID","forEach","v","arr","map","push","initEmpty","errorMsg","stores","selectMemberStore","setCurMemberInfo","resetLastRetail","findMemberLastRetailDetailList","context","viewModel","data","Member","seletMember","getCardInfoByMemberId","catch","loadUserRetail","titleModal","includes","show","target","node","delay","getMemberRetailDetail","Like","Record","Recency","RecommendList","memberInfo","record","like","recency","pageSize","isSingleMember","searchId","searchStatus","status","listArr","inputValue","keyboardOnClose","slice","loadUserListSuccess","length","getSearchMember","dataLoaded","ColumnInfo","Data","columnInfo","precisionInfo","usersLoadSuccess","JSON","parse","filter","Precision","FieldName","setPrecisionInfo","storeKey","undefined","handleSearchChange","memberCardList","resetSlideTop","getMemberStateStamp","isExpiration","isUserLogout","isUserLoss","isUserNotUsing","controllerEvent","methodName","methodArgs","onEvent","Action","fromJS","fn","result","resolve","handleOk","noList","onCancel","retailDetails","getRetails","isArrowPriceChange","MemberState","Id","Name","Message","warn","IdbusiType","items","viewVoucher","isTakeTheir","getIsTakeTheir","memberStore","el","name","uiState","tip","info","ModalWraper","confirm","title","content","onOk","handleChangeMember","selectMemberSuccess","getMemberBirthday","changeMemberCare","keyboardOnOk","searchRef","onKeyPressed","e","keyCode","enterKey","currentUserRetail","MemberMenuChange","dto","onClear","input","focus","changeIsAllAuthority","isAllAuthority","pageNo","lastRetailPageNo","lastRetailList","params","memberId","lastRetailLoading","findMemberLastRetailDetail","recencyBeanList","totalCount","lastRetailTotal","mode","user","options","get","ICCardServer","ICCardPassword","iCCardServer","parseInt","iCCardPassword","isHorizontalPad","isCC","defaultActiveKey","cardInfo","connectCardStatus","connectCardError","bind","connectRfCard","addEventListener","Code","$","on","off","nativeMs","setIpcRendererMethod","error","cardPsw","cardSec","cardKm","RetailDetails","isUserAndroidKey","android_setKeyBoard","localStorage","getItem","loginInfo","IsEnableUMember","cardList","showModal","authProcess","showSearch","showSelectBtn","voucherStateType","enumController","getEnumOj","memberEnumState","hotKey","hotKeyNotFilter","ref","focusInputName","inputTarget","Keyboard","open","getNewValue","close","scan","hotKeyBindClass","list","display","getCardList","marginRight","Component","defaultProps","contextTypes","PropTypes","object","array","func"],"mappings":"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","file":"ShopMember.js","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'antd';\nimport { ModalWraper, Input, Loading, Message, Ticon, Keyboard, Spin, hotKey } from 'tplus-components-touch';\nimport { stores, env, nativeMs } from 'mutants-microfx';\nimport { enumController, platform } from 'mutants-util';\nimport memberStore from './api';\nimport MemberTab from './memberTab/index.js';\nimport './ShopMember.less';\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\nimport MemberMenu from './memberMenu/index.js'\nimport MemberCardList from './MemberCardList'\nimport { Action } from 'mutants-appfx'\nimport { toJS } from 'mobx';\n// let swiperSelectObserver;\nconst hasElectron = (env.platform === env.constant.platform.electron);\n\nexport default class ShopMember extends Component {\n static defaultProps = {\n onCancel: () => {},\n onOk: () => {},\n };\n\n static contextTypes = {\n viewModel: PropTypes.object,\n columnInfo: PropTypes.array,\n onEvent: PropTypes.func\n };\n constructor(props) {\n super(props);\n const { mode } = this.props;\n this.hasElectron = hasElectron;\n const { ICCardServer, ICCardPassword } = stores.user.options.get('loginInfo') || {};\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\n this.iCCardPassword = ICCardPassword; //IC卡密码\n //移动端环境下,没有读取IC卡的方式。\n const { isHorizontalPad } = platform || {};\n this.isHorizontalPad = !!isHorizontalPad;\n this.state = {\n searchValue: '',\n memberList: [],\n memberInfo: {\n record: [],\n like: [],\n recency: [],\n },\n searchStatus: !!this.props.listArr ? true : false,\n isCC: true,\n tabIndex: this.props.defaultActiveKey,\n isAllAuthority: false,\n tabMenuHeight: mode !== 'practice' ? 64 : 0, // 64为table上部操作菜单高度\n cardInfo: [], // 会员的卡信息\n\t lastRetailList: [], // 最近购买列表\n lastRetailTotal: 0, // 最近购买的总数量\n lastRetailPageNo: 0, // 最近购买的当前页,默认0开始\n lastRetailLoading: false, // 是否正在加载购买记录\n connectCardStatus: false, //连接IC卡状态\n connectCardError: '', //连接IC卡错误后记录错误信息\n };\n this.ms = memberStore;\n this.handleReadICard = this.handleReadICard.bind(this);\n }\n\n currentPage = 1;\n cacheUserRetail = {};\n\n componentDidMount() {\n // swiperSelectObserver = new IntersectionObserver(entries => {\n // const { boundingClientRect: { height, bottom, top } = {}, intersectionRatio } = entries[0];\n // if (intersectionRatio !== 1 && this.isHotKeyAction) {\n // this.isHotKeyAction = false;\n\n // bottom > height && memberSwiper.slideNext();\n // // 解决向上滑动时top < 10 时距离问题\n // if (top < -10) {\n // top < height && memberSwiper.slidePrev() && memberSwiper.slidePrev()\n // } else {\n // top < height && memberSwiper.slidePrev()\n // }\n // }\n // });\n this.connectRfCard();\n window.addEventListener('resize', this.windowOnresize);\n const { viewMemberInfo, status, columnInfo, storeKey } = this.props;\n if (viewMemberInfo) {\n if (status) {\n return this.loadUserListSuccess(viewMemberInfo);\n } else if (status === 0) { // status 0 为 查看会员详情\n columnInfo && this.precisionInfo(columnInfo); // 查看录入的会员查看详情时父级传递了 columnInfo props\n return this.usersLoadSuccess([viewMemberInfo], 'search');\n }\n const { Code } = viewMemberInfo;\n return this.loadUserList('init', undefined, undefined, true, Code);\n };\n this.loadUserList('init');\n $.on(this.hotKeyListener);\n this.ms.searchValue = '';//初始化完成筛选列表清空数据(会员新增成功——封涛)\n }\n\n componentDidUpdate() {\n const {memberList = [], memberTabHeight, tabMenuHeight} = this.state;\n const clientHeight = this.memberTab.clientHeight - tabMenuHeight;\n if (clientHeight !== memberTabHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n componentWillUnmount() {\n // memberSwiper && memberSwiper.destroy(false);\n // memberSwiper = undefined;\n this.willUnmount = true;\n window.removeEventListener('resize', this.windowOnresize);\n // swiperSelectObserver.disconnect();\n $.off(this.hotKeyListener);\n }\n\n //IC卡关闭\n closeRfCard(){\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('CloseRfCard')\n }\n }\n handleReadICard = () => {\n this.readRfCard();\n }\n //IC卡读取\n readRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n const { connectCardStatus, connectCardError } = this.state;\n if (connectCardStatus === false) {\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n }\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\n if (ret.status === 0) {\n Message.error(ret.value);\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n } else if (ret.status === 1) {\n // this.searchMember(ret.value);\n // this.czkInput.input[\"value\"]=ret.value;\n this.setState({\n searchValue: ret.value\n })\n this.handleSearchClick(ret.value);\n }\n })\n }\n }\n\n //IC卡连接\n connectRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\n let result = {}\n if (ret.status === 0) {\n result = { connectCardStatus: false, connectCardError: ret.value }\n } else {\n result = { connectCardStatus: true, connectCardError: '' };\n }\n this.setState(result)\n })\n }\n }\n\n //移动端:扫描商品\n changeScanProduct = () => {\n if (this.scanObj) this.scanObj.startScan()\n }\n\n onScanCzkResult = (val) => {\n let _this = this;\n this.setState({\n searchValue: val\n })\n setTimeout(() => { _this.handleSearchClick(val) }, 0)\n }\n\n hotKeyListener = (nodeName, index) => {\n this.progressListen()\n if (nodeName && ~nodeName.className.indexOf('slide-selected')) {\n this.isHotKeyAction = true;\n const activeElement = document.activeElement;\n activeElement && activeElement.blur();\n }\n }\n\n observerCard = () => {\n setTimeout(() => {\n const slideSelected = document.querySelector('.slide-selected');\n this.prevSlideSelected && swiperSelectObserver.unobserve(this.prevSlideSelected);\n this.prevSlideSelected = slideSelected;\n slideSelected && swiperSelectObserver.observe(slideSelected);\n })\n }\n\n progressListen = (progress) => {\n const {selected} = this.state;\n\n const {memberList = []} = this.state;\n const {viewMemberInfo} = this.props;\n if (viewMemberInfo) return;\n const {loadmoreLoading, nomoreData, searchValue = ''} = this.state;\n // let newselect = (selected + 5) % 10\n if ((selected + 1) % 10 === 0 && !loadmoreLoading && !nomoreData) {\n this.currentPage += 1;\n this.loadUserList('loadmore', this.currentPage);\n }\n if (progress >= 1 && !loadmoreLoading && !nomoreData) {\n this.currentPage += 1;\n this.loadUserList('loadmore', this.currentPage);\n }\n }\n\n windowOnresize = () => {\n if (!this.memberTab) {\n return window.removeEventListener('resize', this.windowOnresize);\n };\n const {memberTabHeight} = this.state;\n const clientHeight = this.memberTab.clientHeight - this.state.tabMenuHeight;\n if (memberTabHeight !== clientHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n isNotSetState = (Idmember) => {\n if (this.willUnmount || Idmember !== this.currentMemberId) return true;\n }\n\n loadUserInfo = (key, Idmember, item, type, syncUpdateMember) => {\n // this.observerCard();\n\n const { selectChange, viewMemberInfo, memberChange } = this.props;\n const { selected, tabIndex = '1' } = this.state;\n if (key === selected && type !== true && type!=='opencard') return;\n Loading.hide();\n if (this.currentMemberId && !(this.cacheUserRetail[this.currentMemberId] || {}).recommend) {\n delete this.cacheUserRetail[this.currentMemberId];\n }\n this.currentMemberId = Idmember;\n\n if (this.userSearch || viewMemberInfo) {\n this.userSearch = false;\n this.setState({selected: key});\n }\n\n const {memberList = []} = this.state;\n\n this.memberTabChange(tabIndex);\n\n this.setState({ selected: key, member: memberList[key] || {}, loadingUser: true, loadingBtn: true });\n this.ms.getGetUmemberDTO(Idmember)\n .then(ret => {\n if (this.isNotSetState(Idmember)) return;\n const {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone,\n DynamicPropertyKeys = [], DynamicPropertyValues = []} = ret || {};\n const mergeKeys = {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone, DynamicPropertyKeys, DynamicPropertyValues};\n //const memberInfo = {...(memberList[key] || {}), ...mergeKeys};\n if (viewMemberInfo) {\n // 用接口中的 BalanceStorage MemberCouponTitle覆盖列表中的数据, 监听对象 使用action 设置值\n this.ms.setMemberKey(mergeKeys);\n } else {\n //设置会员列表中该会员的BalanceStorage值\n const currentMemberOfList = memberList.find(value => value.ID === Idmember) || {};\n Object.keys(mergeKeys).forEach(v => currentMemberOfList[v] = mergeKeys[v]);\n }\n userInfoFormat(ret)\n let arr = [];\n memberList.map(item => {\n if (item.ID === ret.ID) {\n arr.push(ret)\n } else {\n arr.push(item)\n }\n })\n this.setState({\n member: ret,\n initEmpty: true,\n memberList: arr,\n errorMsg: '',\n loadingUser: false,\n loadingBtn: false\n })\n stores.selectMemberStore.setCurMemberInfo(ret);\n selectChange && selectChange(item);\n // 获取购买记录\n this.resetLastRetail(0)\n this.findMemberLastRetailDetailList(3)\n // 更新当前选定的会员信息\n if (syncUpdateMember) {\n const { data: { Member: { ID } = {} } = {} } = this.context.viewModel || {};\n if (ID == ret.ID) {\n stores.selectMemberStore.seletMember(ret);\n memberChange && memberChange(ret)\n }\n }\n // 获取会员的卡信息\n this.getCardInfoByMemberId(Idmember)\n }).catch(err => {\n selectChange && selectChange({});\n if (this.isNotSetState(Idmember)) return;\n this.setState({\n member: memberList[key] || {},\n initEmpty: true,\n errorMsg: '会员信息获取失败,请重试',\n memberList,\n loadingBtn:false\n });\n });\n }\n\n loadUserRetail = (Idmember) => {\n const {tabIndex = '1'} = this.state;\n const {titleModal} = this.props;\n\n if (tabIndex !== '1' && ['会员详情', '到店会员', '人脸识别'].includes(titleModal)) {\n Loading.show({\n target: '.member-content-tab',\n node: <Spin scale={1.2} type='shape' visible/>,\n delay: false\n });\n }\n const {currentMemberId} = this.state;\n this.cacheUserRetail[Idmember] = {};\n this.ms.getMemberRetailDetail(Idmember)\n .then(ret => {\n Loading.hide();\n if (this.isNotSetState(Idmember)) return;\n const {Like, Record, Recency, RecommendList = []} = ret || {};\n const recommend = RecommendList;\n const memberInfo = {record: Record, like: Like, recency: Recency};\n\n this.setState({recommend, memberInfo});\n this.cacheUserRetail[Idmember] = {recommend, memberInfo};\n\n })\n .catch(err => {\n delete this.cacheUserRetail[Idmember];\n if (this.isNotSetState(Idmember)) return;\n this.setState({\n recommend: [],\n memberInfo: {},\n });\n Loading.hide();\n });\n }\n\n loadUserList = (type, currentPage = 1, pageSize = 10, isSingleMember = false, searchId) => {\n const { searchValue, searchStatus } = this.state;\n const { status, listArr } = this.props;\n if (!this.ms) return;\n if (type === 'init') {\n let inputValue = this.ms && this.ms.searchValue;\n if (inputValue) {\n this.setState({ searchValue: inputValue })\n setTimeout(() => { this.keyboardOnClose() }, 310)\n }\n }\n if (type === 'loadmore') {\n this.setState({ loadmoreLoading: true });\n } else {\n Loading.show({ target: '.memberShopContainer' });\n }\n if (type === 'opencard') {\n currentPage = this.currentPage;\n }\n if (searchStatus) {\n let arr = listArr.slice(0);\n this.setState({\n searchStatus: false,\n memberList: arr\n }, () => {\n const { memberList } = this.state;\n this.loadUserListSuccess(memberList, 's', memberList.length);\n Loading.hide();\n })\n return;\n }\n this.ms.getSearchMember({\n currentPage,\n pageSize,\n key: this.ms.searchValue || searchValue || searchId,\n isSingleMember: this.ms.searchValue ? true : isSingleMember\n })\n .then(ret => {\n this.loadUserListSuccess(ret, type, pageSize);\n Loading.hide();\n })\n .catch(err => Loading.hide());\n }\n\n loadUserListSuccess = (ret, type, pageSize) => {\n this.dataLoaded = true;\n const { ColumnInfo, Data } = ret || {};\n this.setState({ columnInfo: ColumnInfo});\n this.precisionInfo(ColumnInfo);\n this.usersLoadSuccess(type === 's' ? ret : JSON.parse(Data), type, pageSize);\n }\n\n precisionInfo = (columnInfo) => {\n const precisionInfo = {};\n if (columnInfo && columnInfo.length > 0) {\n columnInfo = columnInfo.filter(v => !!v.Precision) || [];\n columnInfo.length > 0 &&\n columnInfo.forEach(item => {\n const { Precision, FieldName } = item;\n if (Precision) precisionInfo[FieldName] = Precision;\n })\n }\n this.ms.setPrecisionInfo(precisionInfo);\n }\n\n // 获取会员的卡信息\n async getCardInfoByMemberId (memberId) {\n const cardInfo = await this.ms.getCardInfoByMemberId(memberId) || {}\n const { data = [] } = cardInfo\n this.setState({\n cardInfo: data\n })\n }\n\n handleSearchClick = () => {\n const { searchValue } = this.state;\n const { storeKey } = this.props\n this.userSearch = true;\n this.currentPage = 1;\n this.setState({ nomoreData: false, selected: undefined });\n this.loadUserList('search', this.currentPage);\n }\n\n handleSearchChange = (val) => {\n this.setState({searchValue: val});\n }\n\n\n usersLoadSuccess = (data = [], type, pageSize = 10) => {\n const {status} = this.props;\n const { selected } = this.state;\n if (this.willUnmount) return;\n if (data.length) {\n data.forEach(v => userInfoFormat(v));\n\n if (type === 'loadmore') {\n const {memberList = []} = this.state;\n memberList.push(...data);\n return this.setState({nomoreData: data.length < pageSize, loadmoreLoading: false, memberList});\n }\n this.setState({memberList: data}, () => {\n if (type === 'search') {\n this.memberCardList.resetSlideTop();\n }\n const [item = {}] = data;\n // const key=type==='opencard'?(selected-(this.currentPage-1)*pageSize):0;\n // const item =data[key];\n this.loadUserInfo(0, item.ID, item, type);\n });\n } else if (type === 'loadmore') {\n this.setState({nomoreData: true, loadmoreLoading: false});\n } else {\n Loading.hide();\n this.setState({\n memberList: [],\n recommend: [],\n member: {},\n memberInfo: {record: [], like: [], recency: []}\n }, () => {\n if (type === 'search') {\n this.memberCardList.resetSlideTop();\n }\n });\n }\n }\n\n //获取会员状态集合,在页面上以图片戳的形式展示。\n getMemberStateStamp = (item) => {\n let arr = [];\n const { isExpiration, isUserLogout, isUserLoss, isUserNotUsing } = item;\n //已挂失\n if (isUserLoss) arr.push(<Ticon type='yiguashi' />)\n //已过期\n if (isExpiration) arr.push(<Ticon type='yiguoqi' />)\n //已注销\n if (isUserLogout) arr.push(<Ticon type='yizhuxiao' />)\n //未启用\n if (isUserNotUsing) arr.push(<Ticon type='weiqiyong' />)\n return arr;\n }\n controllerEvent = (methodName, methodArgs) => {\n return new Promise(resolve => {\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', {...methodArgs, fn: function(result) {\n resolve(result);\n }});\n });\n }\n // 获取商品行\n getRetails() {\n const data = this.context.viewModel.data || {};\n return toJS(data.RetailDetails || []);\n }\n handleOk = async (noList) => {\n if (noList) {\n return this.props.onCancel();\n }\n const { member, errorMsg } = this.state;\n // 增加会员对手工改价的校验\n let isArrowPriceChange = await this.controllerEvent('memberPriceChangeValidate', {member, retailDetails: this.getRetails()});\n if (!isArrowPriceChange) {\n return this.props.onCancel();\n }\n const { isExpiration, MemberState: { Id, Name } = {} } = member || {};\n if (noList) {\n return this.props.onCancel();\n }\n if (errorMsg) return Message.warn(errorMsg);\n if (errMessageTip(member)) return;\n const { data: { Member: {ID} = {}, IdbusiType } = {}, items = [] } = this.context.viewModel || {};\n if (IdbusiType == 39) {\n Message.warn('取货时不可以切换选择会员');\n return;\n }\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\n if (isTakeTheir) {\n Message.warn('自提时不可以切换选择会员');\n return;\n }\n\n //会员不可更改判断\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\n const uiState = memberStore.uiState;\n if (!!uiState.tip) {\n Message.info(uiState.tip)\n return;\n }\n if (ID) {\n const _this = this;\n return ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: '切换会员',\n content: '您确定要替换当前会员吗?',\n onOk() {\n _this.handleChangeMember(member)\n }\n })\n }\n this.handleChangeMember(member)\n }\n\n handleChangeMember = (member) => {\n const { onOk, memberChange, selectMemberSuccess, getMemberBirthday } = this.props;\n stores.selectMemberStore.seletMember(member, true);\n memberChange && memberChange(member)\n onOk && onOk();\n getMemberBirthday && getMemberBirthday(member.ID, (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n })\n //商品输入框焦点。\n setTimeout(() => { selectMemberSuccess && selectMemberSuccess(member) }, 300)\n }\n\n keyboardOnOk = () => {\n this.handleSearchClick();\n }\n\n keyboardOnClose = () => {\n this.searchRef && this.searchRef.blur();\n }\n\n onKeyPressed = (e) => {\n const { keyCode } = e;\n const enterKey = 13;\n if (keyCode === enterKey) {\n this.handleSearchClick();\n this.keyboardOnClose();\n }\n }\n\n memberTabChange = (tabIndex) => {\n this.setState({tabIndex});\n const currentUserRetail = this.cacheUserRetail[this.currentMemberId];\n if (!currentUserRetail) {\n return this.loadUserRetail(this.currentMemberId);\n }\n this.setState({...currentUserRetail});\n const activeElement = document.activeElement;\n activeElement && activeElement.blur()\n }\n\n MemberMenuChange = (dto) => {\n const { memberList } = this.state;\n userInfoFormat(dto)\n let arr = [];\n memberList.map(item => {\n if (item.ID == dto.ID) {\n arr.push(dto)\n } else {\n arr.push(item)\n }\n })\n this.setState({ member: dto, memberList: arr })\n }\n\n onClear = (key, input) => {\n this.setState({[key]: ''});\n input.focus();\n }\n\n changeIsAllAuthority = () => {\n this.setState({\n isAllAuthority: false\n })\n }\n\n // 重置购买记录相关数据\n resetLastRetail = async (pageNo) => {\n this.setState({\n lastRetailPageNo: pageNo\n })\n }\n // 获取会员的购买记录\n findMemberLastRetailDetailList = async (pageSize) => {\n let { lastRetailPageNo, member: { ID } = {}, lastRetailList = [] } = this.state\n const params = {\n memberId: ID,\n pageNo: lastRetailPageNo,\n pageSize\n }\n this.setState({\n lastRetailLoading: true\n })\n try {\n const ret = await this.ms.findMemberLastRetailDetail(params)\n const { data: { recencyBeanList = [], totalCount = 0 } = {} } = ret\n lastRetailList.push(...recencyBeanList)\n\n this.setState({\n lastRetailTotal: totalCount,\n lastRetailLoading: false,\n lastRetailPageNo: pageSize === 3 ? 0 : this.state.lastRetailPageNo + 1,\n lastRetailList: this.state.lastRetailPageNo === 0 ? recencyBeanList : lastRetailList\n })\n\n } catch (err) {\n this.setState({\n lastRetailLoading: false\n })\n }\n }\n\n render() {\n const isUserAndroidKey = !! window.android_setKeyBoard;\n\n const user = JSON.parse(localStorage.getItem('user')) || {};\n const { loginInfo: { IsEnableUMember } = {} } = user;\n const { searchValue, memberList = [], memberInfo = {}, member = {}, recommend = [], memberTabHeight = 0,\n loadmoreLoading, nomoreData, initEmpty, columnInfo = [], loadingUser, loadingBtn, selected, isAllAuthority,lastRetailTotal, lastRetailList, lastRetailLoading,isCC, cardInfo, cardList } = this.state;\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, viewMemberInfo, authProcess, mode, title, storeKey } = this.props;\n const { precisionInfo = {} } = this.ms;\n const showSearch = ['会员查询'].includes(type);\n const noList = !memberList.length;\n const showSelectBtn = type === '会员查询' || !!status;\n //是否正常开单\n let voucherStateType = (mode !== 'practice');\n const { memberEnumState } = enumController.getEnumOj();\n\n return (\n <div className='memberShopContainer'>\n {\n showSearch &&\n <div className='search-container'>\n <Input\n tplusInput\n placeholder='手机号/卡号/名称/身份证号'\n prefix='sousuo'\n className={`${hotKey.hotKeyNotFilter('search-input')} android_focus_keyboard ${(this.hasElectron === true && this.iCCardServer === 1 || this.isHorizontalPad === true) ? 'temp' : ''}`}\n value={searchValue}\n type='native'\n onChange={({ target: { value: searchValue } }) => this.setState({ searchValue })}\n inputRef={ref => this.searchRef = ref}\n onClear={() => this.onClear('searchValue', this.searchRef)}\n onFocus={({ target }) => {\n if(!isUserAndroidKey ){\n this.focusInputName = 'searchValue';\n this.inputTarget = target;\n Keyboard.open(v => {\n const key = this.focusInputName;\n const value = Keyboard.getNewValue(this.inputTarget, this.inputTarget.value, v);\n this.setState({ [key]: value });\n }, this.keyboardOnOk, this.keyboardOnClose)();\n }\n }}\n onBlur={Keyboard.close}\n onKeyDown={this.onKeyPressed}\n />\n {\n this.hasElectron === true && this.iCCardServer === 1 &&\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\n }\n {\n this.isHorizontalPad &&\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\n }\n {\n /* 扫描组件 */\n this.isHorizontalPad &&\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanCzkResult} />\n }\n <Button className='primary-btn' onClick={this.handleSearchClick}>搜索</Button>\n </div>\n }\n <div ref={ref => this.memberTab = ref} className={`${hotKey.hotKeyBindClass('4', 'member-shop-content')}`}>\n {\n this.dataLoaded && noList && <div className='empty-data-img'><div className='tip-text'>暂无数据 ~</div></div>\n }\n <MemberCardList\n ref={list => this.memberCardList = list}\n title={title}\n storeKey={storeKey}\n memberList={memberList}\n precisionInfo={precisionInfo}\n loadmoreLoading={loadmoreLoading}\n nomoreData={nomoreData}\n loadUserInfo={this.loadUserInfo}\n progressListen={this.progressListen}\n getMemberStateStamp={this.getMemberStateStamp}\n selected={selected}\n isCC={isCC}\n cardList={cardList}\n />\n\n <div className='member-content-tab content' style={{ display: noList ? 'none' : 'flex' }}>\n {\n (voucherStateType && !isAllAuthority) &&\n <div>\n <div className='menu'>\n <MemberMenu\n authProcess={authProcess}\n changeIsAllAuthority={this.changeIsAllAuthority}\n loadUserList={this.loadUserList}\n member={member}\n memberEnumState={memberEnumState}\n loadingBtn={loadingBtn}\n selected={selected}\n cardList={cardList}\n getCardList={this.getCardList}\n loadUserInfo={(key, Idmember, item, type, syncUpdateMember) => this.loadUserInfo(key, Idmember, item, type, syncUpdateMember)}\n handleChange={this.MemberMenuChange}></MemberMenu>\n </div>\n <div className='line'></div>\n </div>\n }\n <MemberTab\n defaultActiveKey={defaultActiveKey}\n member={member}\n memberInfo={memberInfo}\n showModal={showModal}\n title={title}\n titleModal={titleModal}\n storeKey={storeKey}\n recommend={recommend}\n memberTabHeight={memberTabHeight}\n initEmpty={initEmpty}\n memberList={memberList}\n columnInfo={columnInfo}\n precisionInfo={precisionInfo}\n onChange={this.memberTabChange}\n getMemberStateStamp={this.getMemberStateStamp}\n cardInfo={cardInfo}\n \t\t\t lastRetailTotal={lastRetailTotal}\n lastRetailList={lastRetailList}\n lastRetailLoading={lastRetailLoading}\n findMemberLastRetailDetailList={this.findMemberLastRetailDetailList}\n />\n </div>\n </div>\n <div className='member-footer'>\n <Button onClick={onCancel}>取消</Button>\n {\n showSelectBtn &&\n <Button\n onClick={() => this.handleOk(noList)}\n type=\"primary\"\n style={{ marginRight: 5 }}\n disabled={loadingUser}\n >\n {\n loadingUser ? '加载会员' : noList ? '确定' : '选取会员'\n }\n </Button>\n }\n </div>\n </div>\n )\n }\n}\n"]}
1
+ {"version":3,"sources":["tplus-member/member/ShopMember.js"],"names":["hasElectron","env","platform","constant","electron","ShopMember","props","currentPage","cacheUserRetail","handleReadICard","readRfCard","changeScanProduct","scanObj","startScan","onScanCzkResult","val","_this","setState","searchValue","setTimeout","handleSearchClick","hotKeyListener","nodeName","index","progressListen","className","indexOf","isHotKeyAction","activeElement","document","blur","observerCard","slideSelected","querySelector","prevSlideSelected","swiperSelectObserver","unobserve","observe","progress","selected","state","memberList","viewMemberInfo","loadmoreLoading","nomoreData","loadUserList","windowOnresize","memberTab","window","removeEventListener","memberTabHeight","clientHeight","tabMenuHeight","isNotSetState","Idmember","willUnmount","currentMemberId","loadUserInfo","key","item","type","syncUpdateMember","selectChange","memberChange","tabIndex","Loading","hide","recommend","userSearch","memberTabChange","member","loadingUser","loadingBtn","ms","getGetUmemberDTO","then","ret","BalanceIntegral","BalanceStorage","UmemberLabel","MemberCouponTitle","Mobilephone","DynamicPropertyKeys","DynamicPropertyValues","mergeKeys","setMemberKey","currentMemberOfList","find","value","ID","forEach","v","arr","map","push","initEmpty","errorMsg","stores","selectMemberStore","setCurMemberInfo","resetLastRetail","findMemberLastRetailDetailList","context","viewModel","data","Member","seletMember","getCardInfoByMemberId","catch","loadUserRetail","titleModal","includes","show","target","node","delay","getMemberRetailDetail","Like","Record","Recency","RecommendList","memberInfo","record","like","recency","pageSize","isSingleMember","searchId","searchStatus","status","listArr","inputValue","keyboardOnClose","slice","loadUserListSuccess","length","getSearchMember","dataLoaded","ColumnInfo","Data","columnInfo","precisionInfo","usersLoadSuccess","JSON","parse","filter","Precision","FieldName","setPrecisionInfo","storeKey","undefined","handleSearchChange","memberCardList","resetSlideTop","getMemberStateStamp","isExpiration","isUserLogout","isUserLoss","isUserNotUsing","controllerEvent","methodName","methodArgs","onEvent","Action","fromJS","fn","result","resolve","handleOk","noList","onCancel","retailDetails","getRetails","isArrowPriceChange","MemberState","Id","Name","Message","warn","IdbusiType","items","viewVoucher","isTakeTheir","getIsTakeTheir","memberStore","el","name","uiState","tip","info","ModalWraper","confirm","title","content","onOk","handleChangeMember","selectMemberSuccess","getMemberBirthday","changeMemberCare","keyboardOnOk","searchRef","onKeyPressed","e","keyCode","enterKey","currentUserRetail","MemberMenuChange","dto","onClear","input","focus","changeIsAllAuthority","isAllAuthority","pageNo","lastRetailPageNo","lastRetailList","params","memberId","lastRetailLoading","findMemberLastRetailDetail","recencyBeanList","totalCount","lastRetailTotal","mode","user","options","get","ICCardServer","ICCardPassword","iCCardServer","parseInt","iCCardPassword","isHorizontalPad","isCC","defaultActiveKey","cardInfo","connectCardStatus","connectCardError","bind","connectRfCard","addEventListener","Code","$","on","off","error","cardPsw","cardSec","cardKm","nativeMs","setIpcRendererMethod","RetailDetails","isUserAndroidKey","android_setKeyBoard","localStorage","getItem","loginInfo","IsEnableUMember","cardList","showModal","authProcess","showSearch","showSelectBtn","voucherStateType","enumController","getEnumOj","memberEnumState","hotKey","hotKeyNotFilter","ref","focusInputName","inputTarget","Keyboard","open","getNewValue","close","scan","hotKeyBindClass","list","display","getCardList","marginRight","Component","defaultProps","contextTypes","PropTypes","object","array","func"],"mappings":"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","file":"ShopMember.js","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'antd';\nimport { ModalWraper, Input, Loading, Message, Ticon, Keyboard, Spin, hotKey } from 'tplus-components-touch';\nimport { stores, env, nativeMs } from 'mutants-microfx';\nimport { enumController, platform } from 'mutants-util';\nimport memberStore from './api';\nimport MemberTab from './memberTab/index.js';\nimport './ShopMember.less';\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\nimport MemberMenu from './memberMenu/index.js'\nimport MemberCardList from './MemberCardList'\nimport { Action } from 'mutants-appfx'\nimport { toJS } from 'mobx';\n// let swiperSelectObserver;\nconst hasElectron = (env.platform === env.constant.platform.electron);\n\nexport default class ShopMember extends Component {\n static defaultProps = {\n onCancel: () => {},\n onOk: () => {},\n };\n\n static contextTypes = {\n viewModel: PropTypes.object,\n columnInfo: PropTypes.array,\n onEvent: PropTypes.func\n };\n constructor(props) {\n super(props);\n const { mode } = this.props;\n this.hasElectron = hasElectron;\n const { ICCardServer, ICCardPassword } = stores.user.options.get('loginInfo') || {};\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\n this.iCCardPassword = ICCardPassword; //IC卡密码\n //移动端环境下,没有读取IC卡的方式。\n const { isHorizontalPad } = platform || {};\n this.isHorizontalPad = !!isHorizontalPad;\n this.state = {\n searchValue: '',\n memberList: [],\n memberInfo: {\n record: [],\n like: [],\n recency: [],\n },\n searchStatus: !!this.props.listArr ? true : false,\n isCC: true,\n tabIndex: this.props.defaultActiveKey,\n isAllAuthority: false,\n tabMenuHeight: mode !== 'practice' ? 64 : 0, // 64为table上部操作菜单高度\n cardInfo: [], // 会员的卡信息\n\t lastRetailList: [], // 最近购买列表\n lastRetailTotal: 0, // 最近购买的总数量\n lastRetailPageNo: 0, // 最近购买的当前页,默认0开始\n lastRetailLoading: false, // 是否正在加载购买记录\n connectCardStatus: false, //连接IC卡状态\n connectCardError: '', //连接IC卡错误后记录错误信息\n };\n this.ms = memberStore;\n this.handleReadICard = this.handleReadICard.bind(this);\n }\n\n currentPage = 1;\n cacheUserRetail = {};\n\n componentDidMount() {\n // swiperSelectObserver = new IntersectionObserver(entries => {\n // const { boundingClientRect: { height, bottom, top } = {}, intersectionRatio } = entries[0];\n // if (intersectionRatio !== 1 && this.isHotKeyAction) {\n // this.isHotKeyAction = false;\n\n // bottom > height && memberSwiper.slideNext();\n // // 解决向上滑动时top < 10 时距离问题\n // if (top < -10) {\n // top < height && memberSwiper.slidePrev() && memberSwiper.slidePrev()\n // } else {\n // top < height && memberSwiper.slidePrev()\n // }\n // }\n // });\n this.connectRfCard();\n window.addEventListener('resize', this.windowOnresize);\n const { viewMemberInfo, status, columnInfo, storeKey } = this.props;\n if (viewMemberInfo) {\n if (status) {\n return this.loadUserListSuccess(viewMemberInfo);\n } else if (status === 0) { // status 0 为 查看会员详情\n columnInfo && this.precisionInfo(columnInfo); // 查看录入的会员查看详情时父级传递了 columnInfo props\n return this.usersLoadSuccess([viewMemberInfo], 'search');\n }\n const { Code } = viewMemberInfo;\n return this.loadUserList('init', undefined, undefined, true, Code);\n };\n this.loadUserList('init');\n $.on(this.hotKeyListener);\n this.ms.searchValue = '';//初始化完成筛选列表清空数据(会员新增成功——封涛)\n }\n\n componentDidUpdate() {\n const {memberList = [], memberTabHeight, tabMenuHeight} = this.state;\n const clientHeight = this.memberTab.clientHeight - tabMenuHeight;\n if (clientHeight !== memberTabHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n componentWillUnmount() {\n // memberSwiper && memberSwiper.destroy(false);\n // memberSwiper = undefined;\n this.willUnmount = true;\n window.removeEventListener('resize', this.windowOnresize);\n // swiperSelectObserver.disconnect();\n $.off(this.hotKeyListener);\n }\n\n handleReadICard = () => {\n this.readRfCard();\n }\n\n //IC卡读取\n readRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n const { connectCardStatus, connectCardError } = this.state;\n if (connectCardStatus === false) {\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n }\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\n if (ret.status === 0) {\n Message.error(ret.value);\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n } else if (ret.status === 1) {\n this.setState({\n searchValue: ret.value\n })\n this.handleSearchClick(ret.value);\n }\n })\n }\n }\n\n //IC卡连接\n connectRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\n let result = {}\n if (ret.status === 0) {\n result = { connectCardStatus: false, connectCardError: ret.value }\n } else {\n result = { connectCardStatus: true, connectCardError: '' };\n }\n this.setState(result)\n })\n }\n }\n\n //移动端:扫描商品\n changeScanProduct = () => {\n if (this.scanObj) this.scanObj.startScan()\n }\n\n onScanCzkResult = (val) => {\n let _this = this;\n this.setState({\n searchValue: val\n })\n setTimeout(() => { _this.handleSearchClick(val) }, 0)\n }\n\n hotKeyListener = (nodeName, index) => {\n this.progressListen()\n if (nodeName && ~nodeName.className.indexOf('slide-selected')) {\n this.isHotKeyAction = true;\n const activeElement = document.activeElement;\n activeElement && activeElement.blur();\n }\n }\n\n observerCard = () => {\n setTimeout(() => {\n const slideSelected = document.querySelector('.slide-selected');\n this.prevSlideSelected && swiperSelectObserver.unobserve(this.prevSlideSelected);\n this.prevSlideSelected = slideSelected;\n slideSelected && swiperSelectObserver.observe(slideSelected);\n })\n }\n\n progressListen = (progress) => {\n const {selected} = this.state;\n\n const {memberList = []} = this.state;\n const {viewMemberInfo} = this.props;\n if (viewMemberInfo) return;\n const {loadmoreLoading, nomoreData, searchValue = ''} = this.state;\n // let newselect = (selected + 5) % 10\n if ((selected + 1) % 10 === 0 && !loadmoreLoading && !nomoreData) {\n this.currentPage += 1;\n this.loadUserList('loadmore', this.currentPage);\n }\n if (progress >= 1 && !loadmoreLoading && !nomoreData) {\n this.currentPage += 1;\n this.loadUserList('loadmore', this.currentPage);\n }\n }\n\n windowOnresize = () => {\n if (!this.memberTab) {\n return window.removeEventListener('resize', this.windowOnresize);\n };\n const {memberTabHeight} = this.state;\n const clientHeight = this.memberTab.clientHeight - this.state.tabMenuHeight;\n if (memberTabHeight !== clientHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n isNotSetState = (Idmember) => {\n if (this.willUnmount || Idmember !== this.currentMemberId) return true;\n }\n\n loadUserInfo = (key, Idmember, item, type, syncUpdateMember) => {\n // this.observerCard();\n\n const { selectChange, viewMemberInfo, memberChange } = this.props;\n const { selected, tabIndex = '1' } = this.state;\n if (key === selected && type !== true && type!=='opencard') return;\n Loading.hide();\n if (this.currentMemberId && !(this.cacheUserRetail[this.currentMemberId] || {}).recommend) {\n delete this.cacheUserRetail[this.currentMemberId];\n }\n this.currentMemberId = Idmember;\n\n if (this.userSearch || viewMemberInfo) {\n this.userSearch = false;\n this.setState({selected: key});\n }\n\n const {memberList = []} = this.state;\n\n this.memberTabChange(tabIndex);\n\n this.setState({ selected: key, member: memberList[key] || {}, loadingUser: true, loadingBtn: true });\n this.ms.getGetUmemberDTO(Idmember)\n .then(ret => {\n if (this.isNotSetState(Idmember)) return;\n const {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone,\n DynamicPropertyKeys = [], DynamicPropertyValues = []} = ret || {};\n const mergeKeys = {BalanceIntegral, BalanceStorage, UmemberLabel, MemberCouponTitle, Mobilephone, DynamicPropertyKeys, DynamicPropertyValues};\n //const memberInfo = {...(memberList[key] || {}), ...mergeKeys};\n if (viewMemberInfo) {\n // 用接口中的 BalanceStorage MemberCouponTitle覆盖列表中的数据, 监听对象 使用action 设置值\n this.ms.setMemberKey(mergeKeys);\n } else {\n //设置会员列表中该会员的BalanceStorage值\n const currentMemberOfList = memberList.find(value => value.ID === Idmember) || {};\n Object.keys(mergeKeys).forEach(v => currentMemberOfList[v] = mergeKeys[v]);\n }\n userInfoFormat(ret)\n let arr = [];\n memberList.map(item => {\n if (item.ID === ret.ID) {\n arr.push(ret)\n } else {\n arr.push(item)\n }\n })\n this.setState({\n member: ret,\n initEmpty: true,\n memberList: arr,\n errorMsg: '',\n loadingUser: false,\n loadingBtn: false\n })\n stores.selectMemberStore.setCurMemberInfo(ret);\n selectChange && selectChange(item);\n // 获取购买记录\n this.resetLastRetail(0)\n this.findMemberLastRetailDetailList(3)\n // 更新当前选定的会员信息\n if (syncUpdateMember) {\n const { data: { Member: { ID } = {} } = {} } = this.context.viewModel || {};\n if (ID == ret.ID) {\n stores.selectMemberStore.seletMember(ret);\n memberChange && memberChange(ret)\n }\n }\n // 获取会员的卡信息\n this.getCardInfoByMemberId(Idmember)\n }).catch(err => {\n selectChange && selectChange({});\n if (this.isNotSetState(Idmember)) return;\n this.setState({\n member: memberList[key] || {},\n initEmpty: true,\n errorMsg: '会员信息获取失败,请重试',\n memberList,\n loadingBtn:false\n });\n });\n }\n\n loadUserRetail = (Idmember) => {\n const {tabIndex = '1'} = this.state;\n const {titleModal} = this.props;\n\n if (tabIndex !== '1' && ['会员详情', '到店会员', '人脸识别'].includes(titleModal)) {\n Loading.show({\n target: '.member-content-tab',\n node: <Spin scale={1.2} type='shape' visible/>,\n delay: false\n });\n }\n const {currentMemberId} = this.state;\n this.cacheUserRetail[Idmember] = {};\n this.ms.getMemberRetailDetail(Idmember)\n .then(ret => {\n Loading.hide();\n if (this.isNotSetState(Idmember)) return;\n const {Like, Record, Recency, RecommendList = []} = ret || {};\n const recommend = RecommendList;\n const memberInfo = {record: Record, like: Like, recency: Recency};\n\n this.setState({recommend, memberInfo});\n this.cacheUserRetail[Idmember] = {recommend, memberInfo};\n\n })\n .catch(err => {\n delete this.cacheUserRetail[Idmember];\n if (this.isNotSetState(Idmember)) return;\n this.setState({\n recommend: [],\n memberInfo: {},\n });\n Loading.hide();\n });\n }\n\n loadUserList = (type, currentPage = 1, pageSize = 10, isSingleMember = false, searchId) => {\n const { searchValue, searchStatus } = this.state;\n const { status, listArr } = this.props;\n if (!this.ms) return;\n if (type === 'init') {\n let inputValue = this.ms && this.ms.searchValue;\n if (inputValue) {\n this.setState({ searchValue: inputValue })\n setTimeout(() => { this.keyboardOnClose() }, 310)\n }\n }\n if (type === 'loadmore') {\n this.setState({ loadmoreLoading: true });\n } else {\n Loading.show({ target: '.memberShopContainer' });\n }\n if (type === 'opencard') {\n currentPage = this.currentPage;\n }\n if (searchStatus) {\n let arr = listArr.slice(0);\n this.setState({\n searchStatus: false,\n memberList: arr\n }, () => {\n const { memberList } = this.state;\n this.loadUserListSuccess(memberList, 's', memberList.length);\n Loading.hide();\n })\n return;\n }\n this.ms.getSearchMember({\n currentPage,\n pageSize,\n key: this.ms.searchValue || searchValue || searchId,\n isSingleMember: this.ms.searchValue ? true : isSingleMember\n })\n .then(ret => {\n this.loadUserListSuccess(ret, type, pageSize);\n Loading.hide();\n })\n .catch(err => Loading.hide());\n }\n\n loadUserListSuccess = (ret, type, pageSize) => {\n this.dataLoaded = true;\n const { ColumnInfo, Data } = ret || {};\n this.setState({ columnInfo: ColumnInfo});\n this.precisionInfo(ColumnInfo);\n this.usersLoadSuccess(type === 's' ? ret : JSON.parse(Data), type, pageSize);\n }\n\n precisionInfo = (columnInfo) => {\n const precisionInfo = {};\n if (columnInfo && columnInfo.length > 0) {\n columnInfo = columnInfo.filter(v => !!v.Precision) || [];\n columnInfo.length > 0 &&\n columnInfo.forEach(item => {\n const { Precision, FieldName } = item;\n if (Precision) precisionInfo[FieldName] = Precision;\n })\n }\n this.ms.setPrecisionInfo(precisionInfo);\n }\n\n // 获取会员的卡信息\n async getCardInfoByMemberId (memberId) {\n const cardInfo = await this.ms.getCardInfoByMemberId(memberId) || {}\n const { data = [] } = cardInfo\n this.setState({\n cardInfo: data\n })\n }\n\n handleSearchClick = () => {\n const { searchValue } = this.state;\n const { storeKey } = this.props\n this.userSearch = true;\n this.currentPage = 1;\n this.setState({ nomoreData: false, selected: undefined });\n this.loadUserList('search', this.currentPage);\n }\n\n handleSearchChange = (val) => {\n this.setState({searchValue: val});\n }\n\n\n usersLoadSuccess = (data = [], type, pageSize = 10) => {\n const {status} = this.props;\n const { selected } = this.state;\n if (this.willUnmount) return;\n if (data.length) {\n data.forEach(v => userInfoFormat(v));\n\n if (type === 'loadmore') {\n const {memberList = []} = this.state;\n memberList.push(...data);\n return this.setState({nomoreData: data.length < pageSize, loadmoreLoading: false, memberList});\n }\n this.setState({memberList: data}, () => {\n if (type === 'search') {\n this.memberCardList.resetSlideTop();\n }\n const [item = {}] = data;\n // const key=type==='opencard'?(selected-(this.currentPage-1)*pageSize):0;\n // const item =data[key];\n this.loadUserInfo(0, item.ID, item, type);\n });\n } else if (type === 'loadmore') {\n this.setState({nomoreData: true, loadmoreLoading: false});\n } else {\n Loading.hide();\n this.setState({\n memberList: [],\n recommend: [],\n member: {},\n memberInfo: {record: [], like: [], recency: []}\n }, () => {\n if (type === 'search') {\n this.memberCardList.resetSlideTop();\n }\n });\n }\n }\n\n //获取会员状态集合,在页面上以图片戳的形式展示。\n getMemberStateStamp = (item) => {\n let arr = [];\n const { isExpiration, isUserLogout, isUserLoss, isUserNotUsing } = item;\n //已挂失\n if (isUserLoss) arr.push(<Ticon type='yiguashi' />)\n //已过期\n if (isExpiration) arr.push(<Ticon type='yiguoqi' />)\n //已注销\n if (isUserLogout) arr.push(<Ticon type='yizhuxiao' />)\n //未启用\n if (isUserNotUsing) arr.push(<Ticon type='weiqiyong' />)\n return arr;\n }\n controllerEvent = (methodName, methodArgs) => {\n return new Promise(resolve => {\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', {...methodArgs, fn: function(result) {\n resolve(result);\n }});\n });\n }\n // 获取商品行\n getRetails() {\n const data = this.context.viewModel.data || {};\n return toJS(data.RetailDetails || []);\n }\n handleOk = async (noList) => {\n if (noList) {\n return this.props.onCancel();\n }\n const { member, errorMsg } = this.state;\n // 增加会员对手工改价的校验\n let isArrowPriceChange = await this.controllerEvent('memberPriceChangeValidate', {member, retailDetails: this.getRetails()});\n if (!isArrowPriceChange) {\n return this.props.onCancel();\n }\n const { isExpiration, MemberState: { Id, Name } = {} } = member || {};\n if (noList) {\n return this.props.onCancel();\n }\n if (errorMsg) return Message.warn(errorMsg);\n if (errMessageTip(member)) return;\n const { data: { Member: {ID} = {}, IdbusiType } = {}, items = [] } = this.context.viewModel || {};\n if (IdbusiType == 39) {\n Message.warn('取货时不可以切换选择会员');\n return;\n }\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\n if (isTakeTheir) {\n Message.warn('自提时不可以切换选择会员');\n return;\n }\n\n //会员不可更改判断\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\n const uiState = memberStore.uiState;\n if (!!uiState.tip) {\n Message.info(uiState.tip)\n return;\n }\n if (ID) {\n const _this = this;\n return ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: '切换会员',\n content: '您确定要替换当前会员吗?',\n onOk() {\n _this.handleChangeMember(member)\n }\n })\n }\n this.handleChangeMember(member)\n }\n\n handleChangeMember = (member) => {\n const { onOk, memberChange, selectMemberSuccess, getMemberBirthday } = this.props;\n stores.selectMemberStore.seletMember(member, true);\n memberChange && memberChange(member)\n onOk && onOk();\n getMemberBirthday && getMemberBirthday(member.ID, (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n })\n //商品输入框焦点。\n setTimeout(() => { selectMemberSuccess && selectMemberSuccess(member) }, 300)\n }\n\n keyboardOnOk = () => {\n this.handleSearchClick();\n }\n\n keyboardOnClose = () => {\n this.searchRef && this.searchRef.blur();\n }\n\n onKeyPressed = (e) => {\n const { keyCode } = e;\n const enterKey = 13;\n if (keyCode === enterKey) {\n this.handleSearchClick();\n this.keyboardOnClose();\n }\n }\n\n memberTabChange = (tabIndex) => {\n this.setState({tabIndex});\n const currentUserRetail = this.cacheUserRetail[this.currentMemberId];\n if (!currentUserRetail) {\n return this.loadUserRetail(this.currentMemberId);\n }\n this.setState({...currentUserRetail});\n const activeElement = document.activeElement;\n activeElement && activeElement.blur()\n }\n\n MemberMenuChange = (dto) => {\n const { memberList } = this.state;\n userInfoFormat(dto)\n let arr = [];\n memberList.map(item => {\n if (item.ID == dto.ID) {\n arr.push(dto)\n } else {\n arr.push(item)\n }\n })\n this.setState({ member: dto, memberList: arr })\n }\n\n onClear = (key, input) => {\n this.setState({[key]: ''});\n input.focus();\n }\n\n changeIsAllAuthority = () => {\n this.setState({\n isAllAuthority: false\n })\n }\n\n // 重置购买记录相关数据\n resetLastRetail = async (pageNo) => {\n this.setState({\n lastRetailPageNo: pageNo\n })\n }\n // 获取会员的购买记录\n findMemberLastRetailDetailList = async (pageSize) => {\n let { lastRetailPageNo, member: { ID } = {}, lastRetailList = [] } = this.state\n const params = {\n memberId: ID,\n pageNo: lastRetailPageNo,\n pageSize\n }\n this.setState({\n lastRetailLoading: true\n })\n try {\n const ret = await this.ms.findMemberLastRetailDetail(params)\n const { data: { recencyBeanList = [], totalCount = 0 } = {} } = ret\n lastRetailList.push(...recencyBeanList)\n\n this.setState({\n lastRetailTotal: totalCount,\n lastRetailLoading: false,\n lastRetailPageNo: pageSize === 3 ? 0 : this.state.lastRetailPageNo + 1,\n lastRetailList: this.state.lastRetailPageNo === 0 ? recencyBeanList : lastRetailList\n })\n\n } catch (err) {\n this.setState({\n lastRetailLoading: false\n })\n }\n }\n\n render() {\n const isUserAndroidKey = !! window.android_setKeyBoard;\n\n const user = JSON.parse(localStorage.getItem('user')) || {};\n const { loginInfo: { IsEnableUMember } = {} } = user;\n const { searchValue, memberList = [], memberInfo = {}, member = {}, recommend = [], memberTabHeight = 0,\n loadmoreLoading, nomoreData, initEmpty, columnInfo = [], loadingUser, loadingBtn, selected, isAllAuthority,lastRetailTotal, lastRetailList, lastRetailLoading,isCC, cardInfo, cardList } = this.state;\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, viewMemberInfo, authProcess, mode, title, storeKey } = this.props;\n const { precisionInfo = {} } = this.ms;\n const showSearch = ['会员查询'].includes(type);\n const noList = !memberList.length;\n const showSelectBtn = type === '会员查询' || !!status;\n //是否正常开单\n let voucherStateType = (mode !== 'practice');\n const { memberEnumState } = enumController.getEnumOj();\n\n return (\n <div className='memberShopContainer'>\n {\n showSearch &&\n <div className='search-container'>\n <Input\n tplusInput\n placeholder='手机号/卡号/名称/身份证号'\n prefix='sousuo'\n className={`${hotKey.hotKeyNotFilter('search-input')} android_focus_keyboard ${(this.hasElectron === true && this.iCCardServer === 1 || this.isHorizontalPad === true) ? 'temp' : ''}`}\n value={searchValue}\n type='native'\n onChange={({ target: { value: searchValue } }) => this.setState({ searchValue })}\n inputRef={ref => this.searchRef = ref}\n onClear={() => this.onClear('searchValue', this.searchRef)}\n onFocus={({ target }) => {\n if(!isUserAndroidKey ){\n this.focusInputName = 'searchValue';\n this.inputTarget = target;\n Keyboard.open(v => {\n const key = this.focusInputName;\n const value = Keyboard.getNewValue(this.inputTarget, this.inputTarget.value, v);\n this.setState({ [key]: value });\n }, this.keyboardOnOk, this.keyboardOnClose)();\n }\n }}\n onBlur={Keyboard.close}\n onKeyDown={this.onKeyPressed}\n />\n {\n this.hasElectron === true && this.iCCardServer === 1 &&\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\n }\n {\n this.isHorizontalPad &&\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\n }\n {\n /* 扫描组件 */\n this.isHorizontalPad &&\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanCzkResult} />\n }\n <Button className='primary-btn' onClick={this.handleSearchClick}>搜索</Button>\n </div>\n }\n <div ref={ref => this.memberTab = ref} className={`${hotKey.hotKeyBindClass('4', 'member-shop-content')}`}>\n {\n this.dataLoaded && noList && <div className='empty-data-img'><div className='tip-text'>暂无数据 ~</div></div>\n }\n <MemberCardList\n ref={list => this.memberCardList = list}\n title={title}\n storeKey={storeKey}\n memberList={memberList}\n precisionInfo={precisionInfo}\n loadmoreLoading={loadmoreLoading}\n nomoreData={nomoreData}\n loadUserInfo={this.loadUserInfo}\n progressListen={this.progressListen}\n getMemberStateStamp={this.getMemberStateStamp}\n selected={selected}\n isCC={isCC}\n cardList={cardList}\n />\n\n <div className='member-content-tab content' style={{ display: noList ? 'none' : 'flex' }}>\n {\n (voucherStateType && !isAllAuthority) &&\n <div>\n <div className='menu'>\n <MemberMenu\n authProcess={authProcess}\n changeIsAllAuthority={this.changeIsAllAuthority}\n loadUserList={this.loadUserList}\n member={member}\n memberEnumState={memberEnumState}\n loadingBtn={loadingBtn}\n selected={selected}\n cardList={cardList}\n getCardList={this.getCardList}\n loadUserInfo={(key, Idmember, item, type, syncUpdateMember) => this.loadUserInfo(key, Idmember, item, type, syncUpdateMember)}\n handleChange={this.MemberMenuChange}></MemberMenu>\n </div>\n <div className='line'></div>\n </div>\n }\n <MemberTab\n defaultActiveKey={defaultActiveKey}\n member={member}\n memberInfo={memberInfo}\n showModal={showModal}\n title={title}\n titleModal={titleModal}\n storeKey={storeKey}\n recommend={recommend}\n memberTabHeight={memberTabHeight}\n initEmpty={initEmpty}\n memberList={memberList}\n columnInfo={columnInfo}\n precisionInfo={precisionInfo}\n onChange={this.memberTabChange}\n getMemberStateStamp={this.getMemberStateStamp}\n cardInfo={cardInfo}\n \t\t\t lastRetailTotal={lastRetailTotal}\n lastRetailList={lastRetailList}\n lastRetailLoading={lastRetailLoading}\n findMemberLastRetailDetailList={this.findMemberLastRetailDetailList}\n />\n </div>\n </div>\n <div className='member-footer'>\n <Button onClick={onCancel}>取消</Button>\n {\n showSelectBtn &&\n <Button\n onClick={() => this.handleOk(noList)}\n type=\"primary\"\n style={{ marginRight: 5 }}\n disabled={loadingUser}\n >\n {\n loadingUser ? '加载会员' : noList ? '确定' : '选取会员'\n }\n </Button>\n }\n </div>\n </div>\n )\n }\n}\n"]}
@@ -326,16 +326,6 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
326
326
  // swiperSelectObserver.disconnect();
327
327
  $.off(this.hotKeyListener);
328
328
  }
329
-
330
- //IC卡关闭
331
-
332
- }, {
333
- key: 'closeRfCard',
334
- value: function closeRfCard() {
335
- if (this.hasElectron === true && this.iCCardServer === 1) {
336
- _mutantsMicrofx.nativeMs.setIpcRendererMethod('CloseRfCard');
337
- }
338
- }
339
329
  }, {
340
330
  key: 'readRfCard',
341
331
 
@@ -361,8 +351,6 @@ var ShopMemberStorage = (_temp = _class = function (_Component) {
361
351
  _this3.connectRfCard(); //读取失败后,重新连接一下。
362
352
  return;
363
353
  } else if (ret.status === 1) {
364
- // this.searchMember(ret.value);
365
- // this.czkInput.input["value"]=ret.value;
366
354
  _this3.setState({
367
355
  searchValue: ret.value
368
356
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/ShopMemberStorage.js"],"names":["hasElectron","env","platform","constant","electron","ShopMemberStorage","props","currentPage","cacheUserRetail","handleReadICard","readRfCard","changeScanProduct","scanObj","startScan","onScanCzkResult","val","_this","setState","searchValue","setTimeout","getCardList","hotKeyListener","nodeName","index","className","indexOf","isHotKeyAction","activeElement","document","blur","observerCard","slideSelected","querySelector","prevSlideSelected","swiperSelectObserver","unobserve","observe","windowOnresize","memberTab","window","removeEventListener","memberTabHeight","state","clientHeight","tabMenuHeight","isNotSetState","Idmember","willUnmount","currentMemberId","cardNo","pageSize","key","replace","length","Message","error","Loading","show","target","loadingBtn","ms","getCardInfoByCardNo","then","ret","data","cardList","selected","setCardInfo","memberCardList","resetSlideTop","hide","catch","message","err","includes","ModalWraper","warning","title","content","loadUserInfo","ID","getGetUmemberDTO","stores","selectMemberStore","setCurMemberInfo","memberChange","warn","cardInfo","handleSearchClick","userSearch","handleSearchChange","keyboardOnOk","keyboardOnClose","searchRef","onKeyPressed","e","keyCode","enterKey","MemberMenuChange","dto","memberList","arr","map","item","push","member","onClear","input","focus","mode","user","options","get","ICCardServer","ICCardPassword","iCCardServer","parseInt","iCCardPassword","searchStatus","listArr","tabIndex","defaultActiveKey","connectCardStatus","connectCardError","memberStore","isHorizontalPad","connectRfCard","addEventListener","$","on","off","nativeMs","setIpcRendererMethod","params","cardPsw","cardSec","cardKm","status","value","result","isUserAndroidKey","android_setKeyBoard","initEmpty","isAllAuthority","showModal","titleModal","type","onCancel","authProcess","storeKey","showSearch","noList","showSelectBtn","voucherStateType","searchClassName","hotKey","hotKeyNotFilter","memberTabClassName","hotKeyBindClass","ref","focusInputName","inputTarget","Keyboard","open","getNewValue","v","close","scan","list","display","Component","defaultProps","contextTypes","viewModel","PropTypes","object","columnInfo","array"],"mappings":"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","file":"ShopMemberStorage.js","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'antd';\nimport { ModalWraper, Input, Loading, Message, Ticon, Keyboard, Spin, hotKey } from 'tplus-components-touch';\nimport { stores, env, nativeMs } from 'mutants-microfx';\nimport { enumController, platform } from 'mutants-util';\nimport memberStore from './api';\nimport MemberTab from './memberTab/index.js';\nimport './ShopMember.less';\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\nimport MemberMenuStorage from './memberMenuStorage/index.js'\nimport MemberCardList from './MemberCardList'\nconst hasElectron = (env.platform === env.constant.platform.electron);\n\n// let swiperSelectObserver;\n\nexport default class ShopMemberStorage extends Component {\n static defaultProps = {\n onCancel: () => {}\n };\n\n static contextTypes = {\n viewModel: PropTypes.object,\n columnInfo: PropTypes.array,\n };\n constructor(props) {\n super(props);\n const { mode } = this.props;\n this.hasElectron = hasElectron;\n const { ICCardServer, ICCardPassword } = stores.user.options.get('loginInfo') || {};\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\n this.iCCardPassword = ICCardPassword; //IC卡密码\n this.state = {\n searchValue: '',\n searchStatus: !!this.props.listArr ? true : false,\n tabIndex: this.props.defaultActiveKey,\n tabMenuHeight: mode !== 'practice' ? 64 : 0, // 64为table上部操作菜单高度\n cardList: [], // 储值卡列表\n cardInfo: {}, // 当前被选中的卡信息\n connectCardStatus: false, //连接IC卡状态\n connectCardError: '', //连接IC卡错误后记录错误信息\n };\n this.ms = memberStore;\n //移动端环境下,没有读取IC卡的方式。\n const { isHorizontalPad } = platform || {};\n this.isHorizontalPad = !!isHorizontalPad;\n }\n\n currentPage = 1;\n cacheUserRetail = {};\n\n componentDidMount() {\n this.connectRfCard();\n window.addEventListener('resize', this.windowOnresize);\n $.on(this.hotKeyListener);\n this.ms.searchValue = '';//初始化完成筛选列表清空数据(会员新增成功——封涛)\n }\n\n componentDidUpdate() {\n const {memberTabHeight, tabMenuHeight} = this.state;\n const clientHeight = this.memberTab.clientHeight - tabMenuHeight;\n if (clientHeight !== memberTabHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n componentWillUnmount() {\n this.willUnmount = true;\n window.removeEventListener('resize', this.windowOnresize);\n // swiperSelectObserver.disconnect();\n $.off(this.hotKeyListener);\n }\n\n //IC卡关闭\n closeRfCard(){\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('CloseRfCard')\n }\n }\n handleReadICard = () => {\n this.readRfCard();\n }\n //IC卡读取\n readRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n const { connectCardStatus, connectCardError } = this.state;\n if (connectCardStatus === false) {\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n }\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\n if (ret.status === 0) {\n Message.error(ret.value);\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n } else if (ret.status === 1) {\n // this.searchMember(ret.value);\n // this.czkInput.input[\"value\"]=ret.value;\n this.setState({\n searchValue: ret.value\n })\n this.getCardList(ret.value);\n }\n })\n }\n }\n\n //IC卡连接\n connectRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\n let result = {}\n if (ret.status === 0) {\n result = { connectCardStatus: false, connectCardError: ret.value }\n } else {\n result = { connectCardStatus: true, connectCardError: '' };\n }\n this.setState(result)\n })\n }\n }\n\n //移动端:扫描商品\n changeScanProduct = () => {\n if (this.scanObj) this.scanObj.startScan()\n }\n\n onScanCzkResult = (val) => {\n let _this = this;\n this.setState({\n searchValue: val\n })\n setTimeout(() => { _this.getCardList(val) }, 0)\n }\n\n hotKeyListener = (nodeName, index) => {\n if (nodeName && ~nodeName.className.indexOf('slide-selected')) {\n this.isHotKeyAction = true;\n const activeElement = document.activeElement;\n activeElement && activeElement.blur();\n }\n }\n\n observerCard = () => {\n setTimeout(() => {\n const slideSelected = document.querySelector('.slide-selected');\n this.prevSlideSelected && swiperSelectObserver.unobserve(this.prevSlideSelected);\n this.prevSlideSelected = slideSelected;\n slideSelected && swiperSelectObserver.observe(slideSelected);\n })\n }\n windowOnresize = () => {\n if (!this.memberTab) {\n return window.removeEventListener('resize', this.windowOnresize);\n };\n const {memberTabHeight} = this.state;\n const clientHeight = this.memberTab.clientHeight - this.state.tabMenuHeight;\n if (memberTabHeight !== clientHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n isNotSetState = (Idmember) => {\n if (this.willUnmount || Idmember !== this.currentMemberId) return true;\n }\n\n // 获取储值卡信息\n getCardList = (cardNo, currentPage = 1, pageSize = 10, key = 0) => {\n cardNo = cardNo.replace(/\\s+/g,\"\")\n if (cardNo.length === 0) {\n Message.error('请输入卡号')\n return\n }\n Loading.show({ target: '.memberShopContainer' });\n this.setState({\n loadingBtn: true\n })\n this.ms.getCardInfoByCardNo(cardNo)\n .then(ret => {\n const {data = []} = ret || {}\n if (data.length) {\n this.setState({\n cardList: data,\n selected: 0,\n loadingBtn: false\n }, () => {\n this.setCardInfo(currentPage === 1 ? 0 : key, data[0])\n this.memberCardList.resetSlideTop();\n })\n } else {\n this.setCardInfo(key)\n }\n \n Loading.hide();\n })\n .catch(err => {\n const { message } = err\n if (message.includes('code 404')) {\n ModalWraper.warning({\n title: '提示',\n content: `请输入卡号!`\n })\n }\n this.setCardInfo(key)\n this.setState({\n loadingBtn: false\n })\n Loading.hide()\n });\n }\n\n loadUserInfo = (ID) => {\n // this.observerCard();\n\n this.ms.getGetUmemberDTO(ID)\n .then(ret => {\n stores.selectMemberStore.setCurMemberInfo(ret);\n const { memberChange } = this.props;\n memberChange && memberChange(ret);\n }).catch(err => {\n Message.warn('会员信息更新失败!')\n });\n }\n\n // 设置当前被选中的卡信息\n setCardInfo = (key, cardInfo = {}) => {\n this.setState({\n selected: key,\n cardInfo\n })\n }\n\n handleSearchClick = () => {\n const { searchValue, selected } = this.state;\n this.userSearch = true;\n this.currentPage = 1;\n // this.setState({ selected: undefined });\n this.getCardList(searchValue, this.currentPage, 10, selected)\n }\n\n handleSearchChange = (val) => {\n this.setState({searchValue: val});\n }\n\n keyboardOnOk = () => {\n this.handleSearchClick();\n }\n\n keyboardOnClose = () => {\n this.searchRef && this.searchRef.blur();\n }\n\n onKeyPressed = (e) => {\n const { keyCode } = e;\n const enterKey = 13;\n if (keyCode === enterKey) {\n this.handleSearchClick();\n this.keyboardOnClose();\n }\n }\n\n MemberMenuChange = (dto) => {\n const { memberList } = this.state;\n userInfoFormat(dto)\n let arr = [];\n memberList.map(item => {\n if (item.ID == dto.ID) {\n arr.push(dto)\n } else {\n arr.push(item)\n }\n })\n this.setState({ member: dto, memberList: arr })\n }\n\n onClear = (key, input) => {\n this.setState({[key]: ''});\n input.focus();\n }\n\n render() {\n const isUserAndroidKey = !! window.android_setKeyBoard;\n const { searchValue, memberTabHeight = 0, initEmpty, loadingBtn, selected, isAllAuthority, cardList, cardInfo } = this.state;\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, authProcess, mode, title, storeKey } = this.props;\n const showSearch = ['会员查询'].includes(type);\n const noList = !cardList.length;\n const showSelectBtn = type === '会员查询' || !!status;\n //是否正常开单\n let voucherStateType = (mode !== 'practice');\n const searchClassName = hotKey.hotKeyNotFilter('search-input')\n const memberTabClassName = hotKey.hotKeyBindClass('10', 'member-shop-content')\n \n return (\n <div className='memberShopContainer'>\n {\n showSearch &&\n <div className='search-container'>\n <Input\n tplusInput\n placeholder='卡号/手机号'\n prefix='sousuo'\n className={`${searchClassName} android_focus_keyboard ${(this.hasElectron === true && this.iCCardServer === 1 || this.isHorizontalPad === true) ? 'temp' : ''}`}\n value={searchValue}\n type='native'\n onChange={\n ({ target: { value: searchValue } }) => this.setState({ searchValue })\n }\n inputRef={ref => this.searchRef = ref}\n onClear={() => this.onClear('searchValue', this.searchRef)}\n onFocus={({ target }) => {\n if(!isUserAndroidKey ){\n this.focusInputName = 'searchValue';\n this.inputTarget = target;\n Keyboard.open(v => {\n const key = this.focusInputName;\n const value = Keyboard.getNewValue(this.inputTarget, this.inputTarget.value, v);\n this.setState({ [key]: value });\n }, this.keyboardOnOk, this.keyboardOnClose)();\n }\n }}\n onBlur={Keyboard.close}\n onKeyDown={this.onKeyPressed}\n />\n {\n this.hasElectron === true && this.iCCardServer === 1 &&\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\n }\n {\n this.isHorizontalPad &&\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\n }\n {\n /* 扫描组件 */\n this.isHorizontalPad &&\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanCzkResult} />\n }\n <Button className='primary-btn' onClick={this.handleSearchClick}>搜索</Button>\n </div>\n }\n <div \n ref={ref => this.memberTab = ref} \n className={`${memberTabClassName}`}\n >\n {\n noList && <div className='empty-data-img storage-empty-data-img' />\n }\n <MemberCardList \n ref={list => this.memberCardList = list}\n title={title}\n storeKey={storeKey}\n selected={selected}\n cardList={cardList}\n setCardInfo={this.setCardInfo}\n />\n \n <div className='member-content-tab content' style={{ display: noList ? 'none' : 'flex' }}>\n {\n (voucherStateType && !isAllAuthority) &&\n <div>\n <div className='menu'>\n <MemberMenuStorage \n storeKey={storeKey}\n authProcess={authProcess}\n loadingBtn={loadingBtn} \n selected={selected} \n cardList={cardList}\n loadUserInfo={this.loadUserInfo}\n getCardList={this.getCardList}\n handleChange={this.MemberMenuChange} />\n </div>\n <div className='line'></div>\n </div>\n }\n <MemberTab\n defaultActiveKey={defaultActiveKey}\n showModal={showModal}\n title={title}\n titleModal={titleModal}\n storeKey={storeKey}\n selected={selected}\n memberTabHeight={memberTabHeight}\n initEmpty={initEmpty}\n cardList={cardList}\n />\n </div>\n </div>\n <div className='member-footer'>\n <Button onClick={onCancel}>取消</Button>\n </div>\n </div>\n )\n }\n}\n"]}
1
+ {"version":3,"sources":["tplus-member/member/ShopMemberStorage.js"],"names":["hasElectron","env","platform","constant","electron","ShopMemberStorage","props","currentPage","cacheUserRetail","handleReadICard","readRfCard","changeScanProduct","scanObj","startScan","onScanCzkResult","val","_this","setState","searchValue","setTimeout","getCardList","hotKeyListener","nodeName","index","className","indexOf","isHotKeyAction","activeElement","document","blur","observerCard","slideSelected","querySelector","prevSlideSelected","swiperSelectObserver","unobserve","observe","windowOnresize","memberTab","window","removeEventListener","memberTabHeight","state","clientHeight","tabMenuHeight","isNotSetState","Idmember","willUnmount","currentMemberId","cardNo","pageSize","key","replace","length","Message","error","Loading","show","target","loadingBtn","ms","getCardInfoByCardNo","then","ret","data","cardList","selected","setCardInfo","memberCardList","resetSlideTop","hide","catch","message","err","includes","ModalWraper","warning","title","content","loadUserInfo","ID","getGetUmemberDTO","stores","selectMemberStore","setCurMemberInfo","memberChange","warn","cardInfo","handleSearchClick","userSearch","handleSearchChange","keyboardOnOk","keyboardOnClose","searchRef","onKeyPressed","e","keyCode","enterKey","MemberMenuChange","dto","memberList","arr","map","item","push","member","onClear","input","focus","mode","user","options","get","ICCardServer","ICCardPassword","iCCardServer","parseInt","iCCardPassword","searchStatus","listArr","tabIndex","defaultActiveKey","connectCardStatus","connectCardError","memberStore","isHorizontalPad","connectRfCard","addEventListener","$","on","off","params","cardPsw","cardSec","cardKm","nativeMs","setIpcRendererMethod","status","value","result","isUserAndroidKey","android_setKeyBoard","initEmpty","isAllAuthority","showModal","titleModal","type","onCancel","authProcess","storeKey","showSearch","noList","showSelectBtn","voucherStateType","searchClassName","hotKey","hotKeyNotFilter","memberTabClassName","hotKeyBindClass","ref","focusInputName","inputTarget","Keyboard","open","getNewValue","v","close","scan","list","display","Component","defaultProps","contextTypes","viewModel","PropTypes","object","columnInfo","array"],"mappings":"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","file":"ShopMemberStorage.js","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'antd';\nimport { ModalWraper, Input, Loading, Message, Ticon, Keyboard, Spin, hotKey } from 'tplus-components-touch';\nimport { stores, env, nativeMs } from 'mutants-microfx';\nimport { enumController, platform } from 'mutants-util';\nimport memberStore from './api';\nimport MemberTab from './memberTab/index.js';\nimport './ShopMember.less';\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\nimport MemberMenuStorage from './memberMenuStorage/index.js'\nimport MemberCardList from './MemberCardList'\nconst hasElectron = (env.platform === env.constant.platform.electron);\n\n// let swiperSelectObserver;\n\nexport default class ShopMemberStorage extends Component {\n static defaultProps = {\n onCancel: () => {}\n };\n\n static contextTypes = {\n viewModel: PropTypes.object,\n columnInfo: PropTypes.array,\n };\n constructor(props) {\n super(props);\n const { mode } = this.props;\n this.hasElectron = hasElectron;\n const { ICCardServer, ICCardPassword } = stores.user.options.get('loginInfo') || {};\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\n this.iCCardPassword = ICCardPassword; //IC卡密码\n this.state = {\n searchValue: '',\n searchStatus: !!this.props.listArr ? true : false,\n tabIndex: this.props.defaultActiveKey,\n tabMenuHeight: mode !== 'practice' ? 64 : 0, // 64为table上部操作菜单高度\n cardList: [], // 储值卡列表\n cardInfo: {}, // 当前被选中的卡信息\n connectCardStatus: false, //连接IC卡状态\n connectCardError: '', //连接IC卡错误后记录错误信息\n };\n this.ms = memberStore;\n //移动端环境下,没有读取IC卡的方式。\n const { isHorizontalPad } = platform || {};\n this.isHorizontalPad = !!isHorizontalPad;\n }\n\n currentPage = 1;\n cacheUserRetail = {};\n\n componentDidMount() {\n this.connectRfCard();\n window.addEventListener('resize', this.windowOnresize);\n $.on(this.hotKeyListener);\n this.ms.searchValue = '';//初始化完成筛选列表清空数据(会员新增成功——封涛)\n }\n\n componentDidUpdate() {\n const {memberTabHeight, tabMenuHeight} = this.state;\n const clientHeight = this.memberTab.clientHeight - tabMenuHeight;\n if (clientHeight !== memberTabHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n componentWillUnmount() {\n this.willUnmount = true;\n window.removeEventListener('resize', this.windowOnresize);\n // swiperSelectObserver.disconnect();\n $.off(this.hotKeyListener);\n }\n\n handleReadICard = () => {\n this.readRfCard();\n }\n //IC卡读取\n readRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n const { connectCardStatus, connectCardError } = this.state;\n if (connectCardStatus === false) {\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n }\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\n if (ret.status === 0) {\n Message.error(ret.value);\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n } else if (ret.status === 1) {\n this.setState({\n searchValue: ret.value\n })\n this.getCardList(ret.value);\n }\n })\n }\n }\n\n //IC卡连接\n connectRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\n let result = {}\n if (ret.status === 0) {\n result = { connectCardStatus: false, connectCardError: ret.value }\n } else {\n result = { connectCardStatus: true, connectCardError: '' };\n }\n this.setState(result)\n })\n }\n }\n\n //移动端:扫描商品\n changeScanProduct = () => {\n if (this.scanObj) this.scanObj.startScan()\n }\n\n onScanCzkResult = (val) => {\n let _this = this;\n this.setState({\n searchValue: val\n })\n setTimeout(() => { _this.getCardList(val) }, 0)\n }\n\n hotKeyListener = (nodeName, index) => {\n if (nodeName && ~nodeName.className.indexOf('slide-selected')) {\n this.isHotKeyAction = true;\n const activeElement = document.activeElement;\n activeElement && activeElement.blur();\n }\n }\n\n observerCard = () => {\n setTimeout(() => {\n const slideSelected = document.querySelector('.slide-selected');\n this.prevSlideSelected && swiperSelectObserver.unobserve(this.prevSlideSelected);\n this.prevSlideSelected = slideSelected;\n slideSelected && swiperSelectObserver.observe(slideSelected);\n })\n }\n windowOnresize = () => {\n if (!this.memberTab) {\n return window.removeEventListener('resize', this.windowOnresize);\n };\n const {memberTabHeight} = this.state;\n const clientHeight = this.memberTab.clientHeight - this.state.tabMenuHeight;\n if (memberTabHeight !== clientHeight) {\n this.setState({memberTabHeight: clientHeight});\n }\n }\n\n isNotSetState = (Idmember) => {\n if (this.willUnmount || Idmember !== this.currentMemberId) return true;\n }\n\n // 获取储值卡信息\n getCardList = (cardNo, currentPage = 1, pageSize = 10, key = 0) => {\n cardNo = cardNo.replace(/\\s+/g,\"\")\n if (cardNo.length === 0) {\n Message.error('请输入卡号')\n return\n }\n Loading.show({ target: '.memberShopContainer' });\n this.setState({\n loadingBtn: true\n })\n this.ms.getCardInfoByCardNo(cardNo)\n .then(ret => {\n const {data = []} = ret || {}\n if (data.length) {\n this.setState({\n cardList: data,\n selected: 0,\n loadingBtn: false\n }, () => {\n this.setCardInfo(currentPage === 1 ? 0 : key, data[0])\n this.memberCardList.resetSlideTop();\n })\n } else {\n this.setCardInfo(key)\n }\n \n Loading.hide();\n })\n .catch(err => {\n const { message } = err\n if (message.includes('code 404')) {\n ModalWraper.warning({\n title: '提示',\n content: `请输入卡号!`\n })\n }\n this.setCardInfo(key)\n this.setState({\n loadingBtn: false\n })\n Loading.hide()\n });\n }\n\n loadUserInfo = (ID) => {\n // this.observerCard();\n\n this.ms.getGetUmemberDTO(ID)\n .then(ret => {\n stores.selectMemberStore.setCurMemberInfo(ret);\n const { memberChange } = this.props;\n memberChange && memberChange(ret);\n }).catch(err => {\n Message.warn('会员信息更新失败!')\n });\n }\n\n // 设置当前被选中的卡信息\n setCardInfo = (key, cardInfo = {}) => {\n this.setState({\n selected: key,\n cardInfo\n })\n }\n\n handleSearchClick = () => {\n const { searchValue, selected } = this.state;\n this.userSearch = true;\n this.currentPage = 1;\n // this.setState({ selected: undefined });\n this.getCardList(searchValue, this.currentPage, 10, selected)\n }\n\n handleSearchChange = (val) => {\n this.setState({searchValue: val});\n }\n\n keyboardOnOk = () => {\n this.handleSearchClick();\n }\n\n keyboardOnClose = () => {\n this.searchRef && this.searchRef.blur();\n }\n\n onKeyPressed = (e) => {\n const { keyCode } = e;\n const enterKey = 13;\n if (keyCode === enterKey) {\n this.handleSearchClick();\n this.keyboardOnClose();\n }\n }\n\n MemberMenuChange = (dto) => {\n const { memberList } = this.state;\n userInfoFormat(dto)\n let arr = [];\n memberList.map(item => {\n if (item.ID == dto.ID) {\n arr.push(dto)\n } else {\n arr.push(item)\n }\n })\n this.setState({ member: dto, memberList: arr })\n }\n\n onClear = (key, input) => {\n this.setState({[key]: ''});\n input.focus();\n }\n\n render() {\n const isUserAndroidKey = !! window.android_setKeyBoard;\n const { searchValue, memberTabHeight = 0, initEmpty, loadingBtn, selected, isAllAuthority, cardList, cardInfo } = this.state;\n const { status, showModal, titleModal, type, defaultActiveKey, onCancel, authProcess, mode, title, storeKey } = this.props;\n const showSearch = ['会员查询'].includes(type);\n const noList = !cardList.length;\n const showSelectBtn = type === '会员查询' || !!status;\n //是否正常开单\n let voucherStateType = (mode !== 'practice');\n const searchClassName = hotKey.hotKeyNotFilter('search-input')\n const memberTabClassName = hotKey.hotKeyBindClass('10', 'member-shop-content')\n \n return (\n <div className='memberShopContainer'>\n {\n showSearch &&\n <div className='search-container'>\n <Input\n tplusInput\n placeholder='卡号/手机号'\n prefix='sousuo'\n className={`${searchClassName} android_focus_keyboard ${(this.hasElectron === true && this.iCCardServer === 1 || this.isHorizontalPad === true) ? 'temp' : ''}`}\n value={searchValue}\n type='native'\n onChange={\n ({ target: { value: searchValue } }) => this.setState({ searchValue })\n }\n inputRef={ref => this.searchRef = ref}\n onClear={() => this.onClear('searchValue', this.searchRef)}\n onFocus={({ target }) => {\n if(!isUserAndroidKey ){\n this.focusInputName = 'searchValue';\n this.inputTarget = target;\n Keyboard.open(v => {\n const key = this.focusInputName;\n const value = Keyboard.getNewValue(this.inputTarget, this.inputTarget.value, v);\n this.setState({ [key]: value });\n }, this.keyboardOnOk, this.keyboardOnClose)();\n }\n }}\n onBlur={Keyboard.close}\n onKeyDown={this.onKeyPressed}\n />\n {\n this.hasElectron === true && this.iCCardServer === 1 &&\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\n }\n {\n this.isHorizontalPad &&\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\n }\n {\n /* 扫描组件 */\n this.isHorizontalPad &&\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanCzkResult} />\n }\n <Button className='primary-btn' onClick={this.handleSearchClick}>搜索</Button>\n </div>\n }\n <div \n ref={ref => this.memberTab = ref} \n className={`${memberTabClassName}`}\n >\n {\n noList && <div className='empty-data-img storage-empty-data-img' />\n }\n <MemberCardList \n ref={list => this.memberCardList = list}\n title={title}\n storeKey={storeKey}\n selected={selected}\n cardList={cardList}\n setCardInfo={this.setCardInfo}\n />\n \n <div className='member-content-tab content' style={{ display: noList ? 'none' : 'flex' }}>\n {\n (voucherStateType && !isAllAuthority) &&\n <div>\n <div className='menu'>\n <MemberMenuStorage \n storeKey={storeKey}\n authProcess={authProcess}\n loadingBtn={loadingBtn} \n selected={selected} \n cardList={cardList}\n loadUserInfo={this.loadUserInfo}\n getCardList={this.getCardList}\n handleChange={this.MemberMenuChange} />\n </div>\n <div className='line'></div>\n </div>\n }\n <MemberTab\n defaultActiveKey={defaultActiveKey}\n showModal={showModal}\n title={title}\n titleModal={titleModal}\n storeKey={storeKey}\n selected={selected}\n memberTabHeight={memberTabHeight}\n initEmpty={initEmpty}\n cardList={cardList}\n />\n </div>\n </div>\n <div className='member-footer'>\n <Button onClick={onCancel}>取消</Button>\n </div>\n </div>\n )\n }\n}\n"]}
@@ -691,7 +691,7 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
691
691
  _this5.connectRfCard(); //读取失败后,重新连接一下。
692
692
  return;
693
693
  } else if (ret.status === 1) {
694
- _this5.searchMember(ret.value);
694
+ _this5.searchMember(ret.value, 'ok');
695
695
  }
696
696
  });
697
697
  }
@@ -879,7 +879,7 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
879
879
  _react2.default.createElement(
880
880
  'div',
881
881
  { className: 'b' },
882
- '33442343423456789'
882
+ dtMember.CardCode
883
883
  )
884
884
  ),
885
885
  _react2.default.createElement(
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/index.js"],"names":["hasElectron","env","platform","constant","electron","currentMember","MemberTag","observer","props","state","searchValue","titleModal","memberShow","memberPhoto","searchVisible","shopPerson","status","dtMember","connectCardStatus","connectCardError","isMemberCare","isMemberCareModal","sys_parms","emptyMemberImage","window","ossAliyuncsFileURL","memberBirthday","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","fn","result","resolve","resetInShopMemberTimer","count","timer","clearTimeout","time","setTimeout","getInStoreMemberCount","openPhotoModal","isNewRetailBCPos","openFaceRecognition","Message","warn","setState","openShowModal","res","title","data","Member","newAvatar","jsMember","updateMember","ImageFile","viewMemberInfo","openCloseModal","setMemberFocus","memberStore","items","find","el","name","uiState","IsIntegralExchange","store","tip","info","ModalWraper","confirm","className","content","onOk","ms","clearSeletMember","stores","selectMemberStore","clearMemberCare","handleCloseBirthdayModal","changeBirthdayShow","handleMemberCareModal","handleMemberCareModalCancel","handleSearch","val","handleFocus","isMemberInputType","isVoucherMode","Keyboard","open","value","getNewValue","inputSearch","v","searchMember","undefined","keyboardClose","bottom","open2","localStore","get","blur","handleBlur","close","close2","handleReadICard","readRfCard","handleShowModal","type","params","handlePhotoModal","offlineSys","shouldInOffline","searchLoading","trim","memberSearched","selectMemberSuccess","getMemberBirthday","getMeStorageCard","getSearchMember","currentPage","pageSize","key","isSingleMember","then","ret","columnInfo","ColumnInfo","Data","JSON","parse","length","RetailDetails","member","retailDetails","isArrowPriceChange","MemberType","IsStorage","isStorageCardInputType","iseyboardKEnter","keypressStime","drawerStore","init","onHide","subKey","listArr","seletMember","ID","changeMemberCare","isMobileEnvironment","catch","onKeyPressed","e","keyCode","stime","etime","Date","computedCoupon","MemberCouponCount","loadFaceRecognition","faceLoading","inShopLoading","loadInStoreMember","String","tipMessage","console","log","err","changeScanProduct","scanObj","startScan","onScanResult","setIsShowBirthdayTip","getMemberBirthdayInfo","user","options","MemberMeStorageCardInputByKeyBoard","OpenFaceRecognition","ICCardServer","ICCardPassword","parseInt","iCCardServer","iCCardPassword","isHorizontalPad","isHorizontalSunMi","bind","isCC","isShowBirthdayTip","selectMemberInfo","isClear","memberChangeData","memberChange","deepCloneMember","connectRfCard","removeEventListener","windowOnresize","closeRfCard","nextProps","isSendMessage","nativeMs","setIpcRendererMethod","error","cardPsw","cardSec","cardKm","mode","authProcess","precisionInfo","IdbusiType","viewVoucher","isTakeTheir","getIsTakeTheir","isSelectedMember","enumController","getEnumOj","Differentiate","memberCareInfo","input","target","scan","isTicket","daysToBirthday","Name","BalanceStorage","COUPON","BalanceIntegral","memberCareDTO","memberRightRuleList","integralMultiple","integralGive","couponIdMapList","map","index","Component","propTypes","PropTypes","func","contextTypes","object","defaultProps"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @memberChange member 状态发生变化时的回调\n * @memberSearched 录入框会员状态发生变化时的回调 memberSearched(value, type) // type: searched 触发搜索 | err 搜索接口错误 | close 关闭会员\n *\n */\nimport React, { Component, Fragment } from 'react';\nimport { Button, Input } from 'antd';\nimport { observer } from 'mobx-react';\nimport { toJS } from 'mobx';\nimport PropTypes from 'prop-types'\nimport { Ticon, Message, ModalWraper, Spin, Keyboard,Scan } from 'tplus-components-touch';\nimport { env, nativeMs, localStore , stores} from 'mutants-microfx';\nimport { Action } from 'mutants-appfx'\nimport { platform, enumController } from 'mutants-util';\nimport MemberModal from './MemberShow';\nimport MemberPhoto from './MemberPhoto';\nimport memberStore from './api';\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\nimport './index.less';\n\nconst hasElectron = (env.platform === env.constant.platform.electron);\nlet currentMember;\n\n@observer\nclass MemberTag extends Component {\n\n state = {\n searchValue: '',\n titleModal: '',\n memberShow: false,\n memberPhoto: false,\n searchVisible: false,\n shopPerson: 0,\n status: 2, // 0会员详情、1到店会员、2人脸识别\n dtMember: {}, // 会员信息\n connectCardStatus: false, //连接IC卡状态\n connectCardError: '', //连接IC卡错误后记录错误信息\n isMemberCare: false,\n isMemberCareModal: false\n };\n\n static propTypes = {\n memberChange: PropTypes.func,\n memberSearched: PropTypes.func,\n }\n\n static contextTypes = {\n onEvent:PropTypes.func,\n viewModel: PropTypes.object,\n }\n\n static defaultProps = {\n memberChange: () => { },\n }\n\n sys_parms = {\n emptyMemberImage: `${window.ossAliyuncsFileURL}/default_avatar.png`,\n memberBirthday: `${window.ossAliyuncsFileURL}/pictures/member_birthday.png`\n }\n\n constructor(props) {\n super(props);\n this.hasElectron = hasElectron;\n const { isMemberInputType, MemberMeStorageCardInputByKeyBoard, OpenFaceRecognition, ICCardServer, ICCardPassword } = stores.user.options.get('loginInfo') || {};\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\n this.isStorageCardInputType = MemberMeStorageCardInputByKeyBoard; // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\n this.iCCardPassword = ICCardPassword; //IC卡密码\n this.ms = memberStore;\n //移动端环境下,没有读取IC卡的方式。\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\n this.isHorizontalPad = !!isHorizontalPad;\n this.isHorizontalSunMi = !!isHorizontalSunMi;\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\n this.handleReadICard = this.handleReadICard.bind(this);\n\n //记录键盘录入信息的开始时间\n this.keypressStime = null;\n this.iseyboardKEnter = false; //是否为键盘输入\n this.state = {\n isCC: true,\n isShowBirthdayTip: false,\n };\n\n //是否单据模式\n this.isVoucherMode = localStore && localStore.get('voucherDefaultPosMode') == 'voucher';\n }\n\n componentWillReact() {\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\n const { selectMemberInfo = {}, isClear = false } = this.ms;\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\n // 有会员的话清空搜索框文本\n if (dtMember.ID && this.state.searchValue) {\n this.setState({\n searchValue: ''\n })\n }\n const memberChange = (data) => {\n this.setState({newAvatar: ''});\n this.props.memberChange(data);\n }\n if (typeof memberChangeData === 'object') {\n const deepCloneMember = JSON.parse(JSON.stringify(memberChangeData));\n if (!currentMember) {\n currentMember = deepCloneMember;\n memberChange(memberChangeData);\n } else if (currentMember.ID !== memberChangeData.ID) {\n memberChange(memberChangeData);\n currentMember = deepCloneMember;\n } else if (!dtMember.ID && (currentMember || {}).ID) { // DataModel 中清掉member,手动同步 member\n currentMember = undefined;\n this.ms.clearSeletMember();\n }\n } else if (currentMember && !memberChangeData) {\n memberChange(memberChangeData);\n currentMember = undefined;\n } else if (dtMember.ID && !(currentMember || {}).ID) { // DataModel 中存在member,手动同步 member\n const deepCloneMember = JSON.parse(JSON.stringify(dtMember));\n currentMember = deepCloneMember;\n this.ms.seletMember(dtMember);\n }\n }\n\n componentDidMount() {\n stores.selectMemberStore && stores.selectMemberStore.clearMemberCare()\n this.connectRfCard();\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.windowOnresize);\n this.closeRfCard();\n }\n\n componentWillReceiveProps(nextProps) {\n //接受socket传递过来的信息\n let { isSendMessage } = nextProps;\n if (isSendMessage === true) this.getInStoreMemberCount()\n }\n\n controllerEvent = (methodName, methodArgs) => {\n return new Promise(resolve => {\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', { ...methodArgs, fn: function(result) {\n resolve(result);\n }});\n });\n }\n\n resetInShopMemberTimer = (count) => {\n this.timer && clearTimeout(this.timer);\n if (!count) return;\n const time = 5 * 60 * 1000;\n this.timer = setTimeout(() => {\n this.getInStoreMemberCount();\n }, time);\n }\n //IC卡连接\n connectRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\n let result = {}\n if (ret.status === 0) {\n result = { connectCardStatus: false, connectCardError: ret.value }\n } else {\n result = { connectCardStatus: true, connectCardError: '' };\n }\n this.setState(result)\n })\n }\n }\n\n //IC卡读取\n readRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n const { connectCardStatus, connectCardError } = this.state;\n if (connectCardStatus === false) {\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n }\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\n if (ret.status === 0) {\n Message.error(ret.value);\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n } else if (ret.status === 1) {\n this.searchMember(ret.value);\n }\n })\n }\n }\n\n //IC卡关闭\n closeRfCard(){\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('CloseRfCard')\n }\n }\n\n openPhotoModal = () => {\n let { isNewRetailBCPos } = platform || {};\n if (!isNewRetailBCPos) {\n if (!this.openFaceRecognition) {\n Message.warn('未启用人脸识别,需要先开启人脸识别功能');\n return;\n }\n this.setState({\n memberPhoto: true,\n titleModal: '选择头像'\n })\n }\n }\n\n openShowModal = (status, res) => {\n let title = '';\n const { data: { Member = {} } = {} } = this.context.viewModel || {};\n const {newAvatar} = this.state;\n const jsMember = toJS(Member);\n const updateMember = newAvatar ? {...jsMember, ImageFile: newAvatar} : jsMember;\n switch (status) {\n case 0:\n title = '会员详情';\n this.setState({ viewMemberInfo: updateMember })\n break;\n case 1:\n title = '到店会员';\n this.setState({ viewMemberInfo: res })\n break;\n case 2:\n title = '人脸识别';\n this.setState({ viewMemberInfo: res })\n break;\n }\n this.setState({\n status: status,\n memberShow: true,\n titleModal: title\n })\n }\n\n openCloseModal = () => {\n const { setMemberFocus } = this.props;\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\n const uiState = memberStore.uiState;\n const IsIntegralExchange = memberStore.store && memberStore.store.data && memberStore.store.data.IsIntegralExchange\n if (!!uiState.tip) {\n Message.info(uiState.tip)\n return;\n }\n ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: '关闭会员',\n content: `${IsIntegralExchange ? \"关闭会员将会清空商品信息!\" : \"确定要关闭该会员吗?\"}`,\n onOk: () => {\n this.ms.clearSeletMember();\n stores.selectMemberStore.clearMemberCare();\n typeof setMemberFocus == 'function' && setMemberFocus();\n }\n })\n }\n\n //关闭生日提醒\n handleCloseBirthdayModal = () => {\n this.ms.changeBirthdayShow(false);\n }\n\n //会员关怀-送礼\n handleMemberCareModal = () => {\n this.setState({ isMemberCareModal: true })\n }\n handleMemberCareModalCancel = () => {\n this.setState({ isMemberCareModal: false })\n }\n\n handleSearch = (val) => {\n this.setState({ searchValue: val })\n }\n\n handleFocus = (el) => {\n if (this.isMemberInputType) return;\n if (this.isVoucherMode) {\n Keyboard.open(\n v => {\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\n this.handleSearch(value);\n },\n () => { this.searchMember(undefined, 'ok') },\n this.keyboardClose,\n {bottom: 60}\n )()\n } else {\n Keyboard.open2(\n (v) => {\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\n this.handleSearch(value);\n },\n () => {\n this.searchMember(undefined, 'ok');\n },\n this.keyboardClose,\n 'ByMember',\n localStore.get('ByMember')\n )\n }\n }\n\n keyboardClose = () => {\n this.inputSearch.blur();\n }\n\n handleBlur = () => {\n if (this.isVoucherMode) {\n Keyboard.close();\n } else {\n Keyboard.close2();\n }\n }\n\n handleReadICard = () => {\n this.readRfCard();\n }\n\n handleShowModal = (type, params) => {\n if (params) {\n this.setState({ dtMember: params, memberShow: type })\n } else {\n this.setState({ memberShow: type })\n }\n }\n\n handlePhotoModal = (type, newAvatar) => {\n if (newAvatar) {\n this.setState({\n newAvatar,\n memberPhoto: type\n })\n } else {\n this.setState({ memberPhoto: type })\n }\n }\n\n searchMember = (val, type) => {\n if(!stores.offlineSys.shouldInOffline()) return;\n if (!this.ms || this.searchLoading) return;\n const {searchValue} = this.state;\n val = val || (searchValue || '').trim();\n if (!val) return;\n const { memberSearched, selectMemberSuccess,setMemberFocus,getMemberBirthday, getMeStorageCard } = this.props;\n this.searchLoading = true;\n this.setState({searchVisible: true});\n this.ms.getSearchMember({\n currentPage: 1,\n pageSize: 10,\n key: val,\n isSingleMember: true\n }).then(async (ret) => {\n this.searchLoading = false;\n const {ColumnInfo: columnInfo, Data} = ret || {};\n const data = JSON.parse(Data) || [];\n const info = data[0];\n if (data.length === 1 && info) {\n const { data: { RetailDetails = [] } = {} } = this.context.viewModel || {};\n let isArrowPriceChange = await this.controllerEvent('memberPriceChangeValidate', { member: info, retailDetails: toJS(RetailDetails)});\n if (!isArrowPriceChange) {\n this.setState({searchVisible: false, searchValue: ''});\n return;\n }\n }\n this.setState({searchVisible: false, columnInfo});\n if (info && info.MemberType && info.MemberType.IsStorage && this.isStorageCardInputType && this.iseyboardKEnter){\n getMeStorageCard && getMeStorageCard(true);\n this.handleSearch('');\n this.keypressStime = null;\n } else {\n getMeStorageCard && getMeStorageCard(false);\n }\n memberSearched && memberSearched(info, 'searched');\n if (info) {\n if (data.length > 1) {\n stores.drawerStore.init({\n title: '会员管理',\n key: 'member',\n onHide:()=>{\n },\n subKey: 'memberManager',\n listArr: data,\n });\n this.setState({\n searchValue: null\n })\n } else {\n memberSearched && memberSearched(info, 'searched');\n userInfoFormat(info);\n if (errMessageTip(info)) return;\n this.ms.seletMember(info, true);\n setTimeout(() => this.setState({ searchValue: '' }), 0);\n this.handleBlur();\n selectMemberSuccess && selectMemberSuccess();\n getMemberBirthday && getMemberBirthday(info.ID, (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n });\n }\n } else {\n if (type === 'ok'){\n Message.warn('会员不存在');\n if (this.isMobileEnvironment) {\n setTimeout(() => this.setState({ searchValue: '' }), 0);\n }\n typeof setMemberFocus == 'function' && setMemberFocus();\n }\n }\n }).catch(err => {\n this.setState({searchVisible: false});\n this.searchLoading = false;\n memberSearched && memberSearched(undefined, 'err');\n })\n }\n\n //获取当前到店会员数量\n getInStoreMemberCount = () => {\n if (!this.ms) return;\n this.ms.getInStoreMemberCount().then(res => {\n const {data: {data: shopPerson} = {}} = res || {};\n this.setState({shopPerson});\n this.resetInShopMemberTimer(shopPerson);\n });\n }\n\n onKeyPressed = (e) => {\n const keyCode = e && e.keyCode\n if (keyCode === 13) {\n if (this.isMemberInputType) {\n let stime = this.keypressStime;\n let etime = Date.parse(new Date());\n if (etime - stime > 300) {\n this.handleSearch('')\n this.keypressStime = null;\n return Message.warn('未启用键盘录入功能');\n }\n this.keypressStime = null;\n }\n this.iseyboardKEnter = Date.parse(new Date()) - this.keypressStime > 300;\n if (this.isStorageCardInputType) {\n this.keypressStime = null;\n }\n if (this.searchLoading) return;\n this.searchMember(undefined, 'ok');\n }\n else if (this.isMemberInputType && !this.keypressStime && !(keyCode == 8)) {\n this.keypressStime = Date.parse(new Date())\n } else if (this.isStorageCardInputType && !this.keypressStime && !(keyCode == 8) && !this.isMemberInputType) {\n this.keypressStime = Date.parse(new Date())\n }\n }\n\n computedCoupon = (member = {}) => {\n return member.MemberCouponCount ? member.MemberCouponCount : '0';\n }\n\n loadFaceRecognition = (type) => {\n // type = 1:到店会员 type = 2:POS机人脸识别\n this.setState({faceLoading: type === 2, inShopLoading: type === 1});\n this.ms.loadInStoreMember(String(type))\n .then(res => {\n this.setState({faceLoading: false, inShopLoading: false});\n const {Data} = res || {};\n if (!JSON.parse(Data).length) {\n const tipMessage = ['当前没有到店会员', '未识别到人脸信息'];\n type === 1 && this.setState({shopPerson: 0});\n return Message.info(tipMessage[type - 1]);\n }\n type === 1 && this.getInStoreMemberCount();\n this.openShowModal(type, res);\n })\n .catch(err => {\n this.setState({faceLoading: false, inShopLoading: false});\n console.log(err)\n });\n }\n\n //移动端:扫描商品\n changeScanProduct = () => {\n if (this.scanObj) this.scanObj.startScan()\n }\n onScanResult = (res) => {\n this.setState({\n searchValue: res\n }, () => {\n this.onKeyPressed({ keyCode: 13 })\n })\n }\n\n setIsShowBirthdayTip = () => {\n stores.selectMemberStore.clearMemberCare()\n }\n\n getMemberBirthdayInfo = (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n }\n\n render() {\n const {\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible = false, columnInfo, isCC,\n isMemberCare, isMemberCareModal, isShowBirthdayTip\n } = this.state;\n const { mode = 'formal', authProcess, selectMemberSuccess } = this.props;\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\n const { data: { Member: dtMember = {}, IdbusiType } = {}, items = [] } = this.context.viewModel || {};\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\n const isSelectedMember = !!dtMember.ID;\n const { Differentiate } = enumController.getEnumOj();\n const { memberCareInfo } = stores.selectMemberStore;\n\n return (\n <div className='MemberContainer'>\n <div className='left'>\n {!isSelectedMember &&\n <div className='search'>\n <div className='b1'>\n <Input\n type='text'\n className=\"input\"\n id='memberPoint'\n placeholder='扫描/输入会员号'\n value={searchValue}\n ref={el => this.inputSearch = el && el.input}\n onChange={(e) => this.handleSearch(e.target.value)}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.onKeyPressed}\n disabled={IdbusiType == 39}\n />\n <Spin\n className='search-spin'\n scale={0.8}\n type='circle-side'\n visible={searchVisible}\n />\n </div>\n <div className='b2'>\n {\n this.hasElectron === true && this.iCCardServer === 1 &&\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\n }\n {\n this.isHorizontalPad ?\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\n :\n (\n false && this.openFaceRecognition === 1 && !faceLoading &&\n <div className='openFaceRecognition-box'>\n <Ticon className='icon' onClick={() => this.loadFaceRecognition(2)} type=\"renlianshibie\" />\n <Spin\n className='face-spin'\n scale={0.8}\n type='circle'\n visible={faceLoading}\n />\n </div>\n )\n }\n {\n /* 扫描组件 */\n this.isHorizontalPad &&\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanResult} />\n }\n </div>\n </div>\n }\n {isSelectedMember &&\n <div className={`info ${this.openFaceRecognition ? '' : 'member-btn-hidden-flex'}`}>\n <div className='first'>\n <img onClick={this.openPhotoModal} src={newAvatar || dtMember.ImageFile || this.sys_parms.emptyMemberImage} />\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\n {\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"shengri\" className='shengriIcon'></Ticon>\n }\n {\n memberCareInfo && memberCareInfo.isTicket && <div className='birthdayContent'>\n <div className='birthdayWarn'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\n <Button colors=\"warn\" onClick={this.handleMemberCareModal} className='check bg-theme'>查看</Button>\n <Ticon type=\"cuowuda\" className='cuowudaIcon'></Ticon>\n </div>\n }\n {\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"cuowuda\" onClick={() => { this.setIsShowBirthdayTip()}} className='cuowudaIcon'></Ticon>\n }\n </div>\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\n <div className='one oneDtMember'>\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\n {/* <div className='b'>{dtMember.CardCode}</div> */}\n <div className='b'>33442343423456789</div>\n </div>\n <div className='two'>\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\n <div className='b'>余额</div>\n </div>\n <div className='two'>\n <div className='a'>{this.computedCoupon(dtMember)}</div>\n <div className='b'>{Differentiate.COUPON}</div>\n </div>\n <div className='two'>\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\n <div className='b'>积分</div>\n </div>\n </div>\n <div className='close'>\n {!isTakeTheir && IdbusiType !=39 && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\n </div>\n </div>\n }\n </div>\n {/* {\n memberCareInfo && memberCareInfo.isTicket ? <div className='float'>\n <div className='txt'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\n <div className='btn' onClick={this.handleMemberCareModal}>查看</div>\n <div className='cancel'>\n <Ticon type='guanbixiao' onClick={() => {\n this.setIsShowBirthdayTip()\n }}/>\n </div>\n </div> : null\n } */}\n {!!this.openFaceRecognition && <div className='right'>\n <Button type=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\n {!inShopLoading && '到店会员'}\n <Spin\n className='inshop-member-spin'\n scale={0.8}\n type='circle'\n visible={inShopLoading}\n />\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\n </Button>\n </div>}\n <MemberModal\n mode={mode}\n authProcess={authProcess}\n viewMemberInfo={viewMemberInfo}\n columnInfo={columnInfo}\n status={status}\n showModal={memberShow}\n storeKey='memberManager'\n titleModal={titleModal}\n selectMemberSuccess={selectMemberSuccess}\n handleModal={this.handleShowModal}\n />\n <ModalWraper\n show={isMemberCareModal}\n className='member-care-modal'\n width='688'\n centered={true}\n memberClass='memberCareWidth'\n cancel={this.handleMemberCareModalCancel}\n >\n <div className='first'>会员生日关怀</div>\n <div className='second'>\n <div className='secondContent'>\n <Ticon type='dengpao'/>\n <span>口头关怀客户,提示引导客户去线上商城领取权益。</span>\n </div>\n </div>\n <div className='third'>\n <div className='one'>\n <img src={this.sys_parms.emptyMemberImage} />\n <Ticon type='shengri' />\n </div>\n <div className='two'>\n {\n memberCareInfo && memberCareInfo.daysToBirthday === 0 ? <span>\n 今天是{dtMember.Name}的生日,该会员是{dtMember.MemberType.Name},可享受以下权益\n </span> : <span>\n {dtMember.Name}会员还有{memberCareInfo && memberCareInfo.daysToBirthday}天生日,该会员是{dtMember.MemberType.Name},可享受以下权益\n </span>\n }\n </div>\n </div>\n {\n memberCareInfo && <div className='fourth'>\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple && <div className='item'>1.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple}</div>}\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive && <div className='item'>2.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive}</div>}\n {\n memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].couponIdMapList.map((value, index) => {\n let count = 0;\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple) {\n count += 1;\n }\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive) {\n count += 1;\n }\n return (<div className='item'>{count + 1 + index}.{value.name}</div>)\n })\n }\n </div>\n }\n </ModalWraper>\n </div>\n );\n }\n}\nexport default MemberTag\n"]}
1
+ {"version":3,"sources":["tplus-member/member/index.js"],"names":["hasElectron","env","platform","constant","electron","currentMember","MemberTag","observer","props","state","searchValue","titleModal","memberShow","memberPhoto","searchVisible","shopPerson","status","dtMember","connectCardStatus","connectCardError","isMemberCare","isMemberCareModal","sys_parms","emptyMemberImage","window","ossAliyuncsFileURL","memberBirthday","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","fn","result","resolve","resetInShopMemberTimer","count","timer","clearTimeout","time","setTimeout","getInStoreMemberCount","openPhotoModal","isNewRetailBCPos","openFaceRecognition","Message","warn","setState","openShowModal","res","title","data","Member","newAvatar","jsMember","updateMember","ImageFile","viewMemberInfo","openCloseModal","setMemberFocus","memberStore","items","find","el","name","uiState","IsIntegralExchange","store","tip","info","ModalWraper","confirm","className","content","onOk","ms","clearSeletMember","stores","selectMemberStore","clearMemberCare","handleCloseBirthdayModal","changeBirthdayShow","handleMemberCareModal","handleMemberCareModalCancel","handleSearch","val","handleFocus","isMemberInputType","isVoucherMode","Keyboard","open","value","getNewValue","inputSearch","v","searchMember","undefined","keyboardClose","bottom","open2","localStore","get","blur","handleBlur","close","close2","handleReadICard","readRfCard","handleShowModal","type","params","handlePhotoModal","offlineSys","shouldInOffline","searchLoading","trim","memberSearched","selectMemberSuccess","getMemberBirthday","getMeStorageCard","getSearchMember","currentPage","pageSize","key","isSingleMember","then","ret","columnInfo","ColumnInfo","Data","JSON","parse","length","RetailDetails","member","retailDetails","isArrowPriceChange","MemberType","IsStorage","isStorageCardInputType","iseyboardKEnter","keypressStime","drawerStore","init","onHide","subKey","listArr","seletMember","ID","changeMemberCare","isMobileEnvironment","catch","onKeyPressed","e","keyCode","stime","etime","Date","computedCoupon","MemberCouponCount","loadFaceRecognition","faceLoading","inShopLoading","loadInStoreMember","String","tipMessage","console","log","err","changeScanProduct","scanObj","startScan","onScanResult","setIsShowBirthdayTip","getMemberBirthdayInfo","user","options","MemberMeStorageCardInputByKeyBoard","OpenFaceRecognition","ICCardServer","ICCardPassword","parseInt","iCCardServer","iCCardPassword","isHorizontalPad","isHorizontalSunMi","bind","isCC","isShowBirthdayTip","selectMemberInfo","isClear","memberChangeData","memberChange","deepCloneMember","connectRfCard","removeEventListener","windowOnresize","closeRfCard","nextProps","isSendMessage","nativeMs","setIpcRendererMethod","error","cardPsw","cardSec","cardKm","mode","authProcess","precisionInfo","IdbusiType","viewVoucher","isTakeTheir","getIsTakeTheir","isSelectedMember","enumController","getEnumOj","Differentiate","memberCareInfo","input","target","scan","isTicket","daysToBirthday","Name","CardCode","BalanceStorage","COUPON","BalanceIntegral","memberCareDTO","memberRightRuleList","integralMultiple","integralGive","couponIdMapList","map","index","Component","propTypes","PropTypes","func","contextTypes","object","defaultProps"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @memberChange member 状态发生变化时的回调\n * @memberSearched 录入框会员状态发生变化时的回调 memberSearched(value, type) // type: searched 触发搜索 | err 搜索接口错误 | close 关闭会员\n *\n */\nimport React, { Component, Fragment } from 'react';\nimport { Button, Input } from 'antd';\nimport { observer } from 'mobx-react';\nimport { toJS } from 'mobx';\nimport PropTypes from 'prop-types'\nimport { Ticon, Message, ModalWraper, Spin, Keyboard,Scan } from 'tplus-components-touch';\nimport { env, nativeMs, localStore , stores} from 'mutants-microfx';\nimport { Action } from 'mutants-appfx'\nimport { platform, enumController } from 'mutants-util';\nimport MemberModal from './MemberShow';\nimport MemberPhoto from './MemberPhoto';\nimport memberStore from './api';\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\nimport './index.less';\n\nconst hasElectron = (env.platform === env.constant.platform.electron);\nlet currentMember;\n\n@observer\nclass MemberTag extends Component {\n\n state = {\n searchValue: '',\n titleModal: '',\n memberShow: false,\n memberPhoto: false,\n searchVisible: false,\n shopPerson: 0,\n status: 2, // 0会员详情、1到店会员、2人脸识别\n dtMember: {}, // 会员信息\n connectCardStatus: false, //连接IC卡状态\n connectCardError: '', //连接IC卡错误后记录错误信息\n isMemberCare: false,\n isMemberCareModal: false\n };\n\n static propTypes = {\n memberChange: PropTypes.func,\n memberSearched: PropTypes.func,\n }\n\n static contextTypes = {\n onEvent:PropTypes.func,\n viewModel: PropTypes.object,\n }\n\n static defaultProps = {\n memberChange: () => { },\n }\n\n sys_parms = {\n emptyMemberImage: `${window.ossAliyuncsFileURL}/default_avatar.png`,\n memberBirthday: `${window.ossAliyuncsFileURL}/pictures/member_birthday.png`\n }\n\n constructor(props) {\n super(props);\n this.hasElectron = hasElectron;\n const { isMemberInputType, MemberMeStorageCardInputByKeyBoard, OpenFaceRecognition, ICCardServer, ICCardPassword } = stores.user.options.get('loginInfo') || {};\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\n this.isStorageCardInputType = MemberMeStorageCardInputByKeyBoard; // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\n this.iCCardPassword = ICCardPassword; //IC卡密码\n this.ms = memberStore;\n //移动端环境下,没有读取IC卡的方式。\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\n this.isHorizontalPad = !!isHorizontalPad;\n this.isHorizontalSunMi = !!isHorizontalSunMi;\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\n this.handleReadICard = this.handleReadICard.bind(this);\n\n //记录键盘录入信息的开始时间\n this.keypressStime = null;\n this.iseyboardKEnter = false; //是否为键盘输入\n this.state = {\n isCC: true,\n isShowBirthdayTip: false,\n };\n\n //是否单据模式\n this.isVoucherMode = localStore && localStore.get('voucherDefaultPosMode') == 'voucher';\n }\n\n componentWillReact() {\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\n const { selectMemberInfo = {}, isClear = false } = this.ms;\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\n // 有会员的话清空搜索框文本\n if (dtMember.ID && this.state.searchValue) {\n this.setState({\n searchValue: ''\n })\n }\n const memberChange = (data) => {\n this.setState({newAvatar: ''});\n this.props.memberChange(data);\n }\n if (typeof memberChangeData === 'object') {\n const deepCloneMember = JSON.parse(JSON.stringify(memberChangeData));\n if (!currentMember) {\n currentMember = deepCloneMember;\n memberChange(memberChangeData);\n } else if (currentMember.ID !== memberChangeData.ID) {\n memberChange(memberChangeData);\n currentMember = deepCloneMember;\n } else if (!dtMember.ID && (currentMember || {}).ID) { // DataModel 中清掉member,手动同步 member\n currentMember = undefined;\n this.ms.clearSeletMember();\n }\n } else if (currentMember && !memberChangeData) {\n memberChange(memberChangeData);\n currentMember = undefined;\n } else if (dtMember.ID && !(currentMember || {}).ID) { // DataModel 中存在member,手动同步 member\n const deepCloneMember = JSON.parse(JSON.stringify(dtMember));\n currentMember = deepCloneMember;\n this.ms.seletMember(dtMember);\n }\n }\n\n componentDidMount() {\n stores.selectMemberStore && stores.selectMemberStore.clearMemberCare()\n this.connectRfCard();\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.windowOnresize);\n this.closeRfCard();\n }\n\n componentWillReceiveProps(nextProps) {\n //接受socket传递过来的信息\n let { isSendMessage } = nextProps;\n if (isSendMessage === true) this.getInStoreMemberCount()\n }\n\n controllerEvent = (methodName, methodArgs) => {\n return new Promise(resolve => {\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', { ...methodArgs, fn: function(result) {\n resolve(result);\n }});\n });\n }\n\n resetInShopMemberTimer = (count) => {\n this.timer && clearTimeout(this.timer);\n if (!count) return;\n const time = 5 * 60 * 1000;\n this.timer = setTimeout(() => {\n this.getInStoreMemberCount();\n }, time);\n }\n //IC卡连接\n connectRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\n let result = {}\n if (ret.status === 0) {\n result = { connectCardStatus: false, connectCardError: ret.value }\n } else {\n result = { connectCardStatus: true, connectCardError: '' };\n }\n this.setState(result)\n })\n }\n }\n\n //IC卡读取\n readRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n const { connectCardStatus, connectCardError } = this.state;\n if (connectCardStatus === false) {\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n }\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\n if (ret.status === 0) {\n Message.error(ret.value);\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n } else if (ret.status === 1) {\n this.searchMember(ret.value, 'ok');\n }\n })\n }\n }\n\n //IC卡关闭\n closeRfCard(){\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('CloseRfCard')\n }\n }\n\n openPhotoModal = () => {\n let { isNewRetailBCPos } = platform || {};\n if (!isNewRetailBCPos) {\n if (!this.openFaceRecognition) {\n Message.warn('未启用人脸识别,需要先开启人脸识别功能');\n return;\n }\n this.setState({\n memberPhoto: true,\n titleModal: '选择头像'\n })\n }\n }\n\n openShowModal = (status, res) => {\n let title = '';\n const { data: { Member = {} } = {} } = this.context.viewModel || {};\n const {newAvatar} = this.state;\n const jsMember = toJS(Member);\n const updateMember = newAvatar ? {...jsMember, ImageFile: newAvatar} : jsMember;\n switch (status) {\n case 0:\n title = '会员详情';\n this.setState({ viewMemberInfo: updateMember })\n break;\n case 1:\n title = '到店会员';\n this.setState({ viewMemberInfo: res })\n break;\n case 2:\n title = '人脸识别';\n this.setState({ viewMemberInfo: res })\n break;\n }\n this.setState({\n status: status,\n memberShow: true,\n titleModal: title\n })\n }\n\n openCloseModal = () => {\n const { setMemberFocus } = this.props;\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\n const uiState = memberStore.uiState;\n const IsIntegralExchange = memberStore.store && memberStore.store.data && memberStore.store.data.IsIntegralExchange\n if (!!uiState.tip) {\n Message.info(uiState.tip)\n return;\n }\n ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: '关闭会员',\n content: `${IsIntegralExchange ? \"关闭会员将会清空商品信息!\" : \"确定要关闭该会员吗?\"}`,\n onOk: () => {\n this.ms.clearSeletMember();\n stores.selectMemberStore.clearMemberCare();\n typeof setMemberFocus == 'function' && setMemberFocus();\n }\n })\n }\n\n //关闭生日提醒\n handleCloseBirthdayModal = () => {\n this.ms.changeBirthdayShow(false);\n }\n\n //会员关怀-送礼\n handleMemberCareModal = () => {\n this.setState({ isMemberCareModal: true })\n }\n handleMemberCareModalCancel = () => {\n this.setState({ isMemberCareModal: false })\n }\n\n handleSearch = (val) => {\n this.setState({ searchValue: val })\n }\n\n handleFocus = (el) => {\n if (this.isMemberInputType) return;\n if (this.isVoucherMode) {\n Keyboard.open(\n v => {\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\n this.handleSearch(value);\n },\n () => { this.searchMember(undefined, 'ok') },\n this.keyboardClose,\n {bottom: 60}\n )()\n } else {\n Keyboard.open2(\n (v) => {\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\n this.handleSearch(value);\n },\n () => {\n this.searchMember(undefined, 'ok');\n },\n this.keyboardClose,\n 'ByMember',\n localStore.get('ByMember')\n )\n }\n }\n\n keyboardClose = () => {\n this.inputSearch.blur();\n }\n\n handleBlur = () => {\n if (this.isVoucherMode) {\n Keyboard.close();\n } else {\n Keyboard.close2();\n }\n }\n\n handleReadICard = () => {\n this.readRfCard();\n }\n\n handleShowModal = (type, params) => {\n if (params) {\n this.setState({ dtMember: params, memberShow: type })\n } else {\n this.setState({ memberShow: type })\n }\n }\n\n handlePhotoModal = (type, newAvatar) => {\n if (newAvatar) {\n this.setState({\n newAvatar,\n memberPhoto: type\n })\n } else {\n this.setState({ memberPhoto: type })\n }\n }\n\n searchMember = (val, type) => {\n if(!stores.offlineSys.shouldInOffline()) return;\n if (!this.ms || this.searchLoading) return;\n const {searchValue} = this.state;\n val = val || (searchValue || '').trim();\n if (!val) return;\n const { memberSearched, selectMemberSuccess,setMemberFocus,getMemberBirthday, getMeStorageCard } = this.props;\n this.searchLoading = true;\n this.setState({searchVisible: true});\n this.ms.getSearchMember({\n currentPage: 1,\n pageSize: 10,\n key: val,\n isSingleMember: true\n }).then(async (ret) => {\n this.searchLoading = false;\n const {ColumnInfo: columnInfo, Data} = ret || {};\n const data = JSON.parse(Data) || [];\n const info = data[0];\n if (data.length === 1 && info) {\n const { data: { RetailDetails = [] } = {} } = this.context.viewModel || {};\n let isArrowPriceChange = await this.controllerEvent('memberPriceChangeValidate', { member: info, retailDetails: toJS(RetailDetails)});\n if (!isArrowPriceChange) {\n this.setState({searchVisible: false, searchValue: ''});\n return;\n }\n }\n this.setState({searchVisible: false, columnInfo});\n if (info && info.MemberType && info.MemberType.IsStorage && this.isStorageCardInputType && this.iseyboardKEnter){\n getMeStorageCard && getMeStorageCard(true);\n this.handleSearch('');\n this.keypressStime = null;\n } else {\n getMeStorageCard && getMeStorageCard(false);\n }\n memberSearched && memberSearched(info, 'searched');\n if (info) {\n if (data.length > 1) {\n stores.drawerStore.init({\n title: '会员管理',\n key: 'member',\n onHide:()=>{\n },\n subKey: 'memberManager',\n listArr: data,\n });\n this.setState({\n searchValue: null\n })\n } else {\n memberSearched && memberSearched(info, 'searched');\n userInfoFormat(info);\n if (errMessageTip(info)) return;\n this.ms.seletMember(info, true);\n setTimeout(() => this.setState({ searchValue: '' }), 0);\n this.handleBlur();\n selectMemberSuccess && selectMemberSuccess();\n getMemberBirthday && getMemberBirthday(info.ID, (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n });\n }\n } else {\n if (type === 'ok'){\n Message.warn('会员不存在');\n if (this.isMobileEnvironment) {\n setTimeout(() => this.setState({ searchValue: '' }), 0);\n }\n typeof setMemberFocus == 'function' && setMemberFocus();\n }\n }\n }).catch(err => {\n this.setState({searchVisible: false});\n this.searchLoading = false;\n memberSearched && memberSearched(undefined, 'err');\n })\n }\n\n //获取当前到店会员数量\n getInStoreMemberCount = () => {\n if (!this.ms) return;\n this.ms.getInStoreMemberCount().then(res => {\n const {data: {data: shopPerson} = {}} = res || {};\n this.setState({shopPerson});\n this.resetInShopMemberTimer(shopPerson);\n });\n }\n\n onKeyPressed = (e) => {\n const keyCode = e && e.keyCode\n if (keyCode === 13) {\n if (this.isMemberInputType) {\n let stime = this.keypressStime;\n let etime = Date.parse(new Date());\n if (etime - stime > 300) {\n this.handleSearch('')\n this.keypressStime = null;\n return Message.warn('未启用键盘录入功能');\n }\n this.keypressStime = null;\n }\n this.iseyboardKEnter = Date.parse(new Date()) - this.keypressStime > 300;\n if (this.isStorageCardInputType) {\n this.keypressStime = null;\n }\n if (this.searchLoading) return;\n this.searchMember(undefined, 'ok');\n }\n else if (this.isMemberInputType && !this.keypressStime && !(keyCode == 8)) {\n this.keypressStime = Date.parse(new Date())\n } else if (this.isStorageCardInputType && !this.keypressStime && !(keyCode == 8) && !this.isMemberInputType) {\n this.keypressStime = Date.parse(new Date())\n }\n }\n\n computedCoupon = (member = {}) => {\n return member.MemberCouponCount ? member.MemberCouponCount : '0';\n }\n\n loadFaceRecognition = (type) => {\n // type = 1:到店会员 type = 2:POS机人脸识别\n this.setState({faceLoading: type === 2, inShopLoading: type === 1});\n this.ms.loadInStoreMember(String(type))\n .then(res => {\n this.setState({faceLoading: false, inShopLoading: false});\n const {Data} = res || {};\n if (!JSON.parse(Data).length) {\n const tipMessage = ['当前没有到店会员', '未识别到人脸信息'];\n type === 1 && this.setState({shopPerson: 0});\n return Message.info(tipMessage[type - 1]);\n }\n type === 1 && this.getInStoreMemberCount();\n this.openShowModal(type, res);\n })\n .catch(err => {\n this.setState({faceLoading: false, inShopLoading: false});\n console.log(err)\n });\n }\n\n //移动端:扫描商品\n changeScanProduct = () => {\n if (this.scanObj) this.scanObj.startScan()\n }\n onScanResult = (res) => {\n this.setState({\n searchValue: res\n }, () => {\n this.onKeyPressed({ keyCode: 13 })\n })\n }\n\n setIsShowBirthdayTip = () => {\n stores.selectMemberStore.clearMemberCare()\n }\n\n getMemberBirthdayInfo = (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n }\n\n render() {\n const {\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible = false, columnInfo, isCC,\n isMemberCare, isMemberCareModal, isShowBirthdayTip\n } = this.state;\n const { mode = 'formal', authProcess, selectMemberSuccess } = this.props;\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\n const { data: { Member: dtMember = {}, IdbusiType } = {}, items = [] } = this.context.viewModel || {};\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\n const isSelectedMember = !!dtMember.ID;\n const { Differentiate } = enumController.getEnumOj();\n const { memberCareInfo } = stores.selectMemberStore;\n\n return (\n <div className='MemberContainer'>\n <div className='left'>\n {!isSelectedMember &&\n <div className='search'>\n <div className='b1'>\n <Input\n type='text'\n className=\"input\"\n id='memberPoint'\n placeholder='扫描/输入会员号'\n value={searchValue}\n ref={el => this.inputSearch = el && el.input}\n onChange={(e) => this.handleSearch(e.target.value)}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.onKeyPressed}\n disabled={IdbusiType == 39}\n />\n <Spin\n className='search-spin'\n scale={0.8}\n type='circle-side'\n visible={searchVisible}\n />\n </div>\n <div className='b2'>\n {\n this.hasElectron === true && this.iCCardServer === 1 &&\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\n }\n {\n this.isHorizontalPad ?\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\n :\n (\n false && this.openFaceRecognition === 1 && !faceLoading &&\n <div className='openFaceRecognition-box'>\n <Ticon className='icon' onClick={() => this.loadFaceRecognition(2)} type=\"renlianshibie\" />\n <Spin\n className='face-spin'\n scale={0.8}\n type='circle'\n visible={faceLoading}\n />\n </div>\n )\n }\n {\n /* 扫描组件 */\n this.isHorizontalPad &&\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanResult} />\n }\n </div>\n </div>\n }\n {isSelectedMember &&\n <div className={`info ${this.openFaceRecognition ? '' : 'member-btn-hidden-flex'}`}>\n <div className='first'>\n <img onClick={this.openPhotoModal} src={newAvatar || dtMember.ImageFile || this.sys_parms.emptyMemberImage} />\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\n {\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"shengri\" className='shengriIcon'></Ticon>\n }\n {\n memberCareInfo && memberCareInfo.isTicket && <div className='birthdayContent'>\n <div className='birthdayWarn'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\n <Button colors=\"warn\" onClick={this.handleMemberCareModal} className='check bg-theme'>查看</Button>\n <Ticon type=\"cuowuda\" className='cuowudaIcon'></Ticon>\n </div>\n }\n {\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"cuowuda\" onClick={() => { this.setIsShowBirthdayTip()}} className='cuowudaIcon'></Ticon>\n }\n </div>\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\n <div className='one oneDtMember'>\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\n <div className='b'>{dtMember.CardCode}</div>\n </div>\n <div className='two'>\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\n <div className='b'>余额</div>\n </div>\n <div className='two'>\n <div className='a'>{this.computedCoupon(dtMember)}</div>\n <div className='b'>{Differentiate.COUPON}</div>\n </div>\n <div className='two'>\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\n <div className='b'>积分</div>\n </div>\n </div>\n <div className='close'>\n {!isTakeTheir && IdbusiType !=39 && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\n </div>\n </div>\n }\n </div>\n {/* {\n memberCareInfo && memberCareInfo.isTicket ? <div className='float'>\n <div className='txt'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\n <div className='btn' onClick={this.handleMemberCareModal}>查看</div>\n <div className='cancel'>\n <Ticon type='guanbixiao' onClick={() => {\n this.setIsShowBirthdayTip()\n }}/>\n </div>\n </div> : null\n } */}\n {!!this.openFaceRecognition && <div className='right'>\n <Button type=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\n {!inShopLoading && '到店会员'}\n <Spin\n className='inshop-member-spin'\n scale={0.8}\n type='circle'\n visible={inShopLoading}\n />\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\n </Button>\n </div>}\n <MemberModal\n mode={mode}\n authProcess={authProcess}\n viewMemberInfo={viewMemberInfo}\n columnInfo={columnInfo}\n status={status}\n showModal={memberShow}\n storeKey='memberManager'\n titleModal={titleModal}\n selectMemberSuccess={selectMemberSuccess}\n handleModal={this.handleShowModal}\n />\n <ModalWraper\n show={isMemberCareModal}\n className='member-care-modal'\n width='688'\n centered={true}\n memberClass='memberCareWidth'\n cancel={this.handleMemberCareModalCancel}\n >\n <div className='first'>会员生日关怀</div>\n <div className='second'>\n <div className='secondContent'>\n <Ticon type='dengpao'/>\n <span>口头关怀客户,提示引导客户去线上商城领取权益。</span>\n </div>\n </div>\n <div className='third'>\n <div className='one'>\n <img src={this.sys_parms.emptyMemberImage} />\n <Ticon type='shengri' />\n </div>\n <div className='two'>\n {\n memberCareInfo && memberCareInfo.daysToBirthday === 0 ? <span>\n 今天是{dtMember.Name}的生日,该会员是{dtMember.MemberType.Name},可享受以下权益\n </span> : <span>\n {dtMember.Name}会员还有{memberCareInfo && memberCareInfo.daysToBirthday}天生日,该会员是{dtMember.MemberType.Name},可享受以下权益\n </span>\n }\n </div>\n </div>\n {\n memberCareInfo && <div className='fourth'>\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple && <div className='item'>1.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple}</div>}\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive && <div className='item'>2.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive}</div>}\n {\n memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].couponIdMapList.map((value, index) => {\n let count = 0;\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple) {\n count += 1;\n }\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive) {\n count += 1;\n }\n return (<div className='item'>{count + 1 + index}.{value.name}</div>)\n })\n }\n </div>\n }\n </ModalWraper>\n </div>\n );\n }\n}\nexport default MemberTag\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tplus-member",
3
- "version": "3.46.3",
3
+ "version": "3.46.6",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {