tplus-member 3.38.3 → 3.38.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/index.js"],"names":["hasElectron","env","platform","constant","electron","emptyMemberImage","memberBirthday","currentMember","MemberTag","observer","props","stores","user","options","get","isMemberInputType","MemberMeStorageCardInputByKeyBoard","OpenFaceRecognition","ICCardServer","ICCardPassword","parseInt","isStorageCardInputType","openFaceRecognition","iCCardServer","iCCardPassword","ms","memberStore","isHorizontalPad","isHorizontalSunMi","isMobileEnvironment","handleReadICard","bind","keypressStime","iseyboardKEnter","isNewRetailBCPos","state","isCC","isShowBirthdayTip","isVoucherMode","localStore","context","viewModel","data","Member","dtMember","selectMemberInfo","isClear","memberChangeData","length","undefined","ID","searchValue","setState","memberChange","newAvatar","deepCloneMember","JSON","parse","clearSeletMember","seletMember","selectMemberStore","clearMemberCare","connectRfCard","window","removeEventListener","windowOnresize","closeRfCard","nextProps","isSendMessage","getInStoreMemberCount","nativeMs","setIpcRendererMethod","result","ret","status","connectCardStatus","connectCardError","value","Message","error","params","cardPsw","cardSec","cardKm","searchMember","memberPhoto","titleModal","memberShow","inShopLoading","faceLoading","shopPerson","viewMemberInfo","searchVisible","columnInfo","isMemberCare","isMemberCareModal","mode","authProcess","selectMemberSuccess","precisionInfo","items","viewVoucher","find","v","type","isTakeTheir","getIsTakeTheir","isSelectedMember","enumController","getEnumOj","Differentiate","memberCareInfo","inputSearch","el","input","e","handleSearch","target","handleFocus","handleBlur","onKeyPressed","changeScanProduct","loadFaceRecognition","scanObj","scan","onScanResult","openPhotoModal","ImageFile","handlePhotoModal","isTicket","daysToBirthday","handleMemberCareModal","setIsShowBirthdayTip","openShowModal","Name","CardCode","BalanceStorage","computedCoupon","COUPON","BalanceIntegral","openCloseModal","handleShowModal","handleMemberCareModalCancel","MemberType","memberCareDTO","memberRightRuleList","integralMultiple","integralGive","couponIdMapList","map","index","count","name","birthdayShow","handleCloseBirthdayModal","Component","propTypes","PropTypes","func","memberSearched","contextTypes","onEvent","object","defaultProps","controllerEvent","methodName","methodArgs","Action","fromJS","resetInShopMemberTimer","timer","clearTimeout","time","setTimeout","warn","res","title","jsMember","updateMember","setMemberFocus","uiState","IsIntegralExchange","store","tip","info","ModalWraper","confirm","className","content","onOk","changeBirthdayShow","val","Keyboard","open","getNewValue","keyboardClose","open2","blur","close","close2","readRfCard","offlineSys","shouldInOffline","searchLoading","trim","getMemberBirthday","getMeStorageCard","getSearchMember","currentPage","pageSize","key","isSingleMember","then","ColumnInfo","Data","IsStorage","drawerStore","init","onHide","subKey","listArr","changeMemberCare","catch","keyCode","stime","etime","Date","member","MemberCouponCount","couponKey","DynamicPropertyKeys","DynamicPropertyValues","couponIndex","findIndex","loadInStoreMember","String","tipMessage","console","log","err","startScan","getMemberBirthdayInfo"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @memberChange member 状态发生变化时的回调\n * @memberSearched 录入框会员状态发生变化时的回调 memberSearched(value, type) // type: searched 触发搜索 | err 搜索接口错误 | close 关闭会员\n *\n */\nimport React, { Component, Fragment } from 'react';\nimport { Button, Input } from 'antd';\nimport { observer } from 'mobx-react';\nimport { toJS } from 'mobx';\nimport PropTypes from 'prop-types'\nimport { Ticon, Message, ModalWraper, Spin, Keyboard,Scan } from 'tplus-components-touch';\nimport { env, nativeMs, localStore , stores} from 'mutants-microfx';\nimport { Action } from 'mutants-appfx'\nimport { platform, enumController } from 'mutants-util';\nimport MemberModal from './MemberShow';\nimport MemberPhoto from './MemberPhoto';\nimport memberStore from './api';\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\nimport './index.less';\n\n\n\nconst hasElectron = (env.platform === env.constant.platform.electron);\n//定义默认头像值。\nconst emptyMemberImage = 'https://newretail.static.chanjet.com/default_avatar.png';\nconst memberBirthday = 'https://newretail.static.chanjet.com/pictures/member_birthday.png';\nlet currentMember;\n\n@observer\nclass MemberTag extends Component {\n\n state = {\n searchValue: '',\n titleModal: '',\n memberShow: false,\n memberPhoto: false,\n searchVisible: false,\n shopPerson: 0,\n status: 2, // 0会员详情、1到店会员、2人脸识别\n dtMember: {}, // 会员信息\n connectCardStatus: false, //连接IC卡状态\n connectCardError: '', //连接IC卡错误后记录错误信息\n isMemberCare: false,\n isMemberCareModal: false\n };\n\n static propTypes = {\n memberChange: PropTypes.func,\n memberSearched: PropTypes.func,\n }\n\n static contextTypes = {\n onEvent:PropTypes.func,\n viewModel: PropTypes.object,\n }\n\n static defaultProps = {\n memberChange: () => { },\n }\n\n constructor(props) {\n super(props);\n this.hasElectron = hasElectron;\n const { isMemberInputType, MemberMeStorageCardInputByKeyBoard, OpenFaceRecognition, ICCardServer, ICCardPassword } = stores.user.options.get('loginInfo') || {};\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\n this.isStorageCardInputType = MemberMeStorageCardInputByKeyBoard; // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\n this.iCCardPassword = ICCardPassword; //IC卡密码\n this.ms = memberStore;\n //移动端环境下,没有读取IC卡的方式。\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\n this.isHorizontalPad = !!isHorizontalPad;\n this.isHorizontalSunMi = !!isHorizontalSunMi;\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\n this.handleReadICard = this.handleReadICard.bind(this);\n\n //记录键盘录入信息的开始时间\n this.keypressStime = null;\n this.iseyboardKEnter = false; //是否为键盘输入\n let { isNewRetailBCPos } = platform || {};\n this.state = {\n isCC: !!isNewRetailBCPos,\n isShowBirthdayTip: false,\n };\n\n //是否单据模式\n 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 this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\n }\n\n resetInShopMemberTimer = (count) => {\n this.timer && clearTimeout(this.timer);\n if (!count) return;\n const time = 5 * 60 * 1000;\n this.timer = setTimeout(() => {\n this.getInStoreMemberCount();\n }, time);\n }\n //IC卡连接\n connectRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\n let result = {}\n if (ret.status === 0) {\n result = { connectCardStatus: false, connectCardError: ret.value }\n } else {\n result = { connectCardStatus: true, connectCardError: '' };\n }\n this.setState(result)\n })\n }\n }\n\n //IC卡读取\n readRfCard() {\n //客户端环境下,并开启了启用IC卡。\n if (this.hasElectron === true && this.iCCardServer === 1) {\n const { connectCardStatus, connectCardError } = this.state;\n if (connectCardStatus === false) {\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n }\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\n if (ret.status === 0) {\n Message.error(ret.value);\n this.connectRfCard(); //读取失败后,重新连接一下。\n return;\n } else if (ret.status === 1) {\n this.searchMember(ret.value);\n }\n })\n }\n }\n\n //IC卡关闭\n closeRfCard(){\n if (this.hasElectron === true && this.iCCardServer === 1) {\n nativeMs.setIpcRendererMethod('CloseRfCard')\n }\n }\n\n openPhotoModal = () => {\n let { isNewRetailBCPos } = platform || {};\n if (!isNewRetailBCPos) {\n if (!this.openFaceRecognition) {\n Message.warn('未启用人脸识别,需要先开启人脸识别功能');\n return;\n }\n this.setState({\n memberPhoto: true,\n titleModal: '选择头像'\n })\n }\n }\n\n openShowModal = (status, res) => {\n let title = '';\n const { data: { Member = {} } = {} } = this.context.viewModel || {};\n const {newAvatar} = this.state;\n const jsMember = toJS(Member);\n const updateMember = newAvatar ? {...jsMember, ImageFile: newAvatar} : jsMember;\n switch (status) {\n case 0:\n title = '会员详情';\n this.setState({ viewMemberInfo: updateMember })\n break;\n case 1:\n title = '到店会员';\n this.setState({ viewMemberInfo: res })\n break;\n case 2:\n title = '人脸识别';\n this.setState({ viewMemberInfo: res })\n break;\n }\n this.setState({\n status: status,\n memberShow: true,\n titleModal: title\n })\n }\n\n openCloseModal = () => {\n const { setMemberFocus } = this.props;\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\n const uiState = memberStore.uiState;\n const IsIntegralExchange = memberStore.store && memberStore.store.data && memberStore.store.data.IsIntegralExchange\n if (!!uiState.tip) {\n Message.info(uiState.tip)\n return;\n }\n ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: '关闭会员',\n content: `${IsIntegralExchange ? \"关闭会员将会清空商品信息!\" : \"确定要关闭该会员吗?\"}`,\n onOk: () => {\n this.ms.clearSeletMember();\n stores.selectMemberStore.clearMemberCare();\n typeof setMemberFocus == 'function' && setMemberFocus();\n }\n })\n }\n\n //关闭生日提醒\n handleCloseBirthdayModal = () => {\n this.ms.changeBirthdayShow(false);\n }\n\n //会员关怀-送礼\n handleMemberCareModal = () => {\n this.setState({ isMemberCareModal: true })\n }\n handleMemberCareModalCancel = () => {\n this.setState({ isMemberCareModal: false })\n }\n\n handleSearch = (val) => {\n this.setState({ searchValue: val })\n }\n\n handleFocus = (el) => {\n if (this.isMemberInputType) return;\n 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 'ByMember',\n localStore.get('ByMember')\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(ret => {\n this.searchLoading = false;\n const {ColumnInfo: columnInfo, Data} = ret || {};\n const data = JSON.parse(Data) || [];\n const info = data[0];\n this.setState({searchVisible: false, columnInfo});\n if (info && info.MemberType && info.MemberType.IsStorage && this.isStorageCardInputType && this.iseyboardKEnter){\n getMeStorageCard && getMeStorageCard(true);\n this.handleSearch('');\n this.keypressStime = null;\n } else {\n getMeStorageCard && getMeStorageCard(false);\n }\n memberSearched && memberSearched(info, 'searched');\n if (info) {\n if (data.length > 1) {\n stores.drawerStore.init({\n title: '会员管理',\n key: 'member',\n onHide:()=>{\n },\n 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 let { isNewRetailBCPos } = platform || {};\n if (!!isNewRetailBCPos) {\n return member.MemberCouponCount? member.MemberCouponCount : '0';\n } else {\n const couponKey = 'membercouponcount';\n const {DynamicPropertyKeys = [], DynamicPropertyValues = []} = member;\n const couponIndex = DynamicPropertyKeys.findIndex(v => v === couponKey);\n return ~couponIndex ? DynamicPropertyValues[couponIndex] : '0';\n }\n }\n\n loadFaceRecognition = (type) => {\n // type = 1:到店会员 type = 2:POS机人脸识别\n this.setState({faceLoading: type === 2, inShopLoading: type === 1});\n this.ms.loadInStoreMember(String(type))\n .then(res => {\n this.setState({faceLoading: false, inShopLoading: false});\n const {Data} = res || {};\n if (!JSON.parse(Data).length) {\n const tipMessage = ['当前没有到店会员', '未识别到人脸信息'];\n type === 1 && this.setState({shopPerson: 0});\n return Message.info(tipMessage[type - 1]);\n }\n type === 1 && this.getInStoreMemberCount();\n this.openShowModal(type, res);\n })\n .catch(err => {\n this.setState({faceLoading: false, inShopLoading: false});\n console.log(err)\n });\n }\n\n //移动端:扫描商品\n changeScanProduct = () => {\n if (this.scanObj) this.scanObj.startScan()\n }\n onScanResult = (res) => {\n this.setState({\n searchValue: res\n }, () => {\n this.onKeyPressed({ keyCode: 13 })\n })\n }\n\n setIsShowBirthdayTip = () => {\n stores.selectMemberStore.clearMemberCare()\n }\n\n getMemberBirthdayInfo = (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n }\n\n render() {\n const {\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible = false, columnInfo, isCC,\n isMemberCare, isMemberCareModal, isShowBirthdayTip\n } = this.state;\n const { mode = 'formal', authProcess, selectMemberSuccess } = this.props;\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\n const { data: { Member: dtMember = {} } = {}, items = [] } = this.context.viewModel || {};\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\n const isSelectedMember = !!dtMember.ID;\n const { Differentiate } = enumController.getEnumOj();\n const { memberCareInfo } = stores.selectMemberStore;\n let { isNewRetailBCPos } = platform || {};\n\n return (\n <div className='MemberContainer'>\n <div className='left'>\n {!isSelectedMember &&\n <div className='search'>\n <div className='b1'>\n <Input\n type='text'\n className=\"input\"\n id='memberPoint'\n placeholder='扫描/输入会员号'\n value={searchValue}\n ref={el => this.inputSearch = el && el.input}\n onChange={(e) => this.handleSearch(e.target.value)}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.onKeyPressed}\n />\n <Spin\n className='search-spin'\n scale={0.8}\n type='circle-side'\n visible={searchVisible}\n />\n </div>\n <div className='b2'>\n {\n this.hasElectron === true && this.iCCardServer === 1 &&\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\n }\n {\n this.isHorizontalPad ?\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\n :\n (\n false && this.openFaceRecognition === 1 && !faceLoading &&\n <div className='openFaceRecognition-box'>\n <Ticon className='icon' onClick={() => this.loadFaceRecognition(2)} type=\"renlianshibie\" />\n <Spin\n className='face-spin'\n scale={0.8}\n type='circle'\n visible={faceLoading}\n />\n </div>\n )\n }\n {\n /* 扫描组件 */\n this.isHorizontalPad &&\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanResult} />\n }\n </div>\n </div>\n }\n {isSelectedMember &&\n <div className={`info ${this.openFaceRecognition ? '' : 'member-btn-hidden-flex'}`}>\n <div className='first'>\n <img onClick={this.openPhotoModal} src={newAvatar || dtMember.ImageFile || emptyMemberImage} />\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\n {\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"shengri\" className='shengriIcon'></Ticon>\n }\n {\n memberCareInfo && memberCareInfo.isTicket && <div className='birthdayContent'>\n <div className='birthdayWarn'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\n <Button colors=\"warn\" onClick={this.handleMemberCareModal} className='check bg-theme'>查看</Button>\n <Ticon type=\"cuowuda\" className='cuowudaIcon'></Ticon>\n </div>\n }\n {\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"cuowuda\" onClick={() => { this.setIsShowBirthdayTip()}} className='cuowudaIcon'></Ticon>\n }\n </div>\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\n <div className='one'>\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\n <div className='b'>{dtMember.CardCode}</div>\n </div>\n <div className='two'>\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\n <div className='b'>余额</div>\n </div>\n <div className='two'>\n <div className='a'>{this.computedCoupon(dtMember)}</div>\n <div className='b'>{Differentiate.COUPON}</div>\n </div>\n <div className='two'>\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\n <div className='b'>积分</div>\n </div>\n </div>\n <div className='close'>\n {!isTakeTheir && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\n </div>\n </div>\n }\n </div>\n {/* {\n memberCareInfo && memberCareInfo.isTicket ? <div className='float'>\n <div className='txt'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\n <div className='btn' onClick={this.handleMemberCareModal}>查看</div>\n <div className='cancel'>\n <Ticon type='guanbixiao' onClick={() => {\n this.setIsShowBirthdayTip()\n }}/>\n </div>\n </div> : null\n } */}\n {!!this.openFaceRecognition && <div className='right'>\n <Button type=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\n {!inShopLoading && '到店会员'}\n <Spin\n className='inshop-member-spin'\n scale={0.8}\n type='circle'\n visible={inShopLoading}\n />\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\n </Button>\n </div>}\n <MemberModal\n mode={mode}\n authProcess={authProcess}\n viewMemberInfo={viewMemberInfo}\n columnInfo={columnInfo}\n status={status}\n showModal={memberShow}\n 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={emptyMemberImage} />\n <Ticon type='shengri' />\n </div>\n <div className='two'>\n {\n memberCareInfo && memberCareInfo.daysToBirthday === 0 ? <span>\n 今天是{dtMember.Name}的生日,该会员是{dtMember.MemberType.Name},可享受以下权益\n </span> : <span>\n {dtMember.Name}会员还有{memberCareInfo && memberCareInfo.daysToBirthday}天生日,该会员是{dtMember.MemberType.Name},可享受以下权益\n </span>\n }\n </div>\n </div>\n {\n memberCareInfo && <div className='fourth'>\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple && <div className='item'>1.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple}</div>}\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive && <div className='item'>2.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive}</div>}\n {\n memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].couponIdMapList.map((value, index) => {\n let count = 0;\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple) {\n count += 1;\n }\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive) {\n count += 1;\n }\n return (<div className='item'>{count + 1 + index}.{value.name}</div>)\n })\n }\n </div>\n }\n </ModalWraper>\n {\n !isNewRetailBCPos && <ModalWraper show={this.ms.birthdayShow} centered={true} className='member-birthday'>\n <div className='picture'>\n <img width='350' height='308' src={memberBirthday} />\n <Ticon type=\"guanbi-yuan\" onClick={this.handleCloseBirthdayModal} />\n </div>\n <div className='remark'>今天是会员<span>{dtMember.Name || dtMember.CardCode}</span>的生日</div>\n </ModalWraper>\n }\n </div>\n );\n }\n}\nexport default MemberTag\n"]}
1
+ {"version":3,"sources":["tplus-member/member/index.js"],"names":["hasElectron","env","platform","constant","electron","emptyMemberImage","memberBirthday","currentMember","MemberTag","observer","props","stores","user","options","get","isMemberInputType","MemberMeStorageCardInputByKeyBoard","OpenFaceRecognition","ICCardServer","ICCardPassword","parseInt","isStorageCardInputType","openFaceRecognition","iCCardServer","iCCardPassword","ms","memberStore","isHorizontalPad","isHorizontalSunMi","isMobileEnvironment","handleReadICard","bind","keypressStime","iseyboardKEnter","isNewRetailBCPos","state","isCC","isShowBirthdayTip","isVoucherMode","localStore","context","viewModel","data","Member","dtMember","selectMemberInfo","isClear","memberChangeData","length","undefined","ID","searchValue","setState","memberChange","newAvatar","deepCloneMember","JSON","parse","clearSeletMember","seletMember","selectMemberStore","clearMemberCare","connectRfCard","window","removeEventListener","windowOnresize","closeRfCard","nextProps","isSendMessage","getInStoreMemberCount","nativeMs","setIpcRendererMethod","result","ret","status","connectCardStatus","connectCardError","value","Message","error","params","cardPsw","cardSec","cardKm","searchMember","memberPhoto","titleModal","memberShow","inShopLoading","faceLoading","shopPerson","viewMemberInfo","searchVisible","columnInfo","isMemberCare","isMemberCareModal","mode","authProcess","selectMemberSuccess","precisionInfo","items","viewVoucher","find","v","type","isTakeTheir","getIsTakeTheir","isSelectedMember","enumController","getEnumOj","Differentiate","memberCareInfo","inputSearch","el","input","e","handleSearch","target","handleFocus","handleBlur","onKeyPressed","changeScanProduct","loadFaceRecognition","scanObj","scan","onScanResult","openPhotoModal","ImageFile","handlePhotoModal","isTicket","daysToBirthday","handleMemberCareModal","setIsShowBirthdayTip","openShowModal","Name","CardCode","BalanceStorage","computedCoupon","COUPON","BalanceIntegral","openCloseModal","handleShowModal","handleMemberCareModalCancel","MemberType","memberCareDTO","memberRightRuleList","integralMultiple","integralGive","couponIdMapList","map","index","count","name","birthdayShow","handleCloseBirthdayModal","Component","propTypes","PropTypes","func","memberSearched","contextTypes","onEvent","object","defaultProps","controllerEvent","methodName","methodArgs","Action","fromJS","fn","resolve","resetInShopMemberTimer","timer","clearTimeout","time","setTimeout","warn","res","title","jsMember","updateMember","setMemberFocus","uiState","IsIntegralExchange","store","tip","info","ModalWraper","confirm","className","content","onOk","changeBirthdayShow","val","Keyboard","open","getNewValue","keyboardClose","open2","blur","close","close2","readRfCard","offlineSys","shouldInOffline","searchLoading","trim","getMemberBirthday","getMeStorageCard","getSearchMember","currentPage","pageSize","key","isSingleMember","then","ColumnInfo","Data","RetailDetails","member","retailDetails","isArrowPriceChange","IsStorage","drawerStore","init","onHide","subKey","listArr","changeMemberCare","catch","keyCode","stime","etime","Date","MemberCouponCount","couponKey","DynamicPropertyKeys","DynamicPropertyValues","couponIndex","findIndex","loadInStoreMember","String","tipMessage","console","log","err","startScan","getMemberBirthdayInfo"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @memberChange member 状态发生变化时的回调\n * @memberSearched 录入框会员状态发生变化时的回调 memberSearched(value, type) // type: searched 触发搜索 | err 搜索接口错误 | close 关闭会员\n *\n */\nimport React, { Component, Fragment } from 'react';\nimport { Button, Input } from 'antd';\nimport { observer } from 'mobx-react';\nimport { toJS } from 'mobx';\nimport PropTypes from 'prop-types'\nimport { Ticon, Message, ModalWraper, Spin, Keyboard,Scan } from 'tplus-components-touch';\nimport { env, nativeMs, localStore , stores} from 'mutants-microfx';\nimport { Action } from 'mutants-appfx'\nimport { platform, enumController } from 'mutants-util';\nimport MemberModal from './MemberShow';\nimport MemberPhoto from './MemberPhoto';\nimport memberStore from './api';\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\nimport './index.less';\n\n\n\nconst hasElectron = (env.platform === env.constant.platform.electron);\n//定义默认头像值。\nconst emptyMemberImage = 'https://newretail.static.chanjet.com/default_avatar.png';\nconst memberBirthday = 'https://newretail.static.chanjet.com/pictures/member_birthday.png';\nlet currentMember;\n\n@observer\nclass MemberTag extends Component {\n\n state = {\n searchValue: '',\n titleModal: '',\n memberShow: false,\n memberPhoto: false,\n searchVisible: false,\n shopPerson: 0,\n status: 2, // 0会员详情、1到店会员、2人脸识别\n dtMember: {}, // 会员信息\n connectCardStatus: false, //连接IC卡状态\n connectCardError: '', //连接IC卡错误后记录错误信息\n isMemberCare: false,\n isMemberCareModal: false\n };\n\n static propTypes = {\n memberChange: PropTypes.func,\n memberSearched: PropTypes.func,\n }\n\n static contextTypes = {\n onEvent:PropTypes.func,\n viewModel: PropTypes.object,\n }\n\n static defaultProps = {\n memberChange: () => { },\n }\n\n constructor(props) {\n super(props);\n this.hasElectron = hasElectron;\n const { isMemberInputType, MemberMeStorageCardInputByKeyBoard, OpenFaceRecognition, ICCardServer, ICCardPassword } = stores.user.options.get('loginInfo') || {};\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\n this.isStorageCardInputType = MemberMeStorageCardInputByKeyBoard; // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\n this.iCCardPassword = ICCardPassword; //IC卡密码\n this.ms = memberStore;\n //移动端环境下,没有读取IC卡的方式。\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\n this.isHorizontalPad = !!isHorizontalPad;\n this.isHorizontalSunMi = !!isHorizontalSunMi;\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\n this.handleReadICard = this.handleReadICard.bind(this);\n\n //记录键盘录入信息的开始时间\n this.keypressStime = null;\n this.iseyboardKEnter = false; //是否为键盘输入\n let { isNewRetailBCPos } = platform || {};\n this.state = {\n isCC: !!isNewRetailBCPos,\n isShowBirthdayTip: false,\n };\n\n //是否单据模式\n 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 'ByMember',\n localStore.get('ByMember')\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 let { isNewRetailBCPos } = platform || {};\n if (!!isNewRetailBCPos) {\n return member.MemberCouponCount? member.MemberCouponCount : '0';\n } else {\n const couponKey = 'membercouponcount';\n const {DynamicPropertyKeys = [], DynamicPropertyValues = []} = member;\n const couponIndex = DynamicPropertyKeys.findIndex(v => v === couponKey);\n return ~couponIndex ? DynamicPropertyValues[couponIndex] : '0';\n }\n }\n\n loadFaceRecognition = (type) => {\n // type = 1:到店会员 type = 2:POS机人脸识别\n this.setState({faceLoading: type === 2, inShopLoading: type === 1});\n this.ms.loadInStoreMember(String(type))\n .then(res => {\n this.setState({faceLoading: false, inShopLoading: false});\n const {Data} = res || {};\n if (!JSON.parse(Data).length) {\n const tipMessage = ['当前没有到店会员', '未识别到人脸信息'];\n type === 1 && this.setState({shopPerson: 0});\n return Message.info(tipMessage[type - 1]);\n }\n type === 1 && this.getInStoreMemberCount();\n this.openShowModal(type, res);\n })\n .catch(err => {\n this.setState({faceLoading: false, inShopLoading: false});\n console.log(err)\n });\n }\n\n //移动端:扫描商品\n changeScanProduct = () => {\n if (this.scanObj) this.scanObj.startScan()\n }\n onScanResult = (res) => {\n this.setState({\n searchValue: res\n }, () => {\n this.onKeyPressed({ keyCode: 13 })\n })\n }\n\n setIsShowBirthdayTip = () => {\n stores.selectMemberStore.clearMemberCare()\n }\n\n getMemberBirthdayInfo = (result) => {\n stores.selectMemberStore.changeMemberCare(result);\n }\n\n render() {\n const {\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible = false, columnInfo, isCC,\n isMemberCare, isMemberCareModal, isShowBirthdayTip\n } = this.state;\n const { mode = 'formal', authProcess, selectMemberSuccess } = this.props;\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\n const { data: { Member: dtMember = {} } = {}, items = [] } = this.context.viewModel || {};\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\n const isSelectedMember = !!dtMember.ID;\n const { Differentiate } = enumController.getEnumOj();\n const { memberCareInfo } = stores.selectMemberStore;\n let { isNewRetailBCPos } = platform || {};\n\n return (\n <div className='MemberContainer'>\n <div className='left'>\n {!isSelectedMember &&\n <div className='search'>\n <div className='b1'>\n <Input\n type='text'\n className=\"input\"\n id='memberPoint'\n placeholder='扫描/输入会员号'\n value={searchValue}\n ref={el => this.inputSearch = el && el.input}\n onChange={(e) => this.handleSearch(e.target.value)}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.onKeyPressed}\n />\n <Spin\n className='search-spin'\n scale={0.8}\n type='circle-side'\n visible={searchVisible}\n />\n </div>\n <div className='b2'>\n {\n this.hasElectron === true && this.iCCardServer === 1 &&\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\n }\n {\n this.isHorizontalPad ?\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\n :\n (\n false && this.openFaceRecognition === 1 && !faceLoading &&\n <div className='openFaceRecognition-box'>\n <Ticon className='icon' onClick={() => this.loadFaceRecognition(2)} type=\"renlianshibie\" />\n <Spin\n className='face-spin'\n scale={0.8}\n type='circle'\n visible={faceLoading}\n />\n </div>\n )\n }\n {\n /* 扫描组件 */\n this.isHorizontalPad &&\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanResult} />\n }\n </div>\n </div>\n }\n {isSelectedMember &&\n <div className={`info ${this.openFaceRecognition ? '' : 'member-btn-hidden-flex'}`}>\n <div className='first'>\n <img onClick={this.openPhotoModal} src={newAvatar || dtMember.ImageFile || emptyMemberImage} />\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\n {\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"shengri\" className='shengriIcon'></Ticon>\n }\n {\n memberCareInfo && memberCareInfo.isTicket && <div className='birthdayContent'>\n <div className='birthdayWarn'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\n <Button colors=\"warn\" onClick={this.handleMemberCareModal} className='check bg-theme'>查看</Button>\n <Ticon type=\"cuowuda\" className='cuowudaIcon'></Ticon>\n </div>\n }\n {\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"cuowuda\" onClick={() => { this.setIsShowBirthdayTip()}} className='cuowudaIcon'></Ticon>\n }\n </div>\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\n <div className='one'>\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\n <div className='b'>{dtMember.CardCode}</div>\n </div>\n <div className='two'>\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\n <div className='b'>余额</div>\n </div>\n <div className='two'>\n <div className='a'>{this.computedCoupon(dtMember)}</div>\n <div className='b'>{Differentiate.COUPON}</div>\n </div>\n <div className='two'>\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\n <div className='b'>积分</div>\n </div>\n </div>\n <div className='close'>\n {!isTakeTheir && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\n </div>\n </div>\n }\n </div>\n {/* {\n memberCareInfo && memberCareInfo.isTicket ? <div className='float'>\n <div className='txt'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\n <div className='btn' onClick={this.handleMemberCareModal}>查看</div>\n <div className='cancel'>\n <Ticon type='guanbixiao' onClick={() => {\n this.setIsShowBirthdayTip()\n }}/>\n </div>\n </div> : null\n } */}\n {!!this.openFaceRecognition && <div className='right'>\n <Button type=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\n {!inShopLoading && '到店会员'}\n <Spin\n className='inshop-member-spin'\n scale={0.8}\n type='circle'\n visible={inShopLoading}\n />\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\n </Button>\n </div>}\n <MemberModal\n mode={mode}\n authProcess={authProcess}\n viewMemberInfo={viewMemberInfo}\n columnInfo={columnInfo}\n status={status}\n showModal={memberShow}\n 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={emptyMemberImage} />\n <Ticon type='shengri' />\n </div>\n <div className='two'>\n {\n memberCareInfo && memberCareInfo.daysToBirthday === 0 ? <span>\n 今天是{dtMember.Name}的生日,该会员是{dtMember.MemberType.Name},可享受以下权益\n </span> : <span>\n {dtMember.Name}会员还有{memberCareInfo && memberCareInfo.daysToBirthday}天生日,该会员是{dtMember.MemberType.Name},可享受以下权益\n </span>\n }\n </div>\n </div>\n {\n memberCareInfo && <div className='fourth'>\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple && <div className='item'>1.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple}</div>}\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive && <div className='item'>2.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive}</div>}\n {\n memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].couponIdMapList.map((value, index) => {\n let count = 0;\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple) {\n count += 1;\n }\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive) {\n count += 1;\n }\n return (<div className='item'>{count + 1 + index}.{value.name}</div>)\n })\n }\n </div>\n }\n </ModalWraper>\n {\n !isNewRetailBCPos && <ModalWraper show={this.ms.birthdayShow} centered={true} className='member-birthday'>\n <div className='picture'>\n <img width='350' height='308' src={memberBirthday} />\n <Ticon type=\"guanbi-yuan\" onClick={this.handleCloseBirthdayModal} />\n </div>\n <div className='remark'>今天是会员<span>{dtMember.Name || dtMember.CardCode}</span>的生日</div>\n </ModalWraper>\n }\n </div>\n );\n }\n}\nexport default MemberTag\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tplus-member",
3
- "version": "3.38.3",
3
+ "version": "3.38.4",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {