tplus-member 1.25.6 → 1.26.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -276,7 +276,7 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
276
276
  currentPage: 1,
277
277
  pageSize: 10,
278
278
  key: val,
279
- isSingleMember: false
279
+ isSingleMember: true
280
280
  }).then(function (ret) {
281
281
  _this2.searchLoading = false;
282
282
 
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/index.js"],"names":["emptyMemberImage","memberBirthday","currentMember","MemberTag","observer","props","state","searchValue","titleModal","memberShow","memberPhoto","searchVisible","shopPerson","status","dtMember","connectCardStatus","connectCardError","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","resetInShopMemberTimer","count","timer","clearTimeout","time","setTimeout","getInStoreMemberCount","openPhotoModal","openFaceRecognition","Message","warn","setState","openShowModal","res","title","data","Member","newAvatar","jsMember","updateMember","ImageFile","viewMemberInfo","openCloseModal","memberStore","items","find","el","name","uiState","tip","info","ModalWraper","confirm","className","content","onOk","ms","clearSeletMember","handleCloseBirthdayModal","changeBirthdayShow","handleSearch","val","handleFocus","isMemberInputType","_this","cb","searchMember","undefined","Keyboard","open2","v","value","getNewValue","inputSearch","keyboardClose","localStore","get","blur","handleBlur","close2","handleReadICard","readRfCard","handleShowModal","type","params","handlePhotoModal","SetKeyBoardDisplay","isHorizontalSunMi","window","android_setKeyBoard","searchLoading","trim","memberSearched","selectMemberSuccess","getSearchMember","currentPage","pageSize","key","isSingleMember","then","ret","columnInfo","ColumnInfo","Data","JSON","parse","MemberType","IsStorage","isStorageCardInputType","iseyboardKEnter","keypressStime","length","stores","drawerStore","init","onHide","selectMemberInfo","memberChangeData","deepCloneMember","listArr","seletMember","isMobileEnvironment","catch","onKeyPressed","e","keyCode","stime","etime","Date","computedCoupon","member","couponKey","DynamicPropertyKeys","DynamicPropertyValues","couponIndex","findIndex","loadFaceRecognition","faceLoading","inShopLoading","loadInStoreMember","String","tipMessage","console","log","err","changeScanProduct","scanObj","startScan","onScanResult","loginInfo","IsOnlyControlStorageCardInputType","OpenFaceRecognition","ICCardServer","ICCardPassword","parseInt","iCCardServer","iCCardPassword","API","platform","isHorizontalPad","hasElectron","env","constant","electron","bind","memberChange","ID","connectRfCard","removeEventListener","windowOnresize","closeRfCard","nextProps","isSendMessage","nativeMs","setIpcRendererMethod","result","error","cardPsw","cardSec","cardKm","mode","authProcess","precisionInfo","viewVoucher","isTakeTheir","getIsTakeTheir","isSelectedMember","input","scan","Name","CardCode","BalanceStorage","BalanceIntegral","birthdayShow","Component","propTypes","PropTypes","func","contextTypes","object","defaultProps"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * @memberChange member 状态发生变化时的回调\r\n * @memberSearched 录入框会员状态发生变化时的回调 memberSearched(value, type) // type: searched 触发搜索 | err 搜索接口错误 | close 关闭会员\r\n *\r\n */\r\nimport React, { Component } from 'react';\r\nimport { Button, FormControl } from 'tinper-bee';\r\nimport { observer } from 'mobx-react';\r\nimport { toJS } from 'mobx';\r\nimport PropTypes from 'prop-types'\r\nimport { Ticon, Message, ModalWraper, Spin, Keyboard,Scan } from 'tplus-components-touch';\r\nimport { env, nativeMs, localStore, stores } from 'mutants-microfx';\r\nimport { Action } from 'mutants-appfx'\r\nimport { platform } from 'mutants-util';\r\nimport MemberModal from './MemberShow';\r\nimport MemberPhoto from './MemberPhoto';\r\nimport API from './api';\r\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\r\nimport './index.less';\r\nimport memberStore from './api';\r\n\r\n//定义默认头像值。\r\nconst emptyMemberImage = 'https://newretail.static.chanjet.com/default_avatar.png';\r\nconst memberBirthday = 'https://newretail.static.chanjet.com/pictures/member_birthday.png';\r\nlet currentMember;\r\n\r\n@observer\r\nclass MemberTag extends Component {\r\n\r\n state = {\r\n searchValue: '',\r\n titleModal: '',\r\n memberShow: false,\r\n memberPhoto: false,\r\n searchVisible: false,\r\n shopPerson: 0,\r\n status: 2, // 0会员详情、1到店会员、2人脸识别\r\n dtMember: {}, // 会员信息\r\n connectCardStatus: false, //连接IC卡状态\r\n connectCardError: '', //连接IC卡错误后记录错误信息\r\n };\r\n\r\n static propTypes = {\r\n memberChange: PropTypes.func,\r\n memberSearched: PropTypes.func,\r\n }\r\n\r\n static contextTypes = {\r\n onEvent:PropTypes.func,\r\n viewModel: PropTypes.object,\r\n }\r\n\r\n static defaultProps = {\r\n memberChange: () => { },\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n const { loginInfo: { isMemberInputType, IsOnlyControlStorageCardInputType, OpenFaceRecognition, ICCardServer, ICCardPassword } = {} } = localStore.get('user') || {};\r\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\r\n this.isStorageCardInputType = parseInt(IsOnlyControlStorageCardInputType); // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用\r\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\r\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\r\n this.iCCardPassword = ICCardPassword; //IC卡密码\r\n this.ms = API;\r\n //移动端环境下,没有读取IC卡的方式。\r\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\r\n this.isHorizontalPad = !!isHorizontalPad;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n this.hasElectron = (env.platform === env.constant.platform.electron);\r\n this.handleReadICard = this.handleReadICard.bind(this);\r\n\r\n //记录键盘录入信息的开始时间\r\n this.keypressStime = null;\r\n this.iseyboardKEnter = false; //是否为键盘输入\r\n }\r\n\r\n componentWillReact() {\r\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\r\n const { selectMemberInfo = {} } = this.ms;\r\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\r\n\r\n const memberChange = (data) => {\r\n this.setState({newAvatar: ''});\r\n this.props.memberChange(data);\r\n }\r\n if (typeof memberChangeData === 'object') {\r\n const deepCloneMember = JSON.parse(JSON.stringify(memberChangeData));\r\n if (!currentMember) {\r\n currentMember = deepCloneMember;\r\n memberChange(memberChangeData);\r\n } else if (currentMember.ID !== memberChangeData.ID) {\r\n memberChange(memberChangeData);\r\n currentMember = deepCloneMember;\r\n } else if (!dtMember.ID && (currentMember || {}).ID) { // DataModel 中清掉member,手动同步 member\r\n currentMember = undefined;\r\n this.ms.clearSeletMember();\r\n }\r\n } else if (currentMember && !memberChangeData) {\r\n memberChange(memberChangeData);\r\n currentMember = undefined;\r\n } else if (dtMember.ID && !(currentMember || {}).ID) { // DataModel 中存在member,手动同步 member\r\n const deepCloneMember = JSON.parse(JSON.stringify(dtMember));\r\n currentMember = deepCloneMember;\r\n this.ms.seletMember(dtMember);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.connectRfCard();\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.windowOnresize);\r\n this.closeRfCard();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n //接受socket传递过来的信息\r\n let { isSendMessage } = nextProps;\r\n if (isSendMessage === true) this.getInStoreMemberCount()\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n resetInShopMemberTimer = (count) => {\r\n this.timer && clearTimeout(this.timer);\r\n if (!count) return;\r\n const time = 5 * 60 * 1000;\r\n this.timer = setTimeout(() => {\r\n this.getInStoreMemberCount();\r\n }, time);\r\n }\r\n //IC卡连接\r\n connectRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\r\n let result = {}\r\n if (ret.status === 0) {\r\n result = { connectCardStatus: false, connectCardError: ret.value }\r\n } else {\r\n result = { connectCardStatus: true, connectCardError: '' };\r\n }\r\n this.setState(result)\r\n })\r\n }\r\n }\r\n\r\n //IC卡读取\r\n readRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n const { connectCardStatus, connectCardError } = this.state;\r\n if (connectCardStatus === false) {\r\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n }\r\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\r\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\r\n if (ret.status === 0) {\r\n Message.error(ret.value);\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n } else if (ret.status === 1) {\r\n this.searchMember(ret.value);\r\n }\r\n })\r\n }\r\n }\r\n\r\n //IC卡关闭\r\n closeRfCard(){\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('CloseRfCard')\r\n }\r\n }\r\n\r\n openPhotoModal = () => {\r\n if (!this.openFaceRecognition){\r\n Message.warn('未启用人脸识别,需要先开启人脸识别功能');\r\n return;\r\n }\r\n this.setState({\r\n memberPhoto: true,\r\n titleModal: '选择头像'\r\n })\r\n }\r\n\r\n openShowModal = (status, res) => {\r\n let title = '';\r\n const { data: { Member = {} } = {} } = this.context.viewModel || {};\r\n const {newAvatar} = this.state;\r\n const jsMember = toJS(Member);\r\n const updateMember = newAvatar ? {...jsMember, ImageFile: newAvatar} : jsMember;\r\n switch (status) {\r\n case 0:\r\n title = '会员详情';\r\n this.setState({ viewMemberInfo: updateMember })\r\n break;\r\n case 1:\r\n title = '到店会员';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n case 2:\r\n title = '人脸识别';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n }\r\n this.setState({\r\n status: status,\r\n memberShow: true,\r\n titleModal: title\r\n })\r\n }\r\n\r\n openCloseModal = () => {\r\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el=>el.name=='MemberStore');\r\n const uiState = memberStore.uiState;\r\n if(!!uiState.tip){\r\n Message.info(uiState.tip)\r\n return;\r\n }\r\n ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '关闭会员',\r\n content: '确定要关闭该会员吗?',\r\n onOk: () => {\r\n this.ms.clearSeletMember();\r\n }\r\n });\r\n }\r\n\r\n //关闭生日提醒\r\n handleCloseBirthdayModal = () => {\r\n this.ms.changeBirthdayShow(false);\r\n }\r\n\r\n handleSearch = (val) => {\r\n this.setState({ searchValue: val })\r\n }\r\n\r\n handleFocus = (el) => {\r\n if (this.isMemberInputType) return;\r\n const _this = this;\r\n function cb() {\r\n _this.searchMember(undefined, 'ok');\r\n }\r\n Keyboard.open2((v) => {\r\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\r\n this.handleSearch(value);\r\n }, cb, this.keyboardClose , 'ByMember', localStore.get('ByMember'))\r\n }\r\n\r\n keyboardClose = () => {\r\n this.inputSearch.blur();\r\n }\r\n handleBlur = () => {\r\n Keyboard.close2();\r\n }\r\n\r\n handleReadICard = () => {\r\n this.readRfCard();\r\n }\r\n\r\n handleShowModal = (type, params) => {\r\n if (params) {\r\n this.setState({ dtMember: params, memberShow: type })\r\n } else {\r\n this.setState({ memberShow: type })\r\n }\r\n if (type) {\r\n this.setState({\r\n searchValue: null\r\n })\r\n }\r\n }\r\n\r\n handlePhotoModal = (type, newAvatar) => {\r\n if (newAvatar) {\r\n this.setState({\r\n newAvatar,\r\n memberPhoto: type\r\n })\r\n } else {\r\n this.setState({ memberPhoto: type })\r\n }\r\n }\r\n\r\n SetKeyBoardDisplay = (value) => {\r\n this.isHorizontalSunMi && window.android_setKeyBoard && window.android_setKeyBoard.SetKeyBoardDisplay(value)\r\n }\r\n\r\n searchMember = (val, type) => {\r\n if (!this.ms || this.searchLoading) return;\r\n const {searchValue} = this.state;\r\n val = val || (searchValue || '').trim();\r\n if (!val) return;\r\n const { memberSearched, selectMemberSuccess } = this.props;\r\n this.searchLoading = true;\r\n this.setState({searchVisible: true});\r\n this.ms.getSearchMember({\r\n currentPage: 1,\r\n pageSize: 10,\r\n key: val,\r\n isSingleMember: false\r\n }).then(ret => {\r\n this.searchLoading = false;\r\n const {ColumnInfo: columnInfo, Data} = ret || {};\r\n const data = JSON.parse(Data) || [];\r\n const info = data[0];\r\n this.setState({searchVisible: false, columnInfo});\r\n\r\n if (info && info.MemberType.IsStorage && this.isStorageCardInputType && this.iseyboardKEnter){\r\n this.handleSearch('');\r\n this.keypressStime = null;\r\n Message.warn('储值会员不可键盘录入');\r\n return;\r\n }\r\n if (info) {\r\n if (data.length > 1) {\r\n this.SetKeyBoardDisplay(1)\r\n let _this = this;\r\n stores.drawerStore.init({\r\n title: '会员管理',\r\n key: 'member',\r\n onHide:()=>{\r\n this.SetKeyBoardDisplay(0);\r\n const { selectMemberInfo = {} } = _this.ms;\r\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\r\n const deepCloneMember = memberChangeData && JSON.parse(JSON.stringify(memberChangeData));\r\n if (deepCloneMember) {\r\n this.setState({\r\n searchValue: null\r\n })\r\n }\r\n },\r\n listArr: data,\r\n });\r\n } else {\r\n memberSearched && memberSearched(info, 'searched');\r\n userInfoFormat(info);\r\n if (errMessageTip(info)) return;\r\n this.ms.seletMember(info, true);\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n this.handleBlur();\r\n selectMemberSuccess && selectMemberSuccess();\r\n }\r\n } else {\r\n if (type === 'ok'){\r\n Message.warn('会员不存在');\r\n if (this.isMobileEnvironment) {\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n }\r\n }\r\n }\r\n }).catch(err => {\r\n this.setState({searchVisible: false});\r\n this.searchLoading = false;\r\n memberSearched && memberSearched(undefined, 'err');\r\n })\r\n }\r\n\r\n //获取当前到店会员数量\r\n getInStoreMemberCount = () => {\r\n if (!this.ms) return;\r\n this.ms.getInStoreMemberCount().then(res => {\r\n let count = res || 0;\r\n this.setState({ shopPerson: count });\r\n this.resetInShopMemberTimer(count);\r\n });\r\n }\r\n\r\n onKeyPressed = (e) => {\r\n const keyCode = e && e.keyCode\r\n if (keyCode === 13) {\r\n if (this.isMemberInputType) {\r\n let stime = this.keypressStime;\r\n let etime = Date.parse(new Date());\r\n if (etime - stime > 300) {\r\n this.handleSearch('')\r\n this.keypressStime = null;\r\n return Message.warn('未启用键盘录入功能');\r\n }\r\n this.keypressStime = null;\r\n }\r\n this.iseyboardKEnter = Date.parse(new Date()) - this.keypressStime > 300;\r\n if (this.isStorageCardInputType) {\r\n this.keypressStime = null;\r\n }\r\n if (this.searchLoading) return;\r\n this.searchMember(undefined, 'ok');\r\n }\r\n else if (this.isMemberInputType && !this.keypressStime && !(keyCode == 8)) {\r\n this.keypressStime = Date.parse(new Date())\r\n } else if (this.isStorageCardInputType && !this.keypressStime && !(keyCode == 8) && !this.isMemberInputType) {\r\n this.keypressStime = Date.parse(new Date())\r\n }\r\n }\r\n\r\n computedCoupon = (member = {}) => {\r\n const couponKey = 'membercouponcount';\r\n const {DynamicPropertyKeys = [], DynamicPropertyValues = []} = member;\r\n const couponIndex = DynamicPropertyKeys.findIndex(v => v === couponKey);\r\n return ~couponIndex ? DynamicPropertyValues[couponIndex] : '0';\r\n }\r\n\r\n loadFaceRecognition = (type) => {\r\n // type = 1:到店会员 type = 2:POS机人脸识别\r\n this.setState({faceLoading: type === 2, inShopLoading: type === 1});\r\n this.ms.loadInStoreMember(String(type))\r\n .then(res => {\r\n this.setState({faceLoading: false, inShopLoading: false});\r\n const {Data} = res || {};\r\n if (!JSON.parse(Data).length) {\r\n const tipMessage = ['当前没有到店会员', '未识别到人脸信息'];\r\n type === 1 && this.setState({shopPerson: 0});\r\n return Message.info(tipMessage[type - 1]);\r\n }\r\n type === 1 && this.getInStoreMemberCount();\r\n this.openShowModal(type, res);\r\n })\r\n .catch(err => {\r\n this.setState({faceLoading: false, inShopLoading: false});\r\n console.log(err)\r\n });\r\n }\r\n\r\n //移动端:扫描商品\r\n changeScanProduct = () => {\r\n if (this.scanObj) this.scanObj.startScan()\r\n }\r\n onScanResult = (res) => {\r\n this.setState({\r\n searchValue: res\r\n }, () => {\r\n this.onKeyPressed({ keyCode: 13 })\r\n })\r\n }\r\n render() {\r\n const {\r\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\r\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible, columnInfo\r\n } = this.state;\r\n const { mode = 'formal', authProcess } = this.props;\r\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\r\n const { data: { Member: dtMember = {} } = {}, items = [] } = this.context.viewModel || {};\r\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\r\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\r\n const isSelectedMember = !!dtMember.ID;\r\n return (\r\n <div className='MemberContainer'>\r\n <div className='left'>\r\n {!isSelectedMember &&\r\n <div className='search'>\r\n <div className='b1'>\r\n <FormControl\r\n type='text'\r\n className=\"input\"\r\n id='memberPoint'\r\n placeholder='扫描/输入会员号'\r\n value={searchValue}\r\n ref={el => this.inputSearch = el && el.input}\r\n onChange={this.handleSearch}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n onKeyDown={this.onKeyPressed}\r\n />\r\n <Spin\r\n className='search-spin'\r\n scale={0.8}\r\n type='circle-side'\r\n visible={searchVisible}\r\n />\r\n </div>\r\n <div className='b2'>\r\n {\r\n this.hasElectron === true && this.iCCardServer === 1 &&\r\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\r\n }\r\n {\r\n this.isHorizontalPad ?\r\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\r\n :\r\n (\r\n false && this.openFaceRecognition === 1 && !faceLoading &&\r\n <div className='openFaceRecognition-box'>\r\n <Ticon className='icon' onClick={() => this.loadFaceRecognition(2)} type=\"renlianshibie\" />\r\n <Spin\r\n className='face-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={faceLoading}\r\n />\r\n </div>\r\n )\r\n }\r\n {\r\n /* 扫描组件 */\r\n this.isHorizontalPad &&\r\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanResult} />\r\n }\r\n </div>\r\n </div>\r\n }\r\n {isSelectedMember &&\r\n <div className={`info ${this.openFaceRecognition ? '' : 'member-btn-hidden-flex'}`}>\r\n <div className='first'>\r\n <img onClick={this.openPhotoModal} src={newAvatar || dtMember.ImageFile || emptyMemberImage} />\r\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\r\n </div>\r\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\r\n <div className='one'>\r\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\r\n <div className='b'>{dtMember.CardCode}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\r\n <div className='b'>余额</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{this.computedCoupon(dtMember)}</div>\r\n <div className='b'>优惠券</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\r\n <div className='b'>积分</div>\r\n </div>\r\n </div>\r\n <div className='close'>\r\n {!isTakeTheir && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n {!!this.openFaceRecognition && <div className='right'>\r\n <Button colors=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\r\n {!inShopLoading && '到店会员'}\r\n <Spin\r\n className='inshop-member-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={inShopLoading}\r\n />\r\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\r\n </Button>\r\n </div>}\r\n <MemberModal\r\n mode={mode}\r\n authProcess={authProcess}\r\n viewMemberInfo={viewMemberInfo}\r\n columnInfo={columnInfo}\r\n status={status}\r\n showModal={memberShow}\r\n titleModal={titleModal}\r\n handleModal={this.handleShowModal}\r\n />\r\n <ModalWraper show={this.ms.birthdayShow} centered={true} className='memberBirthday'>\r\n <div className='picture'>\r\n <img width='350' height='308' src={memberBirthday} />\r\n <Ticon type=\"guanbi-yuan\" onClick={this.handleCloseBirthdayModal} />\r\n </div>\r\n <div className='remark'>今天是会员<span>{dtMember.Name || dtMember.CardCode}</span>的生日</div>\r\n </ModalWraper>\r\n </div>\r\n );\r\n }\r\n}\r\nexport default MemberTag"]}
1
+ {"version":3,"sources":["tplus-member/member/index.js"],"names":["emptyMemberImage","memberBirthday","currentMember","MemberTag","observer","props","state","searchValue","titleModal","memberShow","memberPhoto","searchVisible","shopPerson","status","dtMember","connectCardStatus","connectCardError","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","resetInShopMemberTimer","count","timer","clearTimeout","time","setTimeout","getInStoreMemberCount","openPhotoModal","openFaceRecognition","Message","warn","setState","openShowModal","res","title","data","Member","newAvatar","jsMember","updateMember","ImageFile","viewMemberInfo","openCloseModal","memberStore","items","find","el","name","uiState","tip","info","ModalWraper","confirm","className","content","onOk","ms","clearSeletMember","handleCloseBirthdayModal","changeBirthdayShow","handleSearch","val","handleFocus","isMemberInputType","_this","cb","searchMember","undefined","Keyboard","open2","v","value","getNewValue","inputSearch","keyboardClose","localStore","get","blur","handleBlur","close2","handleReadICard","readRfCard","handleShowModal","type","params","handlePhotoModal","SetKeyBoardDisplay","isHorizontalSunMi","window","android_setKeyBoard","searchLoading","trim","memberSearched","selectMemberSuccess","getSearchMember","currentPage","pageSize","key","isSingleMember","then","ret","columnInfo","ColumnInfo","Data","JSON","parse","MemberType","IsStorage","isStorageCardInputType","iseyboardKEnter","keypressStime","length","stores","drawerStore","init","onHide","selectMemberInfo","memberChangeData","deepCloneMember","listArr","seletMember","isMobileEnvironment","catch","onKeyPressed","e","keyCode","stime","etime","Date","computedCoupon","member","couponKey","DynamicPropertyKeys","DynamicPropertyValues","couponIndex","findIndex","loadFaceRecognition","faceLoading","inShopLoading","loadInStoreMember","String","tipMessage","console","log","err","changeScanProduct","scanObj","startScan","onScanResult","loginInfo","IsOnlyControlStorageCardInputType","OpenFaceRecognition","ICCardServer","ICCardPassword","parseInt","iCCardServer","iCCardPassword","API","platform","isHorizontalPad","hasElectron","env","constant","electron","bind","memberChange","ID","connectRfCard","removeEventListener","windowOnresize","closeRfCard","nextProps","isSendMessage","nativeMs","setIpcRendererMethod","result","error","cardPsw","cardSec","cardKm","mode","authProcess","precisionInfo","viewVoucher","isTakeTheir","getIsTakeTheir","isSelectedMember","input","scan","Name","CardCode","BalanceStorage","BalanceIntegral","birthdayShow","Component","propTypes","PropTypes","func","contextTypes","object","defaultProps"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * @memberChange member 状态发生变化时的回调\r\n * @memberSearched 录入框会员状态发生变化时的回调 memberSearched(value, type) // type: searched 触发搜索 | err 搜索接口错误 | close 关闭会员\r\n *\r\n */\r\nimport React, { Component } from 'react';\r\nimport { Button, FormControl } from 'tinper-bee';\r\nimport { observer } from 'mobx-react';\r\nimport { toJS } from 'mobx';\r\nimport PropTypes from 'prop-types'\r\nimport { Ticon, Message, ModalWraper, Spin, Keyboard,Scan } from 'tplus-components-touch';\r\nimport { env, nativeMs, localStore, stores } from 'mutants-microfx';\r\nimport { Action } from 'mutants-appfx'\r\nimport { platform } from 'mutants-util';\r\nimport MemberModal from './MemberShow';\r\nimport MemberPhoto from './MemberPhoto';\r\nimport API from './api';\r\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\r\nimport './index.less';\r\nimport memberStore from './api';\r\n\r\n//定义默认头像值。\r\nconst emptyMemberImage = 'https://newretail.static.chanjet.com/default_avatar.png';\r\nconst memberBirthday = 'https://newretail.static.chanjet.com/pictures/member_birthday.png';\r\nlet currentMember;\r\n\r\n@observer\r\nclass MemberTag extends Component {\r\n\r\n state = {\r\n searchValue: '',\r\n titleModal: '',\r\n memberShow: false,\r\n memberPhoto: false,\r\n searchVisible: false,\r\n shopPerson: 0,\r\n status: 2, // 0会员详情、1到店会员、2人脸识别\r\n dtMember: {}, // 会员信息\r\n connectCardStatus: false, //连接IC卡状态\r\n connectCardError: '', //连接IC卡错误后记录错误信息\r\n };\r\n\r\n static propTypes = {\r\n memberChange: PropTypes.func,\r\n memberSearched: PropTypes.func,\r\n }\r\n\r\n static contextTypes = {\r\n onEvent:PropTypes.func,\r\n viewModel: PropTypes.object,\r\n }\r\n\r\n static defaultProps = {\r\n memberChange: () => { },\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n const { loginInfo: { isMemberInputType, IsOnlyControlStorageCardInputType, OpenFaceRecognition, ICCardServer, ICCardPassword } = {} } = localStore.get('user') || {};\r\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\r\n this.isStorageCardInputType = parseInt(IsOnlyControlStorageCardInputType); // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用\r\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\r\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\r\n this.iCCardPassword = ICCardPassword; //IC卡密码\r\n this.ms = API;\r\n //移动端环境下,没有读取IC卡的方式。\r\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\r\n this.isHorizontalPad = !!isHorizontalPad;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n this.hasElectron = (env.platform === env.constant.platform.electron);\r\n this.handleReadICard = this.handleReadICard.bind(this);\r\n\r\n //记录键盘录入信息的开始时间\r\n this.keypressStime = null;\r\n this.iseyboardKEnter = false; //是否为键盘输入\r\n }\r\n\r\n componentWillReact() {\r\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\r\n const { selectMemberInfo = {} } = this.ms;\r\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\r\n\r\n const memberChange = (data) => {\r\n this.setState({newAvatar: ''});\r\n this.props.memberChange(data);\r\n }\r\n if (typeof memberChangeData === 'object') {\r\n const deepCloneMember = JSON.parse(JSON.stringify(memberChangeData));\r\n if (!currentMember) {\r\n currentMember = deepCloneMember;\r\n memberChange(memberChangeData);\r\n } else if (currentMember.ID !== memberChangeData.ID) {\r\n memberChange(memberChangeData);\r\n currentMember = deepCloneMember;\r\n } else if (!dtMember.ID && (currentMember || {}).ID) { // DataModel 中清掉member,手动同步 member\r\n currentMember = undefined;\r\n this.ms.clearSeletMember();\r\n }\r\n } else if (currentMember && !memberChangeData) {\r\n memberChange(memberChangeData);\r\n currentMember = undefined;\r\n } else if (dtMember.ID && !(currentMember || {}).ID) { // DataModel 中存在member,手动同步 member\r\n const deepCloneMember = JSON.parse(JSON.stringify(dtMember));\r\n currentMember = deepCloneMember;\r\n this.ms.seletMember(dtMember);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.connectRfCard();\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.windowOnresize);\r\n this.closeRfCard();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n //接受socket传递过来的信息\r\n let { isSendMessage } = nextProps;\r\n if (isSendMessage === true) this.getInStoreMemberCount()\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n resetInShopMemberTimer = (count) => {\r\n this.timer && clearTimeout(this.timer);\r\n if (!count) return;\r\n const time = 5 * 60 * 1000;\r\n this.timer = setTimeout(() => {\r\n this.getInStoreMemberCount();\r\n }, time);\r\n }\r\n //IC卡连接\r\n connectRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\r\n let result = {}\r\n if (ret.status === 0) {\r\n result = { connectCardStatus: false, connectCardError: ret.value }\r\n } else {\r\n result = { connectCardStatus: true, connectCardError: '' };\r\n }\r\n this.setState(result)\r\n })\r\n }\r\n }\r\n\r\n //IC卡读取\r\n readRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n const { connectCardStatus, connectCardError } = this.state;\r\n if (connectCardStatus === false) {\r\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n }\r\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\r\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\r\n if (ret.status === 0) {\r\n Message.error(ret.value);\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n } else if (ret.status === 1) {\r\n this.searchMember(ret.value);\r\n }\r\n })\r\n }\r\n }\r\n\r\n //IC卡关闭\r\n closeRfCard(){\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('CloseRfCard')\r\n }\r\n }\r\n\r\n openPhotoModal = () => {\r\n if (!this.openFaceRecognition){\r\n Message.warn('未启用人脸识别,需要先开启人脸识别功能');\r\n return;\r\n }\r\n this.setState({\r\n memberPhoto: true,\r\n titleModal: '选择头像'\r\n })\r\n }\r\n\r\n openShowModal = (status, res) => {\r\n let title = '';\r\n const { data: { Member = {} } = {} } = this.context.viewModel || {};\r\n const {newAvatar} = this.state;\r\n const jsMember = toJS(Member);\r\n const updateMember = newAvatar ? {...jsMember, ImageFile: newAvatar} : jsMember;\r\n switch (status) {\r\n case 0:\r\n title = '会员详情';\r\n this.setState({ viewMemberInfo: updateMember })\r\n break;\r\n case 1:\r\n title = '到店会员';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n case 2:\r\n title = '人脸识别';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n }\r\n this.setState({\r\n status: status,\r\n memberShow: true,\r\n titleModal: title\r\n })\r\n }\r\n\r\n openCloseModal = () => {\r\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el=>el.name=='MemberStore');\r\n const uiState = memberStore.uiState;\r\n if(!!uiState.tip){\r\n Message.info(uiState.tip)\r\n return;\r\n }\r\n ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '关闭会员',\r\n content: '确定要关闭该会员吗?',\r\n onOk: () => {\r\n this.ms.clearSeletMember();\r\n }\r\n });\r\n }\r\n\r\n //关闭生日提醒\r\n handleCloseBirthdayModal = () => {\r\n this.ms.changeBirthdayShow(false);\r\n }\r\n\r\n handleSearch = (val) => {\r\n this.setState({ searchValue: val })\r\n }\r\n\r\n handleFocus = (el) => {\r\n if (this.isMemberInputType) return;\r\n const _this = this;\r\n function cb() {\r\n _this.searchMember(undefined, 'ok');\r\n }\r\n Keyboard.open2((v) => {\r\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\r\n this.handleSearch(value);\r\n }, cb, this.keyboardClose , 'ByMember', localStore.get('ByMember'))\r\n }\r\n\r\n keyboardClose = () => {\r\n this.inputSearch.blur();\r\n }\r\n handleBlur = () => {\r\n Keyboard.close2();\r\n }\r\n\r\n handleReadICard = () => {\r\n this.readRfCard();\r\n }\r\n\r\n handleShowModal = (type, params) => {\r\n if (params) {\r\n this.setState({ dtMember: params, memberShow: type })\r\n } else {\r\n this.setState({ memberShow: type })\r\n }\r\n if (type) {\r\n this.setState({\r\n searchValue: null\r\n })\r\n }\r\n }\r\n\r\n handlePhotoModal = (type, newAvatar) => {\r\n if (newAvatar) {\r\n this.setState({\r\n newAvatar,\r\n memberPhoto: type\r\n })\r\n } else {\r\n this.setState({ memberPhoto: type })\r\n }\r\n }\r\n\r\n SetKeyBoardDisplay = (value) => {\r\n this.isHorizontalSunMi && window.android_setKeyBoard && window.android_setKeyBoard.SetKeyBoardDisplay(value)\r\n }\r\n\r\n searchMember = (val, type) => {\r\n if (!this.ms || this.searchLoading) return;\r\n const {searchValue} = this.state;\r\n val = val || (searchValue || '').trim();\r\n if (!val) return;\r\n const { memberSearched, selectMemberSuccess } = this.props;\r\n this.searchLoading = true;\r\n this.setState({searchVisible: true});\r\n this.ms.getSearchMember({\r\n currentPage: 1,\r\n pageSize: 10,\r\n key: val,\r\n isSingleMember: true\r\n }).then(ret => {\r\n this.searchLoading = false;\r\n const {ColumnInfo: columnInfo, Data} = ret || {};\r\n const data = JSON.parse(Data) || [];\r\n const info = data[0];\r\n this.setState({searchVisible: false, columnInfo});\r\n\r\n if (info && info.MemberType.IsStorage && this.isStorageCardInputType && this.iseyboardKEnter){\r\n this.handleSearch('');\r\n this.keypressStime = null;\r\n Message.warn('储值会员不可键盘录入');\r\n return;\r\n }\r\n if (info) {\r\n if (data.length > 1) {\r\n this.SetKeyBoardDisplay(1)\r\n let _this = this;\r\n stores.drawerStore.init({\r\n title: '会员管理',\r\n key: 'member',\r\n onHide:()=>{\r\n this.SetKeyBoardDisplay(0);\r\n const { selectMemberInfo = {} } = _this.ms;\r\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\r\n const deepCloneMember = memberChangeData && JSON.parse(JSON.stringify(memberChangeData));\r\n if (deepCloneMember) {\r\n this.setState({\r\n searchValue: null\r\n })\r\n }\r\n },\r\n listArr: data,\r\n });\r\n } else {\r\n memberSearched && memberSearched(info, 'searched');\r\n userInfoFormat(info);\r\n if (errMessageTip(info)) return;\r\n this.ms.seletMember(info, true);\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n this.handleBlur();\r\n selectMemberSuccess && selectMemberSuccess();\r\n }\r\n } else {\r\n if (type === 'ok'){\r\n Message.warn('会员不存在');\r\n if (this.isMobileEnvironment) {\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n }\r\n }\r\n }\r\n }).catch(err => {\r\n this.setState({searchVisible: false});\r\n this.searchLoading = false;\r\n memberSearched && memberSearched(undefined, 'err');\r\n })\r\n }\r\n\r\n //获取当前到店会员数量\r\n getInStoreMemberCount = () => {\r\n if (!this.ms) return;\r\n this.ms.getInStoreMemberCount().then(res => {\r\n let count = res || 0;\r\n this.setState({ shopPerson: count });\r\n this.resetInShopMemberTimer(count);\r\n });\r\n }\r\n\r\n onKeyPressed = (e) => {\r\n const keyCode = e && e.keyCode\r\n if (keyCode === 13) {\r\n if (this.isMemberInputType) {\r\n let stime = this.keypressStime;\r\n let etime = Date.parse(new Date());\r\n if (etime - stime > 300) {\r\n this.handleSearch('')\r\n this.keypressStime = null;\r\n return Message.warn('未启用键盘录入功能');\r\n }\r\n this.keypressStime = null;\r\n }\r\n this.iseyboardKEnter = Date.parse(new Date()) - this.keypressStime > 300;\r\n if (this.isStorageCardInputType) {\r\n this.keypressStime = null;\r\n }\r\n if (this.searchLoading) return;\r\n this.searchMember(undefined, 'ok');\r\n }\r\n else if (this.isMemberInputType && !this.keypressStime && !(keyCode == 8)) {\r\n this.keypressStime = Date.parse(new Date())\r\n } else if (this.isStorageCardInputType && !this.keypressStime && !(keyCode == 8) && !this.isMemberInputType) {\r\n this.keypressStime = Date.parse(new Date())\r\n }\r\n }\r\n\r\n computedCoupon = (member = {}) => {\r\n const couponKey = 'membercouponcount';\r\n const {DynamicPropertyKeys = [], DynamicPropertyValues = []} = member;\r\n const couponIndex = DynamicPropertyKeys.findIndex(v => v === couponKey);\r\n return ~couponIndex ? DynamicPropertyValues[couponIndex] : '0';\r\n }\r\n\r\n loadFaceRecognition = (type) => {\r\n // type = 1:到店会员 type = 2:POS机人脸识别\r\n this.setState({faceLoading: type === 2, inShopLoading: type === 1});\r\n this.ms.loadInStoreMember(String(type))\r\n .then(res => {\r\n this.setState({faceLoading: false, inShopLoading: false});\r\n const {Data} = res || {};\r\n if (!JSON.parse(Data).length) {\r\n const tipMessage = ['当前没有到店会员', '未识别到人脸信息'];\r\n type === 1 && this.setState({shopPerson: 0});\r\n return Message.info(tipMessage[type - 1]);\r\n }\r\n type === 1 && this.getInStoreMemberCount();\r\n this.openShowModal(type, res);\r\n })\r\n .catch(err => {\r\n this.setState({faceLoading: false, inShopLoading: false});\r\n console.log(err)\r\n });\r\n }\r\n\r\n //移动端:扫描商品\r\n changeScanProduct = () => {\r\n if (this.scanObj) this.scanObj.startScan()\r\n }\r\n onScanResult = (res) => {\r\n this.setState({\r\n searchValue: res\r\n }, () => {\r\n this.onKeyPressed({ keyCode: 13 })\r\n })\r\n }\r\n render() {\r\n const {\r\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\r\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible, columnInfo\r\n } = this.state;\r\n const { mode = 'formal', authProcess } = this.props;\r\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\r\n const { data: { Member: dtMember = {} } = {}, items = [] } = this.context.viewModel || {};\r\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\r\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\r\n const isSelectedMember = !!dtMember.ID;\r\n return (\r\n <div className='MemberContainer'>\r\n <div className='left'>\r\n {!isSelectedMember &&\r\n <div className='search'>\r\n <div className='b1'>\r\n <FormControl\r\n type='text'\r\n className=\"input\"\r\n id='memberPoint'\r\n placeholder='扫描/输入会员号'\r\n value={searchValue}\r\n ref={el => this.inputSearch = el && el.input}\r\n onChange={this.handleSearch}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n onKeyDown={this.onKeyPressed}\r\n />\r\n <Spin\r\n className='search-spin'\r\n scale={0.8}\r\n type='circle-side'\r\n visible={searchVisible}\r\n />\r\n </div>\r\n <div className='b2'>\r\n {\r\n this.hasElectron === true && this.iCCardServer === 1 &&\r\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\r\n }\r\n {\r\n this.isHorizontalPad ?\r\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\r\n :\r\n (\r\n false && this.openFaceRecognition === 1 && !faceLoading &&\r\n <div className='openFaceRecognition-box'>\r\n <Ticon className='icon' onClick={() => this.loadFaceRecognition(2)} type=\"renlianshibie\" />\r\n <Spin\r\n className='face-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={faceLoading}\r\n />\r\n </div>\r\n )\r\n }\r\n {\r\n /* 扫描组件 */\r\n this.isHorizontalPad &&\r\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanResult} />\r\n }\r\n </div>\r\n </div>\r\n }\r\n {isSelectedMember &&\r\n <div className={`info ${this.openFaceRecognition ? '' : 'member-btn-hidden-flex'}`}>\r\n <div className='first'>\r\n <img onClick={this.openPhotoModal} src={newAvatar || dtMember.ImageFile || emptyMemberImage} />\r\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\r\n </div>\r\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\r\n <div className='one'>\r\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\r\n <div className='b'>{dtMember.CardCode}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\r\n <div className='b'>余额</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{this.computedCoupon(dtMember)}</div>\r\n <div className='b'>优惠券</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\r\n <div className='b'>积分</div>\r\n </div>\r\n </div>\r\n <div className='close'>\r\n {!isTakeTheir && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n {!!this.openFaceRecognition && <div className='right'>\r\n <Button colors=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\r\n {!inShopLoading && '到店会员'}\r\n <Spin\r\n className='inshop-member-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={inShopLoading}\r\n />\r\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\r\n </Button>\r\n </div>}\r\n <MemberModal\r\n mode={mode}\r\n authProcess={authProcess}\r\n viewMemberInfo={viewMemberInfo}\r\n columnInfo={columnInfo}\r\n status={status}\r\n showModal={memberShow}\r\n titleModal={titleModal}\r\n handleModal={this.handleShowModal}\r\n />\r\n <ModalWraper show={this.ms.birthdayShow} centered={true} className='memberBirthday'>\r\n <div className='picture'>\r\n <img width='350' height='308' src={memberBirthday} />\r\n <Ticon type=\"guanbi-yuan\" onClick={this.handleCloseBirthdayModal} />\r\n </div>\r\n <div className='remark'>今天是会员<span>{dtMember.Name || dtMember.CardCode}</span>的生日</div>\r\n </ModalWraper>\r\n </div>\r\n );\r\n }\r\n}\r\nexport default MemberTag"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tplus-member",
3
- "version": "1.25.6",
3
+ "version": "1.26.3",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -18,11 +18,10 @@
18
18
  "mutants-microfx": "^1.0.0",
19
19
  "tinper-bee": "2.2.0",
20
20
  "tplus-api": "~1.2.6",
21
- "tplus-components": "~1.25.1",
22
- "tplus-components-touch": "~1.25.1",
23
- "tplus-portaltouch": "~1.25.1",
24
- "tplus-poslogin": "~1.25.1",
25
- "tplus-setting-touch": "~1.25.1"
21
+ "tplus-components": "~1.26.1",
22
+ "tplus-components-touch": "~1.26.1",
23
+ "tplus-poslogin": "~1.26.1",
24
+ "tplus-setting-touch": "~1.26.1"
26
25
  },
27
26
  "dependencies": {}
28
27
  }