tplus-member 3.50.1 → 3.52.1

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","currentMember","MemberTag","observer","props","state","searchValue","titleModal","memberShow","memberPhoto","searchVisible","shopPerson","status","dtMember","connectCardStatus","connectCardError","isMemberCare","isMemberCareModal","sys_parms","emptyMemberImage","window","ossAliyuncsFileURL","memberBirthday","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","fn","result","resolve","resetInShopMemberTimer","count","timer","clearTimeout","time","setTimeout","getInStoreMemberCount","openPhotoModal","isNewRetailBCPos","openFaceRecognition","Message","warn","setState","openShowModal","res","title","data","Member","newAvatar","jsMember","updateMember","ImageFile","viewMemberInfo","openCloseModal","setMemberFocus","memberStore","items","find","el","name","uiState","IsIntegralExchange","store","tip","info","ModalWraper","confirm","className","content","onOk","ms","clearSeletMember","stores","selectMemberStore","clearMemberCare","handleCloseBirthdayModal","changeBirthdayShow","handleMemberCareModal","handleMemberCareModalCancel","handleSearch","val","handleFocus","isMemberInputType","isVoucherMode","Keyboard","open","value","getNewValue","inputSearch","v","searchMember","undefined","keyboardClose","bottom","open2","localStore","get","blur","handleBlur","close","close2","handleReadICard","readRfCard","handleShowModal","type","params","handlePhotoModal","offlineSys","shouldInOffline","searchLoading","trim","memberSearched","selectMemberSuccess","getMemberBirthday","getMeStorageCard","getSearchMember","currentPage","pageSize","key","isSingleMember","then","ret","columnInfo","ColumnInfo","Data","JSON","parse","length","RetailDetails","member","retailDetails","isArrowPriceChange","MemberType","IsStorage","isStorageCardInputType","iseyboardKEnter","keypressStime","drawerStore","init","onHide","subKey","listArr","seletMember","ID","changeMemberCare","isMobileEnvironment","catch","onKeyPressed","e","keyCode","stime","etime","Date","computedCoupon","MemberCouponCount","loadFaceRecognition","faceLoading","inShopLoading","loadInStoreMember","String","tipMessage","console","log","err","changeScanProduct","scanObj","startScan","onScanResult","setIsShowBirthdayTip","getMemberBirthdayInfo","user","options","MemberMeStorageCardInputByKeyBoard","OpenFaceRecognition","ICCardServer","ICCardPassword","parseInt","iCCardServer","iCCardPassword","isHorizontalPad","isHorizontalSunMi","bind","isCC","isShowBirthdayTip","selectMemberInfo","isClear","memberChangeData","memberChange","deepCloneMember","connectRfCard","removeEventListener","windowOnresize","closeRfCard","nextProps","isSendMessage","nativeMs","setIpcRendererMethod","error","cardPsw","cardSec","cardKm","mode","authProcess","precisionInfo","IdbusiType","viewVoucher","isTakeTheir","getIsTakeTheir","isSelectedMember","enumController","getEnumOj","Differentiate","memberCareInfo","input","target","scan","isTicket","daysToBirthday","Name","CardCode","BalanceStorage","COUPON","BalanceIntegral","memberCareDTO","memberRightRuleList","integralMultiple","integralGive","couponIdMapList","map","index","Component","propTypes","PropTypes","func","contextTypes","object","defaultProps"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * @memberChange member 状态发生变化时的回调\r\n * @memberSearched 录入框会员状态发生变化时的回调 memberSearched(value, type) // type: searched 触发搜索 | err 搜索接口错误 | close 关闭会员\r\n *\r\n */\r\nimport React, { Component, Fragment } from 'react';\r\nimport { Button, Input } from 'antd';\r\nimport { observer } from 'mobx-react';\r\nimport { toJS } from 'mobx';\r\nimport PropTypes from 'prop-types'\r\nimport { Ticon, Message, ModalWraper, Spin, Keyboard,Scan } from 'tplus-components-touch';\r\nimport { env, nativeMs, localStore , stores} from 'mutants-microfx';\r\nimport { Action } from 'mutants-appfx'\r\nimport { platform, enumController } from 'mutants-util';\r\nimport MemberModal from './MemberShow';\r\nimport MemberPhoto from './MemberPhoto';\r\nimport memberStore from './api';\r\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\r\nimport './index.less';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nlet currentMember;\r\n\r\n@observer\r\nclass MemberTag extends Component {\r\n\r\n state = {\r\n searchValue: '',\r\n titleModal: '',\r\n memberShow: false,\r\n memberPhoto: false,\r\n searchVisible: false,\r\n shopPerson: 0,\r\n status: 2, // 0会员详情、1到店会员、2人脸识别\r\n dtMember: {}, // 会员信息\r\n connectCardStatus: false, //连接IC卡状态\r\n connectCardError: '', //连接IC卡错误后记录错误信息\r\n isMemberCare: false,\r\n isMemberCareModal: false\r\n };\r\n\r\n static propTypes = {\r\n memberChange: PropTypes.func,\r\n memberSearched: PropTypes.func,\r\n }\r\n\r\n static contextTypes = {\r\n onEvent:PropTypes.func,\r\n viewModel: PropTypes.object,\r\n }\r\n\r\n static defaultProps = {\r\n memberChange: () => { },\r\n }\r\n\r\n sys_parms = {\r\n emptyMemberImage: `${window.ossAliyuncsFileURL}/default_avatar.png`,\r\n memberBirthday: `${window.ossAliyuncsFileURL}/pictures/member_birthday.png`\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.hasElectron = hasElectron;\r\n const { isMemberInputType, MemberMeStorageCardInputByKeyBoard, OpenFaceRecognition, ICCardServer, ICCardPassword } = stores.user.options.get('loginInfo') || {};\r\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\r\n this.isStorageCardInputType = MemberMeStorageCardInputByKeyBoard; // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用\r\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\r\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\r\n this.iCCardPassword = ICCardPassword; //IC卡密码\r\n this.ms = memberStore;\r\n //移动端环境下,没有读取IC卡的方式。\r\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\r\n this.isHorizontalPad = !!isHorizontalPad;\r\n this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n this.handleReadICard = this.handleReadICard.bind(this);\r\n\r\n //记录键盘录入信息的开始时间\r\n this.keypressStime = null;\r\n this.iseyboardKEnter = false; //是否为键盘输入\r\n this.state = {\r\n isCC: true,\r\n isShowBirthdayTip: false,\r\n };\r\n\r\n //是否单据模式\r\n this.isVoucherMode = localStore && localStore.get('voucherDefaultPosMode') == 'voucher';\r\n }\r\n\r\n componentWillReact() {\r\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\r\n const { selectMemberInfo = {}, isClear = false } = this.ms;\r\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\r\n // 有会员的话清空搜索框文本\r\n if (dtMember.ID && this.state.searchValue) {\r\n this.setState({\r\n searchValue: ''\r\n })\r\n }\r\n const memberChange = (data) => {\r\n this.setState({newAvatar: ''});\r\n this.props.memberChange(data);\r\n }\r\n if (typeof memberChangeData === 'object') {\r\n const deepCloneMember = JSON.parse(JSON.stringify(memberChangeData));\r\n if (!currentMember) {\r\n currentMember = deepCloneMember;\r\n memberChange(memberChangeData);\r\n } else if (currentMember.ID !== memberChangeData.ID) {\r\n memberChange(memberChangeData);\r\n currentMember = deepCloneMember;\r\n } else if (!dtMember.ID && (currentMember || {}).ID) { // DataModel 中清掉member,手动同步 member\r\n currentMember = undefined;\r\n this.ms.clearSeletMember();\r\n }\r\n } else if (currentMember && !memberChangeData) {\r\n memberChange(memberChangeData);\r\n currentMember = undefined;\r\n } else if (dtMember.ID && !(currentMember || {}).ID) { // DataModel 中存在member,手动同步 member\r\n const deepCloneMember = JSON.parse(JSON.stringify(dtMember));\r\n currentMember = deepCloneMember;\r\n this.ms.seletMember(dtMember);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n stores.selectMemberStore && stores.selectMemberStore.clearMemberCare()\r\n this.connectRfCard();\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.windowOnresize);\r\n this.closeRfCard();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n //接受socket传递过来的信息\r\n let { isSendMessage } = nextProps;\r\n if (isSendMessage === true) this.getInStoreMemberCount()\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n return new Promise(resolve => {\r\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', { ...methodArgs, fn: function(result) {\r\n resolve(result);\r\n }});\r\n });\r\n }\r\n\r\n resetInShopMemberTimer = (count) => {\r\n this.timer && clearTimeout(this.timer);\r\n if (!count) return;\r\n const time = 5 * 60 * 1000;\r\n this.timer = setTimeout(() => {\r\n this.getInStoreMemberCount();\r\n }, time);\r\n }\r\n //IC卡连接\r\n connectRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\r\n let result = {}\r\n if (ret.status === 0) {\r\n result = { connectCardStatus: false, connectCardError: ret.value }\r\n } else {\r\n result = { connectCardStatus: true, connectCardError: '' };\r\n }\r\n this.setState(result)\r\n })\r\n }\r\n }\r\n\r\n //IC卡读取\r\n readRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n const { connectCardStatus, connectCardError } = this.state;\r\n if (connectCardStatus === false) {\r\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n }\r\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\r\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\r\n if (ret.status === 0) {\r\n Message.error(ret.value);\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n } else if (ret.status === 1) {\r\n this.searchMember(ret.value);\r\n }\r\n })\r\n }\r\n }\r\n\r\n //IC卡关闭\r\n closeRfCard(){\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('CloseRfCard')\r\n }\r\n }\r\n\r\n openPhotoModal = () => {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (!isNewRetailBCPos) {\r\n if (!this.openFaceRecognition) {\r\n Message.warn('未启用人脸识别,需要先开启人脸识别功能');\r\n return;\r\n }\r\n this.setState({\r\n memberPhoto: true,\r\n titleModal: '选择头像'\r\n })\r\n }\r\n }\r\n\r\n openShowModal = (status, res) => {\r\n let title = '';\r\n const { data: { Member = {} } = {} } = this.context.viewModel || {};\r\n const {newAvatar} = this.state;\r\n const jsMember = toJS(Member);\r\n const updateMember = newAvatar ? {...jsMember, ImageFile: newAvatar} : jsMember;\r\n switch (status) {\r\n case 0:\r\n title = '会员详情';\r\n this.setState({ viewMemberInfo: updateMember })\r\n break;\r\n case 1:\r\n title = '到店会员';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n case 2:\r\n title = '人脸识别';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n }\r\n this.setState({\r\n status: status,\r\n memberShow: true,\r\n titleModal: title\r\n })\r\n }\r\n\r\n openCloseModal = () => {\r\n const { setMemberFocus } = this.props;\r\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\r\n const uiState = memberStore.uiState;\r\n const IsIntegralExchange = memberStore.store && memberStore.store.data && memberStore.store.data.IsIntegralExchange\r\n if (!!uiState.tip) {\r\n Message.info(uiState.tip)\r\n return;\r\n }\r\n ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '关闭会员',\r\n content: `${IsIntegralExchange ? \"关闭会员将会清空商品信息!\" : \"确定要关闭该会员吗?\"}`,\r\n onOk: () => {\r\n this.ms.clearSeletMember();\r\n stores.selectMemberStore.clearMemberCare();\r\n typeof setMemberFocus == 'function' && setMemberFocus();\r\n }\r\n })\r\n }\r\n\r\n //关闭生日提醒\r\n handleCloseBirthdayModal = () => {\r\n this.ms.changeBirthdayShow(false);\r\n }\r\n\r\n //会员关怀-送礼\r\n handleMemberCareModal = () => {\r\n this.setState({ isMemberCareModal: true })\r\n }\r\n handleMemberCareModalCancel = () => {\r\n this.setState({ isMemberCareModal: false })\r\n }\r\n\r\n handleSearch = (val) => {\r\n this.setState({ searchValue: val })\r\n }\r\n\r\n handleFocus = (el) => {\r\n if (this.isMemberInputType) return;\r\n if (this.isVoucherMode) {\r\n Keyboard.open(\r\n v => {\r\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\r\n this.handleSearch(value);\r\n },\r\n () => { this.searchMember(undefined, 'ok') },\r\n this.keyboardClose,\r\n {bottom: 60}\r\n )()\r\n } else {\r\n Keyboard.open2(\r\n (v) => {\r\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\r\n this.handleSearch(value);\r\n },\r\n () => {\r\n this.searchMember(undefined, 'ok');\r\n },\r\n this.keyboardClose,\r\n 'ByMember',\r\n localStore.get('ByMember')\r\n )\r\n }\r\n }\r\n\r\n keyboardClose = () => {\r\n this.inputSearch.blur();\r\n }\r\n\r\n handleBlur = () => {\r\n if (this.isVoucherMode) {\r\n Keyboard.close();\r\n } else {\r\n Keyboard.close2();\r\n }\r\n }\r\n\r\n handleReadICard = () => {\r\n this.readRfCard();\r\n }\r\n\r\n handleShowModal = (type, params) => {\r\n if (params) {\r\n this.setState({ dtMember: params, memberShow: type })\r\n } else {\r\n this.setState({ memberShow: type })\r\n }\r\n }\r\n\r\n handlePhotoModal = (type, newAvatar) => {\r\n if (newAvatar) {\r\n this.setState({\r\n newAvatar,\r\n memberPhoto: type\r\n })\r\n } else {\r\n this.setState({ memberPhoto: type })\r\n }\r\n }\r\n\r\n searchMember = (val, type) => {\r\n if(!stores.offlineSys.shouldInOffline()) return;\r\n if (!this.ms || this.searchLoading) return;\r\n const {searchValue} = this.state;\r\n val = val || (searchValue || '').trim();\r\n if (!val) return;\r\n const { memberSearched, selectMemberSuccess,setMemberFocus,getMemberBirthday, getMeStorageCard } = this.props;\r\n this.searchLoading = true;\r\n this.setState({searchVisible: true});\r\n this.ms.getSearchMember({\r\n currentPage: 1,\r\n pageSize: 10,\r\n key: val,\r\n isSingleMember: true\r\n }).then(async (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 if (data.length === 1 && info) {\r\n const { data: { RetailDetails = [] } = {} } = this.context.viewModel || {};\r\n let isArrowPriceChange = await this.controllerEvent('memberPriceChangeValidate', { member: info, retailDetails: toJS(RetailDetails)});\r\n if (!isArrowPriceChange) {\r\n this.setState({searchVisible: false, searchValue: ''});\r\n return;\r\n }\r\n }\r\n this.setState({searchVisible: false, columnInfo});\r\n if (info && info.MemberType && info.MemberType.IsStorage && this.isStorageCardInputType && this.iseyboardKEnter){\r\n getMeStorageCard && getMeStorageCard(true);\r\n this.handleSearch('');\r\n this.keypressStime = null;\r\n } else {\r\n getMeStorageCard && getMeStorageCard(false);\r\n }\r\n memberSearched && memberSearched(info, 'searched');\r\n if (info) {\r\n if (data.length > 1) {\r\n stores.drawerStore.init({\r\n title: '会员管理',\r\n key: 'member',\r\n onHide:()=>{\r\n },\r\n subKey: 'memberManager',\r\n listArr: data,\r\n });\r\n this.setState({\r\n searchValue: null\r\n })\r\n } else {\r\n memberSearched && memberSearched(info, 'searched');\r\n userInfoFormat(info);\r\n if (errMessageTip(info)) return;\r\n this.ms.seletMember(info, true);\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n this.handleBlur();\r\n selectMemberSuccess && selectMemberSuccess();\r\n getMemberBirthday && getMemberBirthday(info.ID, (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n });\r\n }\r\n } else {\r\n if (type === 'ok'){\r\n Message.warn('会员不存在');\r\n if (this.isMobileEnvironment) {\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n }\r\n typeof setMemberFocus == 'function' && setMemberFocus();\r\n }\r\n }\r\n }).catch(err => {\r\n this.setState({searchVisible: false});\r\n this.searchLoading = false;\r\n memberSearched && memberSearched(undefined, 'err');\r\n })\r\n }\r\n\r\n //获取当前到店会员数量\r\n getInStoreMemberCount = () => {\r\n if (!this.ms) return;\r\n this.ms.getInStoreMemberCount().then(res => {\r\n const {data: {data: shopPerson} = {}} = res || {};\r\n this.setState({shopPerson});\r\n this.resetInShopMemberTimer(shopPerson);\r\n });\r\n }\r\n\r\n onKeyPressed = (e) => {\r\n const keyCode = e && e.keyCode\r\n if (keyCode === 13) {\r\n if (this.isMemberInputType) {\r\n let stime = this.keypressStime;\r\n let etime = Date.parse(new Date());\r\n if (etime - stime > 300) {\r\n this.handleSearch('')\r\n this.keypressStime = null;\r\n return Message.warn('未启用键盘录入功能');\r\n }\r\n this.keypressStime = null;\r\n }\r\n this.iseyboardKEnter = Date.parse(new Date()) - this.keypressStime > 300;\r\n if (this.isStorageCardInputType) {\r\n this.keypressStime = null;\r\n }\r\n if (this.searchLoading) return;\r\n this.searchMember(undefined, 'ok');\r\n }\r\n else if (this.isMemberInputType && !this.keypressStime && !(keyCode == 8)) {\r\n this.keypressStime = Date.parse(new Date())\r\n } else if (this.isStorageCardInputType && !this.keypressStime && !(keyCode == 8) && !this.isMemberInputType) {\r\n this.keypressStime = Date.parse(new Date())\r\n }\r\n }\r\n\r\n computedCoupon = (member = {}) => {\r\n return member.MemberCouponCount ? member.MemberCouponCount : '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\r\n setIsShowBirthdayTip = () => {\r\n stores.selectMemberStore.clearMemberCare()\r\n }\r\n\r\n getMemberBirthdayInfo = (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n }\r\n\r\n render() {\r\n const {\r\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\r\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible = false, columnInfo, isCC,\r\n isMemberCare, isMemberCareModal, isShowBirthdayTip\r\n } = this.state;\r\n const { mode = 'formal', authProcess, selectMemberSuccess } = this.props;\r\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\r\n const { data: { Member: dtMember = {}, IdbusiType } = {}, items = [] } = this.context.viewModel || {};\r\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\r\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\r\n const isSelectedMember = !!dtMember.ID;\r\n const { Differentiate } = enumController.getEnumOj();\r\n const { memberCareInfo } = stores.selectMemberStore;\r\n\r\n return (\r\n <div className='MemberContainer'>\r\n <div className='left'>\r\n {!isSelectedMember &&\r\n <div className='search'>\r\n <div className='b1'>\r\n <Input\r\n type='text'\r\n className=\"input\"\r\n id='memberPoint'\r\n placeholder='扫描/输入会员号'\r\n value={searchValue}\r\n ref={el => this.inputSearch = el && el.input}\r\n onChange={(e) => this.handleSearch(e.target.value)}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n onKeyDown={this.onKeyPressed}\r\n disabled={IdbusiType == 39}\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 || this.sys_parms.emptyMemberImage} />\r\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"shengri\" className='shengriIcon'></Ticon>\r\n }\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <div className='birthdayContent'>\r\n <div className='birthdayWarn'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\r\n <Button colors=\"warn\" onClick={this.handleMemberCareModal} className='check bg-theme'>查看</Button>\r\n <Ticon type=\"cuowuda\" className='cuowudaIcon'></Ticon>\r\n </div>\r\n }\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"cuowuda\" onClick={() => { this.setIsShowBirthdayTip()}} className='cuowudaIcon'></Ticon>\r\n }\r\n </div>\r\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\r\n <div className='one'>\r\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\r\n <div className='b'>{dtMember.CardCode}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\r\n <div className='b'>余额</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{this.computedCoupon(dtMember)}</div>\r\n <div className='b'>{Differentiate.COUPON}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\r\n <div className='b'>积分</div>\r\n </div>\r\n </div>\r\n <div className='close'>\r\n {!isTakeTheir && IdbusiType !=39 && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n {/* {\r\n memberCareInfo && memberCareInfo.isTicket ? <div className='float'>\r\n <div className='txt'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\r\n <div className='btn' onClick={this.handleMemberCareModal}>查看</div>\r\n <div className='cancel'>\r\n <Ticon type='guanbixiao' onClick={() => {\r\n this.setIsShowBirthdayTip()\r\n }}/>\r\n </div>\r\n </div> : null\r\n } */}\r\n {!!this.openFaceRecognition && <div className='right'>\r\n <Button type=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\r\n {!inShopLoading && '到店会员'}\r\n <Spin\r\n className='inshop-member-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={inShopLoading}\r\n />\r\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\r\n </Button>\r\n </div>}\r\n <MemberModal\r\n mode={mode}\r\n authProcess={authProcess}\r\n viewMemberInfo={viewMemberInfo}\r\n columnInfo={columnInfo}\r\n status={status}\r\n showModal={memberShow}\r\n storeKey='memberManager'\r\n titleModal={titleModal}\r\n selectMemberSuccess={selectMemberSuccess}\r\n handleModal={this.handleShowModal}\r\n />\r\n <ModalWraper\r\n show={isMemberCareModal}\r\n className='member-care-modal'\r\n width='688'\r\n centered={true}\r\n memberClass='memberCareWidth'\r\n cancel={this.handleMemberCareModalCancel}\r\n >\r\n <div className='first'>会员生日关怀</div>\r\n <div className='second'>\r\n <div className='secondContent'>\r\n <Ticon type='dengpao'/>\r\n <span>口头关怀客户,提示引导客户去线上商城领取权益。</span>\r\n </div>\r\n </div>\r\n <div className='third'>\r\n <div className='one'>\r\n <img src={this.sys_parms.emptyMemberImage} />\r\n <Ticon type='shengri' />\r\n </div>\r\n <div className='two'>\r\n {\r\n memberCareInfo && memberCareInfo.daysToBirthday === 0 ? <span>\r\n 今天是{dtMember.Name}的生日,该会员是{dtMember.MemberType.Name},可享受以下权益\r\n </span> : <span>\r\n {dtMember.Name}会员还有{memberCareInfo && memberCareInfo.daysToBirthday}天生日,该会员是{dtMember.MemberType.Name},可享受以下权益\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n {\r\n memberCareInfo && <div className='fourth'>\r\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple && <div className='item'>1.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple}</div>}\r\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive && <div className='item'>2.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive}</div>}\r\n {\r\n memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].couponIdMapList.map((value, index) => {\r\n let count = 0;\r\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple) {\r\n count += 1;\r\n }\r\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive) {\r\n count += 1;\r\n }\r\n return (<div className='item'>{count + 1 + index}.{value.name}</div>)\r\n })\r\n }\r\n </div>\r\n }\r\n </ModalWraper>\r\n </div>\r\n );\r\n }\r\n}\r\nexport default MemberTag\r\n"]}
1
+ {"version":3,"sources":["tplus-member/member/index.js"],"names":["hasElectron","env","platform","constant","electron","currentMember","MemberTag","observer","props","state","searchValue","titleModal","memberShow","memberPhoto","searchVisible","shopPerson","status","dtMember","connectCardStatus","connectCardError","isMemberCare","isMemberCareModal","sys_parms","emptyMemberImage","window","ossAliyuncsFileURL","memberBirthday","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","fn","result","resolve","resetInShopMemberTimer","count","timer","clearTimeout","time","setTimeout","getInStoreMemberCount","openPhotoModal","isNewRetailBCPos","openFaceRecognition","Message","warn","setState","openShowModal","res","title","data","Member","newAvatar","jsMember","updateMember","ImageFile","viewMemberInfo","openCloseModal","setMemberFocus","memberStore","items","find","el","name","uiState","IsIntegralExchange","store","tip","info","ModalWraper","confirm","className","content","onOk","ms","clearSeletMember","stores","selectMemberStore","clearMemberCare","handleCloseBirthdayModal","changeBirthdayShow","handleMemberCareModal","handleMemberCareModalCancel","handleSearch","val","handleFocus","isMemberInputType","isVoucherMode","Keyboard","open","value","getNewValue","inputSearch","v","searchMember","undefined","keyboardClose","bottom","open2","localStore","get","blur","handleBlur","close","close2","handleReadICard","readRfCard","handleShowModal","type","params","handlePhotoModal","offlineSys","shouldInOffline","searchLoading","trim","memberSearched","selectMemberSuccess","getMemberBirthday","getMeStorageCard","getSearchMember","currentPage","pageSize","key","isSingleMember","then","ret","columnInfo","ColumnInfo","Data","JSON","parse","length","RetailDetails","member","retailDetails","isArrowPriceChange","MemberType","IsStorage","isStorageCardInputType","iseyboardKEnter","keypressStime","drawerStore","init","onHide","subKey","listArr","seletMember","ID","changeMemberCare","isMobileEnvironment","catch","onKeyPressed","e","keyCode","stime","etime","Date","computedCoupon","MemberCouponCount","loadFaceRecognition","faceLoading","inShopLoading","loadInStoreMember","String","tipMessage","console","log","err","changeScanProduct","scanObj","startScan","onScanResult","setIsShowBirthdayTip","getMemberBirthdayInfo","user","options","MemberMeStorageCardInputByKeyBoard","OpenFaceRecognition","ICCardServer","ICCardPassword","parseInt","iCCardServer","iCCardPassword","isHorizontalPad","isHorizontalSunMi","bind","isCC","isShowBirthdayTip","voucherDefaultPosMode","selectMemberInfo","isClear","memberChangeData","memberChange","deepCloneMember","connectRfCard","removeEventListener","windowOnresize","closeRfCard","nextProps","isSendMessage","nativeMs","setIpcRendererMethod","error","cardPsw","cardSec","cardKm","mode","authProcess","precisionInfo","IdbusiType","viewVoucher","isTakeTheir","getIsTakeTheir","isSelectedMember","enumController","getEnumOj","Differentiate","memberCareInfo","input","target","scan","isTicket","daysToBirthday","Name","CardCode","BalanceStorage","COUPON","BalanceIntegral","memberCareDTO","memberRightRuleList","integralMultiple","integralGive","couponIdMapList","map","index","Component","propTypes","PropTypes","func","contextTypes","object","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAAA;;;;;;;;;;;AAKA;;;;AAEA;;AACA;;AACA;;;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;AACA;;;;AAEA,IAAMA,cAAeC,oBAAIC,QAAJ,KAAiBD,oBAAIE,QAAJ,CAAaD,QAAb,CAAsBE,QAA5D;AACA,IAAIC,sBAAJ;;IAGMC,S,OADLC,mB;;;AAqCG,uBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AAAA,gJACTA,KADS;;AAAA,cAlCnBC,KAkCmB,GAlCX;AACJC,yBAAa,EADT;AAEJC,wBAAY,EAFR;AAGJC,wBAAY,KAHR;AAIJC,yBAAa,KAJT;AAKJC,2BAAe,KALX;AAMJC,wBAAY,CANR;AAOJC,oBAAQ,CAPJ,EAOc;AAClBC,sBAAU,EARN,EAQa;AACjBC,+BAAmB,KATf,EASsB;AAC1BC,8BAAkB,EAVd,EAUkB;AACtBC,0BAAc,KAXV;AAYJC,+BAAmB;AAZf,SAkCW;AAAA,cALnBC,SAKmB,GALP;AACRC,8BAAqBC,OAAOC,kBAA5B,wBADQ;AAERC,4BAAmBF,OAAOC,kBAA1B;AAFQ,SAKO;;AAAA,cAkFnBE,eAlFmB,GAkFD,UAACC,UAAD,EAAaC,UAAb,EAA4B;AAC1C,mBAAO,sBAAY,mBAAW;AAC1B,sBAAKC,OAAL,CAAaC,OAAb,CAAqB,EAAE,mBAAmBC,qBAAOC,MAAP,CAAc,MAAKH,OAAL,CAAaI,SAA3B,EAAsCN,UAAtC,CAArB,EAArB,EAA+F,iBAA/F,6BAAuHC,UAAvH,IAAmIM,IAAI,YAASC,MAAT,EAAiB;AACpJC,gCAAQD,MAAR;AACH,qBAFD;AAGH,aAJM,CAAP;AAKH,SAxFkB;;AAAA,cA0FnBE,sBA1FmB,GA0FM,UAACC,KAAD,EAAW;AAChC,kBAAKC,KAAL,IAAcC,aAAa,MAAKD,KAAlB,CAAd;AACA,gBAAI,CAACD,KAAL,EAAY;AACZ,gBAAMG,OAAO,IAAI,EAAJ,GAAS,IAAtB;AACA,kBAAKF,KAAL,GAAaG,WAAW,YAAM;AAC1B,sBAAKC,qBAAL;AACH,aAFY,EAEVF,IAFU,CAAb;AAGH,SAjGkB;;AAAA,cAgJnBG,cAhJmB,GAgJF,YAAM;AAAA,uBACQ3C,yBAAY,EADpB;AAAA,gBACb4C,gBADa,QACbA,gBADa;;AAEnB,gBAAI,CAACA,gBAAL,EAAuB;AACnB,oBAAI,CAAC,MAAKC,mBAAV,EAA+B;AAC3BC,kDAAQC,IAAR,CAAa,qBAAb;AACA;AACH;AACD,sBAAKC,QAAL,CAAc;AACVrC,iCAAa,IADH;AAEVF,gCAAY;AAFF,iBAAd;AAIH;AACJ,SA5JkB;;AAAA,cA8JnBwC,aA9JmB,GA8JH,UAACnC,MAAD,EAASoC,GAAT,EAAiB;AAC7B,gBAAIC,QAAQ,EAAZ;;AAD6B,wBAEU,MAAKvB,OAAL,CAAaI,SAAb,IAA0B,EAFpC;AAAA,mCAErBoB,IAFqB;;AAAA,oDAEG,EAFH;AAAA,+CAEbC,MAFa;AAAA,gBAEbA,MAFa,qCAEJ,EAFI;AAAA,gBAGtBC,SAHsB,GAGT,MAAK/C,KAHI,CAGtB+C,SAHsB;;AAI7B,gBAAMC,WAAW,gBAAKF,MAAL,CAAjB;AACA,gBAAMG,eAAeF,uCAAgBC,QAAhB,IAA0BE,WAAWH,SAArC,MAAkDC,QAAvE;AACA,oBAAQzC,MAAR;AACI,qBAAK,CAAL;AACIqC,4BAAQ,MAAR;AACA,0BAAKH,QAAL,CAAc,EAAEU,gBAAgBF,YAAlB,EAAd;AACA;AACJ,qBAAK,CAAL;AACIL,4BAAQ,MAAR;AACA,0BAAKH,QAAL,CAAc,EAAEU,gBAAgBR,GAAlB,EAAd;AACA;AACJ,qBAAK,CAAL;AACIC,4BAAQ,MAAR;AACA,0BAAKH,QAAL,CAAc,EAAEU,gBAAgBR,GAAlB,EAAd;AACA;AAZR;AAcA,kBAAKF,QAAL,CAAc;AACVlC,wBAAQA,MADE;AAEVJ,4BAAY,IAFF;AAGVD,4BAAY0C;AAHF,aAAd;AAKH,SAvLkB;;AAAA,cAyLnBQ,cAzLmB,GAyLF,YAAM;AAAA,gBACXC,cADW,GACQ,MAAKtD,KADb,CACXsD,cADW;;AAEnB,gBAAMC,cAAc,MAAKjC,OAAL,CAAaI,SAAb,IAA0B,MAAKJ,OAAL,CAAaI,SAAb,CAAuB8B,KAAvB,CAA6BC,IAA7B,CAAkC;AAAA,uBAAMC,GAAGC,IAAH,IAAW,aAAjB;AAAA,aAAlC,CAA9C;AACA,gBAAMC,UAAUL,YAAYK,OAA5B;AACA,gBAAMC,qBAAqBN,YAAYO,KAAZ,IAAqBP,YAAYO,KAAZ,CAAkBhB,IAAvC,IAA+CS,YAAYO,KAAZ,CAAkBhB,IAAlB,CAAuBe,kBAAjG;AACA,gBAAI,CAAC,CAACD,QAAQG,GAAd,EAAmB;AACfvB,8CAAQwB,IAAR,CAAaJ,QAAQG,GAArB;AACA;AACH;AACDE,8CAAYC,OAAZ,CAAoB;AAChBC,2BAAW,qBADK;AAEhBtB,uBAAO,MAFS;AAGhBuB,+BAAYP,qBAAqB,eAArB,GAAuC,YAAnD,CAHgB;AAIhBQ,sBAAM,gBAAM;AACR,0BAAKC,EAAL,CAAQC,gBAAR;AACAC,2CAAOC,iBAAP,CAAyBC,eAAzB;AACA,2BAAOpB,cAAP,IAAyB,UAAzB,IAAuCA,gBAAvC;AACH;AARe,aAApB;AAUH,SA5MkB;;AAAA,cA+MnBqB,wBA/MmB,GA+MQ,YAAM;AAC7B,kBAAKL,EAAL,CAAQM,kBAAR,CAA2B,KAA3B;AACH,SAjNkB;;AAAA,cAoNnBC,qBApNmB,GAoNK,YAAM;AAC1B,kBAAKnC,QAAL,CAAc,EAAE7B,mBAAmB,IAArB,EAAd;AACH,SAtNkB;;AAAA,cAuNnBiE,2BAvNmB,GAuNW,YAAM;AAChC,kBAAKpC,QAAL,CAAc,EAAE7B,mBAAmB,KAArB,EAAd;AACH,SAzNkB;;AAAA,cA2NnBkE,YA3NmB,GA2NJ,UAACC,GAAD,EAAS;AACpB,kBAAKtC,QAAL,CAAc,EAAExC,aAAa8E,GAAf,EAAd;AACH,SA7NkB;;AAAA,cA+NnBC,WA/NmB,GA+NL,UAACvB,EAAD,EAAQ;AAClB,gBAAI,MAAKwB,iBAAT,EAA4B;AAC5B,gBAAI,MAAKC,aAAT,EAAwB;AACpBC,+CAASC,IAAT,CACI,aAAK;AACD,wBAAMC,QAAQF,+BAASG,WAAT,CAAqB,MAAKC,WAA1B,EAAuC,MAAKA,WAAL,CAAiBF,KAAxD,EAA+DG,CAA/D,CAAd;AACA,0BAAKV,YAAL,CAAkBO,KAAlB;AACH,iBAJL,EAKI,YAAM;AAAE,0BAAKI,YAAL,CAAkBC,SAAlB,EAA6B,IAA7B;AAAoC,iBALhD,EAMI,MAAKC,aANT,EAOI,EAACC,QAAQ,EAAT,EAPJ;AASH,aAVD,MAUO;AACHT,+CAASU,KAAT,CACI,UAACL,CAAD,EAAO;AACH,wBAAMH,QAAQF,+BAASG,WAAT,CAAqB,MAAKC,WAA1B,EAAuC,MAAKA,WAAL,CAAiBF,KAAxD,EAA+DG,CAA/D,CAAd;AACA,0BAAKV,YAAL,CAAkBO,KAAlB;AACH,iBAJL,EAKI,YAAM;AACF,0BAAKI,YAAL,CAAkBC,SAAlB,EAA6B,IAA7B;AACH,iBAPL,EAQI,MAAKC,aART,EASI,UATJ,EAUIG,2BAAWC,GAAX,CAAe,UAAf,CAVJ;AAYH;AACJ,SAzPkB;;AAAA,cA2PnBJ,aA3PmB,GA2PH,YAAM;AACpB,kBAAKJ,WAAL,CAAiBS,IAAjB;AACD,SA7PkB;;AAAA,cA+PnBC,UA/PmB,GA+PN,YAAM;AACf,gBAAI,MAAKf,aAAT,EAAwB;AACpBC,+CAASe,KAAT;AACH,aAFD,MAEO;AACHf,+CAASgB,MAAT;AACH;AACJ,SArQkB;;AAAA,cAuQnBC,eAvQmB,GAuQD,YAAM;AACpB,kBAAKC,UAAL;AACH,SAzQkB;;AAAA,cA2QnBC,eA3QmB,GA2QD,UAACC,IAAD,EAAOC,MAAP,EAAkB;AAChC,gBAAIA,MAAJ,EAAY;AACR,sBAAK/D,QAAL,CAAc,EAAEjC,UAAUgG,MAAZ,EAAoBrG,YAAYoG,IAAhC,EAAd;AACH,aAFD,MAEO;AACH,sBAAK9D,QAAL,CAAc,EAAEtC,YAAYoG,IAAd,EAAd;AACH;AACJ,SAjRkB;;AAAA,cAmRnBE,gBAnRmB,GAmRA,UAACF,IAAD,EAAOxD,SAAP,EAAqB;AACtC,gBAAIA,SAAJ,EAAe;AACT,sBAAKN,QAAL,CAAc;AACVM,wCADU;AAEV3C,iCAAamG;AAFH,iBAAd;AAIH,aALH,MAKS;AACH,sBAAK9D,QAAL,CAAc,EAAErC,aAAamG,IAAf,EAAd;AACH;AACJ,SA5RkB;;AAAA,cA8RnBd,YA9RmB,GA8RJ,UAACV,GAAD,EAAMwB,IAAN,EAAe;AAC1B,gBAAG,CAAChC,uBAAOmC,UAAP,CAAkBC,eAAlB,EAAJ,EAA0C;AAC1C,gBAAI,CAAC,MAAKtC,EAAN,IAAY,MAAKuC,aAArB,EAAoC;AAFV,gBAGnB3G,WAHmB,GAGJ,MAAKD,KAHD,CAGnBC,WAHmB;;AAI1B8E,kBAAMA,OAAO,CAAC9E,eAAe,EAAhB,EAAoB4G,IAApB,EAAb;AACA,gBAAI,CAAC9B,GAAL,EAAU;AALgB,8BAMyE,MAAKhF,KAN9E;AAAA,gBAMlB+G,cANkB,eAMlBA,cANkB;AAAA,gBAMFC,mBANE,eAMFA,mBANE;AAAA,gBAMkB1D,cANlB,eAMkBA,cANlB;AAAA,gBAMiC2D,iBANjC,eAMiCA,iBANjC;AAAA,gBAMoDC,gBANpD,eAMoDA,gBANpD;;AAO1B,kBAAKL,aAAL,GAAqB,IAArB;AACA,kBAAKnE,QAAL,CAAc,EAACpC,eAAe,IAAhB,EAAd;AACA,kBAAKgE,EAAL,CAAQ6C,eAAR,CAAwB;AACpBC,6BAAa,CADO;AAEpBC,0BAAU,EAFU;AAGpBC,qBAAKtC,GAHe;AAIpBuC,gCAAgB;AAJI,aAAxB,EAKGC,IALH;AAAA,qGAKQ,iBAAOC,GAAP;AAAA;;AAAA;AAAA;AAAA;AAAA;AACJ,0CAAKZ,aAAL,GAAqB,KAArB;AADI,4CAEmCY,OAAO,EAF1C,EAEeC,UAFf,SAEGC,UAFH,EAE2BC,IAF3B,SAE2BA,IAF3B;AAGE9E,wCAHF,GAGS+E,KAAKC,KAAL,CAAWF,IAAX,KAAoB,EAH7B;AAIE5D,wCAJF,GAISlB,KAAK,CAAL,CAJT;;AAAA,0CAKAA,KAAKiF,MAAL,KAAgB,CAAhB,IAAqB/D,IALrB;AAAA;AAAA;AAAA;;AAAA,4CAM8C,MAAK1C,OAAL,CAAaI,SAAb,IAA0B,EANxE,qBAMQoB,IANR;AAAA,4EAMuC,EANvC;AAAA,uEAMgBkF,aANhB,EAMgBA,aANhB,yCAMgC,EANhC;AAAA;AAAA,2CAO+B,MAAK7G,eAAL,CAAqB,2BAArB,EAAkD,EAAE8G,QAAQjE,IAAV,EAAgBkE,eAAe,gBAAKF,aAAL,CAA/B,EAAlD,CAP/B;;AAAA;AAOIG,sDAPJ;;AAAA,wCAQKA,kBARL;AAAA;AAAA;AAAA;;AASI,0CAAKzF,QAAL,CAAc,EAACpC,eAAe,KAAhB,EAAuBJ,aAAa,EAApC,EAAd;AATJ;;AAAA;AAaJ,0CAAKwC,QAAL,CAAc,EAACpC,eAAe,KAAhB,EAAuBoH,sBAAvB,EAAd;AACA,wCAAI1D,QAAQA,KAAKoE,UAAb,IAA2BpE,KAAKoE,UAAL,CAAgBC,SAA3C,IAAwD,MAAKC,sBAA7D,IAAuF,MAAKC,eAAhG,EAAgH;AAC5GrB,4DAAoBA,iBAAiB,IAAjB,CAApB;AACA,8CAAKnC,YAAL,CAAkB,EAAlB;AACA,8CAAKyD,aAAL,GAAqB,IAArB;AACH,qCAJD,MAIO;AACHtB,4DAAoBA,iBAAiB,KAAjB,CAApB;AACH;AACDH,sDAAkBA,eAAe/C,IAAf,EAAqB,UAArB,CAAlB;;AArBI,yCAsBAA,IAtBA;AAAA;AAAA;AAAA;;AAAA,0CAuBIlB,KAAKiF,MAAL,GAAc,CAvBlB;AAAA;AAAA;AAAA;;AAwBIvD,2DAAOiE,WAAP,CAAmBC,IAAnB,CAAwB;AACpB7F,+CAAO,MADa;AAEpByE,6CAAK,QAFe;AAGpBqB,gDAAO,kBAAI,CACV,CAJmB;AAKpBC,gDAAQ,eALY;AAMpBC,iDAAS/F;AANW,qCAAxB;AAQA,0CAAKJ,QAAL,CAAc;AACVxC,qDAAa;AADH,qCAAd;AAhCJ;AAAA;;AAAA;AAoCI6G,sDAAkBA,eAAe/C,IAAf,EAAqB,UAArB,CAAlB;AACA,+DAAeA,IAAf;;AArCJ,yCAsCQ,0BAAcA,IAAd,CAtCR;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAuCI,0CAAKM,EAAL,CAAQwE,WAAR,CAAoB9E,IAApB,EAA0B,IAA1B;AACA7B,+CAAW;AAAA,+CAAM,MAAKO,QAAL,CAAc,EAAExC,aAAa,EAAf,EAAd,CAAN;AAAA,qCAAX,EAAqD,CAArD;AACA,0CAAKgG,UAAL;AACAc,2DAAuBA,qBAAvB;AACAC,yDAAqBA,kBAAkBjD,KAAK+E,EAAvB,EAA2B,UAACnH,MAAD,EAAY;AACxD4C,+DAAOC,iBAAP,CAAyBuE,gBAAzB,CAA0CpH,MAA1C;AACH,qCAFoB,CAArB;;AA3CJ;AAAA;AAAA;;AAAA;AAgDA,wCAAI4E,SAAS,IAAb,EAAkB;AACdhE,sEAAQC,IAAR,CAAa,OAAb;AACA,4CAAI,MAAKwG,mBAAT,EAA8B;AAC1B9G,uDAAW;AAAA,uDAAM,MAAKO,QAAL,CAAc,EAAExC,aAAa,EAAf,EAAd,CAAN;AAAA,6CAAX,EAAqD,CAArD;AACH;AACD,+CAAOoD,cAAP,IAAyB,UAAzB,IAAuCA,gBAAvC;AACH;;AAtDD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBALR;;AAAA;AAAA;AAAA;AAAA,iBA6DG4F,KA7DH,CA6DS,eAAO;AACZ,sBAAKxG,QAAL,CAAc,EAACpC,eAAe,KAAhB,EAAd;AACA,sBAAKuG,aAAL,GAAqB,KAArB;AACAE,kCAAkBA,eAAepB,SAAf,EAA0B,KAA1B,CAAlB;AACH,aAjED;AAkEH,SAzWkB;;AAAA,cA4WnBvD,qBA5WmB,GA4WK,YAAM;AAC5B,gBAAI,CAAC,MAAKkC,EAAV,EAAc;AACd,kBAAKA,EAAL,CAAQlC,qBAAR,GAAgCoF,IAAhC,CAAqC,eAAO;AAAA,4BACF5E,OAAO,EADL;AAAA,uCACnCE,IADmC;;AAAA,wDACR,EADQ;AAAA,oBACtBvC,UADsB,cAC5BuC,IAD4B;;AAE1C,sBAAKJ,QAAL,CAAc,EAACnC,sBAAD,EAAd;AACA,sBAAKuB,sBAAL,CAA4BvB,UAA5B;AACD,aAJD;AAKD,SAnXkB;;AAAA,cAqXnB4I,YArXmB,GAqXJ,UAACC,CAAD,EAAO;AAClB,gBAAMC,UAAUD,KAAKA,EAAEC,OAAvB;AACA,gBAAIA,YAAY,EAAhB,EAAoB;AAChB,oBAAI,MAAKnE,iBAAT,EAA4B;AACxB,wBAAIoE,QAAQ,MAAKd,aAAjB;AACA,wBAAIe,QAAQC,KAAK1B,KAAL,CAAW,IAAI0B,IAAJ,EAAX,CAAZ;AACA,wBAAID,QAAQD,KAAR,GAAgB,GAApB,EAAyB;AACrB,8BAAKvE,YAAL,CAAkB,EAAlB;AACA,8BAAKyD,aAAL,GAAqB,IAArB;AACA,+BAAOhG,8BAAQC,IAAR,CAAa,WAAb,CAAP;AACH;AACD,0BAAK+F,aAAL,GAAqB,IAArB;AACH;AACD,sBAAKD,eAAL,GAAuBiB,KAAK1B,KAAL,CAAW,IAAI0B,IAAJ,EAAX,IAAyB,MAAKhB,aAA9B,GAA8C,GAArE;AACA,oBAAI,MAAKF,sBAAT,EAAiC;AAC7B,0BAAKE,aAAL,GAAqB,IAArB;AACH;AACD,oBAAI,MAAK3B,aAAT,EAAwB;AACxB,sBAAKnB,YAAL,CAAkBC,SAAlB,EAA6B,IAA7B;AACH,aAjBD,MAkBK,IAAI,MAAKT,iBAAL,IAA0B,CAAC,MAAKsD,aAAhC,IAAiD,EAAEa,WAAW,CAAb,CAArD,EAAsE;AACvE,sBAAKb,aAAL,GAAqBgB,KAAK1B,KAAL,CAAW,IAAI0B,IAAJ,EAAX,CAArB;AACH,aAFI,MAEE,IAAI,MAAKlB,sBAAL,IAA+B,CAAC,MAAKE,aAArC,IAAsD,EAAEa,WAAW,CAAb,CAAtD,IAAyE,CAAC,MAAKnE,iBAAnF,EAAsG;AACzG,sBAAKsD,aAAL,GAAqBgB,KAAK1B,KAAL,CAAW,IAAI0B,IAAJ,EAAX,CAArB;AACH;AACJ,SA9YkB;;AAAA,cAgZnBC,cAhZmB,GAgZF,YAAiB;AAAA,gBAAhBxB,MAAgB,uEAAP,EAAO;;AAC9B,mBAAOA,OAAOyB,iBAAP,GAA2BzB,OAAOyB,iBAAlC,GAAsD,GAA7D;AACH,SAlZkB;;AAAA,cAoZnBC,mBApZmB,GAoZG,UAACnD,IAAD,EAAU;AAC9B;AACA,kBAAK9D,QAAL,CAAc,EAACkH,aAAapD,SAAS,CAAvB,EAA0BqD,eAAerD,SAAS,CAAlD,EAAd;AACA,kBAAKlC,EAAL,CAAQwF,iBAAR,CAA0BC,OAAOvD,IAAP,CAA1B,EACGgB,IADH,CACQ,eAAO;AACX,sBAAK9E,QAAL,CAAc,EAACkH,aAAa,KAAd,EAAqBC,eAAe,KAApC,EAAd;;AADW,4BAEIjH,OAAO,EAFX;AAAA,oBAEJgF,IAFI,SAEJA,IAFI;;AAGX,oBAAI,CAACC,KAAKC,KAAL,CAAWF,IAAX,EAAiBG,MAAtB,EAA8B;AAC5B,wBAAMiC,aAAa,CAAC,UAAD,EAAa,UAAb,CAAnB;AACAxD,6BAAS,CAAT,IAAc,MAAK9D,QAAL,CAAc,EAACnC,YAAY,CAAb,EAAd,CAAd;AACA,2BAAOiC,8BAAQwB,IAAR,CAAagG,WAAWxD,OAAO,CAAlB,CAAb,CAAP;AACD;AACDA,yBAAS,CAAT,IAAc,MAAKpE,qBAAL,EAAd;AACA,sBAAKO,aAAL,CAAmB6D,IAAnB,EAAyB5D,GAAzB;AACD,aAXH,EAYGsG,KAZH,CAYS,eAAO;AACZ,sBAAKxG,QAAL,CAAc,EAACkH,aAAa,KAAd,EAAqBC,eAAe,KAApC,EAAd;AACAI,wBAAQC,GAAR,CAAYC,GAAZ;AACD,aAfH;AAgBD,SAvakB;;AAAA,cA0anBC,iBA1amB,GA0aC,YAAM;AACtB,gBAAI,MAAKC,OAAT,EAAkB,MAAKA,OAAL,CAAaC,SAAb;AACrB,SA5akB;;AAAA,cA6anBC,YA7amB,GA6aJ,UAAC3H,GAAD,EAAS;AACpB,kBAAKF,QAAL,CAAc;AACVxC,6BAAa0C;AADH,aAAd,EAEG,YAAM;AACL,sBAAKuG,YAAL,CAAkB,EAAEE,SAAS,EAAX,EAAlB;AACH,aAJD;AAKH,SAnbkB;;AAAA,cAqbnBmB,oBArbmB,GAqbI,YAAM;AACzBhG,mCAAOC,iBAAP,CAAyBC,eAAzB;AACH,SAvbkB;;AAAA,cAybnB+F,qBAzbmB,GAybK,UAAC7I,MAAD,EAAY;AAChC4C,mCAAOC,iBAAP,CAAyBuE,gBAAzB,CAA0CpH,MAA1C;AACH,SA3bkB;;AAEf,cAAKpC,WAAL,GAAmBA,WAAnB;;AAFe,oBAGsGgF,uBAAOkG,IAAP,CAAYC,OAAZ,CAAoB3E,GAApB,CAAwB,WAAxB,KAAwC,EAH9I;AAAA,YAGPd,iBAHO,SAGPA,iBAHO;AAAA,YAGY0F,kCAHZ,SAGYA,kCAHZ;AAAA,YAGgDC,mBAHhD,SAGgDA,mBAHhD;AAAA,YAGqEC,YAHrE,SAGqEA,YAHrE;AAAA,YAGmFC,cAHnF,SAGmFA,cAHnF;;AAIf,cAAK7F,iBAAL,GAAyB8F,SAAS9F,iBAAT,CAAzB,CAJe,CAIuC;AACtD,cAAKoD,sBAAL,GAA8BsC,kCAA9B,CALe,CAKmD;AAClE,cAAKrI,mBAAL,GAA2ByI,SAASH,mBAAT,CAA3B,CANe,CAM2C;AAC1D,cAAKI,YAAL,GAAoBD,SAASF,YAAT,CAApB,CAPe,CAO8B;AAC7C,cAAKI,cAAL,GAAsBH,cAAtB,CARe,CAQ2B;AAC1C,cAAKzG,EAAL,GAAUf,aAAV;AACA;;AAVe,oBAWgC7D,yBAAY,EAX5C;AAAA,YAWPyL,eAXO,SAWPA,eAXO;AAAA,YAWUC,iBAXV,SAWUA,iBAXV;;AAYf,cAAKD,eAAL,GAAuB,CAAC,CAACA,eAAzB;AACA,cAAKC,iBAAL,GAAyB,CAAC,CAACA,iBAA3B;AACA,cAAKnC,mBAAL,GAA2B,CAAC,CAACkC,eAAF,IAAqB,CAAC,CAACC,iBAAlD;AACA,cAAK/E,eAAL,GAAuB,MAAKA,eAAL,CAAqBgF,IAArB,OAAvB;;AAEA;AACA,cAAK7C,aAAL,GAAqB,IAArB;AACA,cAAKD,eAAL,GAAuB,KAAvB,CAnBe,CAmBgB;AAC/B,cAAKtI,KAAL,GAAa;AACTqL,kBAAM,IADG;AAETC,+BAAmB;AAFV,SAAb;;AAKA;AACA,YAAMC,wBAAwBzF,8BAAcA,2BAAWC,GAAX,CAAe,uBAAf,CAAd,IAAyD,OAAvF;AACA,cAAKb,aAAL,GAAqBqG,yBAAyB,SAA9C;AA3Be;AA4BlB;;;;6CAEoB;AAAA;;AAAA,yBACgC,KAAKlK,OAAL,CAAaI,SAAb,IAA0B,EAD1D;AAAA,qCACToB,IADS;;AAAA,sDACyB,EADzB;AAAA,iDACDC,MADC;AAAA,gBACOtC,QADP,sCACkB,EADlB;AAAA,sBAEkC,KAAK6D,EAFvC;AAAA,2CAETmH,gBAFS;AAAA,gBAETA,gBAFS,wCAEU,EAFV;AAAA,kCAEcC,OAFd;AAAA,gBAEcA,OAFd,+BAEwB,KAFxB;;AAGjB,gBAAMC,mBAAmB,oBAAYF,gBAAZ,EAA8B1D,MAA9B,GAAuC0D,gBAAvC,GAA0D9F,SAAnF;AACA;AACA,gBAAIlF,SAASsI,EAAT,IAAe,KAAK9I,KAAL,CAAWC,WAA9B,EAA2C;AACvC,qBAAKwC,QAAL,CAAc;AACVxC,iCAAa;AADH,iBAAd;AAGH;AACD,gBAAM0L,eAAe,SAAfA,YAAe,CAAC9I,IAAD,EAAU;AAC7B,uBAAKJ,QAAL,CAAc,EAACM,WAAW,EAAZ,EAAd;AACA,uBAAKhD,KAAL,CAAW4L,YAAX,CAAwB9I,IAAxB;AACD,aAHD;AAIA,gBAAI,QAAO6I,gBAAP,uDAAOA,gBAAP,OAA4B,QAAhC,EAA0C;AACtC,oBAAME,kBAAkBhE,KAAKC,KAAL,CAAW,yBAAe6D,gBAAf,CAAX,CAAxB;AACA,oBAAI,CAAC9L,aAAL,EAAoB;AAChBA,oCAAgBgM,eAAhB;AACAD,iCAAaD,gBAAb;AACH,iBAHD,MAGO,IAAI9L,cAAckJ,EAAd,KAAqB4C,iBAAiB5C,EAA1C,EAA8C;AACjD6C,iCAAaD,gBAAb;AACA9L,oCAAgBgM,eAAhB;AACH,iBAHM,MAGA,IAAI,CAACpL,SAASsI,EAAV,IAAgB,CAAClJ,iBAAiB,EAAlB,EAAsBkJ,EAA1C,EAA8C;AAAE;AACnDlJ,oCAAgB8F,SAAhB;AACA,yBAAKrB,EAAL,CAAQC,gBAAR;AACH;AACJ,aAZD,MAYO,IAAI1E,iBAAiB,CAAC8L,gBAAtB,EAAwC;AAC3CC,6BAAaD,gBAAb;AACA9L,gCAAgB8F,SAAhB;AACH,aAHM,MAGA,IAAIlF,SAASsI,EAAT,IAAe,CAAC,CAAClJ,iBAAiB,EAAlB,EAAsBkJ,EAA1C,EAA8C;AAAE;AACnD,oBAAM8C,mBAAkBhE,KAAKC,KAAL,CAAW,yBAAerH,QAAf,CAAX,CAAxB;AACAZ,gCAAgBgM,gBAAhB;AACA,qBAAKvH,EAAL,CAAQwE,WAAR,CAAoBrI,QAApB;AACH;AACJ;;;4CAEmB;AAChB+D,mCAAOC,iBAAP,IAA4BD,uBAAOC,iBAAP,CAAyBC,eAAzB,EAA5B;AACA,iBAAKoH,aAAL;AACH;;;+CAEsB;AACnB9K,mBAAO+K,mBAAP,CAA2B,QAA3B,EAAqC,KAAKC,cAA1C;AACA,iBAAKC,WAAL;AACH;;;kDAEyBC,S,EAAW;AACjC;AADiC,gBAE3BC,aAF2B,GAETD,SAFS,CAE3BC,aAF2B;;AAGjC,gBAAIA,kBAAkB,IAAtB,EAA4B,KAAK/J,qBAAL;AAC/B;;;;AAkBD;wCACgB;AAAA;;AACZ;AACA,gBAAI,KAAK5C,WAAL,KAAqB,IAArB,IAA6B,KAAKyL,YAAL,KAAsB,CAAvD,EAA0D;AACtDmB,yCAASC,oBAAT,CAA8B,eAA9B,EAA+C,IAA/C,EAAqD,eAAO;AACxD,wBAAIzK,SAAS,EAAb;AACA,wBAAI6F,IAAIjH,MAAJ,KAAe,CAAnB,EAAsB;AAClBoB,iCAAS,EAAElB,mBAAmB,KAArB,EAA4BC,kBAAkB8G,IAAInC,KAAlD,EAAT;AACH,qBAFD,MAEO;AACH1D,iCAAS,EAAElB,mBAAmB,IAArB,EAA2BC,kBAAkB,EAA7C,EAAT;AACH;AACD,2BAAK+B,QAAL,CAAcd,MAAd;AACH,iBARD;AASH;AACJ;;AAED;;;;qCACa;AAAA;;AACT;AACA,gBAAI,KAAKpC,WAAL,KAAqB,IAArB,IAA6B,KAAKyL,YAAL,KAAsB,CAAvD,EAA0D;AAAA,6BACN,KAAKhL,KADC;AAAA,oBAC9CS,iBAD8C,UAC9CA,iBAD8C;AAAA,oBAC3BC,gBAD2B,UAC3BA,gBAD2B;;AAEtD,oBAAID,sBAAsB,KAA1B,EAAiC;AAC7B8B,kDAAQ8J,KAAR,CAAc3L,mBAAmBA,gBAAnB,GAAsC,SAApD;AACA,yBAAKmL,aAAL,GAF6B,CAEP;AACtB;AACH;AACD,oBAAIrF,SAAS,EAAE8F,SAAS,KAAKrB,cAAhB,EAAgCsB,SAAS,EAAzC,EAA6CC,QAAQ,CAArD,EAAb;AACAL,yCAASC,oBAAT,CAA8B,YAA9B,6BAAiD5F,MAAjD,GAA2D,eAAO;AAC9D,wBAAIgB,IAAIjH,MAAJ,KAAe,CAAnB,EAAsB;AAClBgC,sDAAQ8J,KAAR,CAAc7E,IAAInC,KAAlB;AACA,+BAAKwG,aAAL,GAFkB,CAEI;AACtB;AACH,qBAJD,MAIO,IAAIrE,IAAIjH,MAAJ,KAAe,CAAnB,EAAsB;AACzB,+BAAKkF,YAAL,CAAkB+B,IAAInC,KAAtB,EAA6B,IAA7B;AACH;AACJ,iBARD;AASH;AACJ;;AAED;;;;sCACa;AACT,gBAAI,KAAK9F,WAAL,KAAqB,IAArB,IAA6B,KAAKyL,YAAL,KAAsB,CAAvD,EAA0D;AACtDmB,yCAASC,oBAAT,CAA8B,aAA9B;AACH;AACJ;;AAgED;;;AAKA;;;AAwJA;;;AA8DA;;;;iCAoBS;AAAA;;AAAA,0BAKD,KAAKpM,KALJ;AAAA,gBAEDI,WAFC,WAEDA,WAFC;AAAA,gBAEYF,UAFZ,WAEYA,UAFZ;AAAA,gBAEwBC,UAFxB,WAEwBA,UAFxB;AAAA,gDAEoCyJ,aAFpC;AAAA,gBAEoCA,aAFpC,yCAEoD,KAFpD;AAAA,8CAE2DD,WAF3D;AAAA,gBAE2DA,WAF3D,uCAEyE,KAFzE;AAAA,gBAGDpJ,MAHC,WAGDA,MAHC;AAAA,gBAGOD,UAHP,WAGOA,UAHP;AAAA,gBAGmBL,WAHnB,WAGmBA,WAHnB;AAAA,gBAGgCkD,cAHhC,WAGgCA,cAHhC;AAAA,gBAGgDJ,SAHhD,WAGgDA,SAHhD;AAAA,gDAG2D1C,aAH3D;AAAA,gBAG2DA,aAH3D,yCAG2E,KAH3E;AAAA,gBAGkFoH,UAHlF,WAGkFA,UAHlF;AAAA,gBAG8F4D,IAH9F,WAG8FA,IAH9F;AAAA,gBAID1K,YAJC,WAIDA,YAJC;AAAA,gBAIaC,iBAJb,WAIaA,iBAJb;AAAA,gBAIgC0K,iBAJhC,WAIgCA,iBAJhC;AAAA,yBAMyD,KAAKvL,KAN9D;AAAA,qCAMG0M,IANH;AAAA,gBAMGA,IANH,+BAMU,QANV;AAAA,gBAMoBC,WANpB,UAMoBA,WANpB;AAAA,gBAMiC3F,mBANjC,UAMiCA,mBANjC;AAAA,uBAO4C,KAAK1C,EAPjD;AAAA,gBAOGmH,gBAPH,QAOGA,gBAPH;AAAA,0CAOqBmB,aAPrB;AAAA,gBAOqBA,aAPrB,sCAOqC,EAPrC,uBAOqD;;AAPrD,yBAQoE,KAAKtL,OAAL,CAAaI,SAAb,IAA0B,EAR9F;AAAA,qCAQGoB,IARH;;AAAA,sDAQiD,EARjD;AAAA,iDAQWC,MARX;AAAA,gBAQmBtC,QARnB,sCAQ8B,EAR9B;AAAA,gBAQkCoM,UARlC,eAQkCA,UARlC;AAAA,sCAQqDrJ,KARrD;AAAA,gBAQqDA,KARrD,gCAQ6D,EAR7D;;AASL,gBAAMsJ,cAActJ,MAAMC,IAAN,CAAW;AAAA,uBAAKgC,EAAEe,IAAF,KAAW,SAAhB;AAAA,aAAX,KAAyC,EAA7D;AACA,gBAAMuG,cAAcD,YAAYE,cAAZ,IAA8BF,YAAYE,cAAZ,EAAlD;AACA,gBAAMC,mBAAmB,CAAC,CAACxM,SAASsI,EAApC;;AAXK,wCAYqBmE,4BAAeC,SAAf,EAZrB;AAAA,gBAYGC,aAZH,yBAYGA,aAZH;;AAAA,gBAaGC,cAbH,GAasB7I,uBAAOC,iBAb7B,CAaG4I,cAbH;;;AAeL,mBACI;AAAA;AAAA,kBAAK,WAAU,iBAAf;AACI;AAAA;AAAA,sBAAK,WAAU,MAAf;AACK,qBAACJ,gBAAD,IACG;AAAA;AAAA,0BAAK,WAAU,QAAf;AACI;AAAA;AAAA,8BAAK,WAAU,IAAf;AACI;AACI,sCAAK,MADT;AAEI,2CAAU,OAFd;AAGI,oCAAG,aAHP;AAII,6CAAY,6CAJhB;AAKI,uCAAO/M,WALX;AAMI,qCAAK;AAAA,2CAAM,OAAKsF,WAAL,GAAmB9B,MAAMA,GAAG4J,KAAlC;AAAA,iCANT;AAOI,0CAAU,kBAAClE,CAAD;AAAA,2CAAO,OAAKrE,YAAL,CAAkBqE,EAAEmE,MAAF,CAASjI,KAA3B,CAAP;AAAA,iCAPd;AAQI,yCAAS,KAAKL,WARlB;AASI,wCAAQ,KAAKiB,UATjB;AAUI,2CAAW,KAAKiD,YAVpB;AAWI,0CAAU0D,cAAc;AAX5B,8BADJ;AAcI,0DAAC,0BAAD;AACI,2CAAU,aADd;AAEI,uCAAO,GAFX;AAGI,sCAAK,aAHT;AAII,yCAASvM;AAJb;AAdJ,yBADJ;AAsBI;AAAA;AAAA,8BAAK,WAAU,IAAf;AAEQ,iCAAKd,WAAL,KAAqB,IAArB,IAA6B,KAAKyL,YAAL,KAAsB,CAAnD,IACA,8BAAC,2BAAD,IAAO,WAAU,MAAjB,EAAwB,SAAS,KAAK5E,eAAtC,EAAuD,MAAK,MAA5D,GAHR;AAMQ,iCAAK8E,eAAL,GACI,8BAAC,2BAAD,IAAO,MAAK,UAAZ,EAAuB,WAAU,MAAjC,EAAwC,SAAS,KAAKf,iBAAtD,GADJ,GAIQ,SAAS,KAAK7H,mBAAL,KAA6B,CAAtC,IAA2C,CAACqH,WAA5C,IACA;AAAA;AAAA,kCAAK,WAAU,yBAAf;AACI,8DAAC,2BAAD,IAAO,WAAU,MAAjB,EAAwB,SAAS;AAAA,+CAAM,OAAKD,mBAAL,CAAyB,CAAzB,CAAN;AAAA,qCAAjC,EAAoE,MAAK,eAAzE,GADJ;AAEI,8DAAC,0BAAD;AACI,+CAAU,WADd;AAEI,2CAAO,GAFX;AAGI,0CAAK,QAHT;AAII,6CAASC;AAJb;AAFJ,6BAXhB;;AAuBQ;AACA,iCAAKuB,eAAL,IACA,8BAAC,0BAAD,IAAM,KAAK;AAAA,2CAAQ,OAAKd,OAAL,GAAemD,IAAvB;AAAA,iCAAX,EAAwC,UAAU,KAAKjD,YAAvD;AAzBR;AAtBJ,qBAFR;AAsDK0C,wCACG;AAAA;AAAA,0BAAK,sBAAmB,KAAK1K,mBAAL,GAA2B,EAA3B,GAAgC,wBAAnD,CAAL;AACI;AAAA;AAAA,8BAAK,WAAU,OAAf;AACI,mEAAK,SAAS,KAAKF,cAAnB,EAAmC,KAAKW,aAAavC,SAAS0C,SAAtB,IAAmC,KAAKrC,SAAL,CAAeC,gBAA1F,GADJ;AAEKV,2CAAe,8BAAC,qBAAD,IAAa,UAAUI,QAAvB,EAAiC,WAAWJ,WAA5C,EAAyD,YAAYF,UAArE,EAAiF,aAAa,KAAKuG,gBAAnG,GAFpB;AAIS2G,8CAAkBA,eAAeI,QAAjC,IAA6C,8BAAC,2BAAD,IAAO,MAAK,SAAZ,EAAsB,WAAU,aAAhC,GAJtD;AAOQJ,8CAAkBA,eAAeI,QAAjC,IAA6C;AAAA;AAAA,kCAAK,WAAU,iBAAf;AACzC;AAAA;AAAA,sCAAK,WAAU,cAAf;AAA+BJ,mDAAeK,cAAf,KAAkC,CAAlC,GAAsC,MAAtC,GAA+CL,eAAeK,cAAf,GAAgC;AAA9G,iCADyC;AAEzC;AAAA;AAAA,sCAAQ,QAAO,MAAf,EAAsB,SAAS,KAAK7I,qBAApC,EAA2D,WAAU,gBAArE;AAAA;AAAA,iCAFyC;AAGzC,8DAAC,2BAAD,IAAO,MAAK,SAAZ,EAAsB,WAAU,aAAhC;AAHyC,6BAPrD;AAcOwI,8CAAkBA,eAAeI,QAAjC,IAA6C,8BAAC,2BAAD,IAAO,MAAK,SAAZ,EAAsB,SAAS,mBAAM;AAAE,2CAAKjD,oBAAL;AAA4B,iCAAnE,EAAqE,WAAU,aAA/E;AAdpD,yBADJ;AAkBI;AAAA;AAAA,8BAAK,WAAU,2BAAf,EAA2C,SAAS;AAAA,2CAAM,OAAK7H,aAAL,CAAmB,CAAnB,CAAN;AAAA,iCAApD;AACI;AAAA;AAAA,kCAAK,WAAU,iBAAf;AACKlC,yCAASkN,IAAT,IAAiB;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoBlN,6CAASkN;AAA7B,iCADtB;AAEI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoBlN,6CAASmN;AAA7B;AAFJ,6BADJ;AAKI;AAAA;AAAA,kCAAK,WAAU,KAAf;AACI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB,gEAAgBnN,SAASoN,cAAzB,EAAyCjB,cAAciB,cAAvD;AAApB,iCADJ;AAEI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAA;AAAA;AAFJ,6BALJ;AASI;AAAA;AAAA,kCAAK,WAAU,KAAf;AACI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB,yCAAKpE,cAAL,CAAoBhJ,QAApB;AAApB,iCADJ;AAEI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB2M,kDAAcU;AAAlC;AAFJ,6BATJ;AAaI;AAAA;AAAA,kCAAK,WAAU,KAAf;AACI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB,gEAAgBrN,SAASsN,eAAzB,EAA0CnB,cAAcmB,eAAxD,KAA4E;AAAhG,iCADJ;AAEI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAA;AAAA;AAFJ;AAbJ,yBAlBJ;AAoCI;AAAA;AAAA,8BAAK,WAAU,OAAf;AACK,6BAAChB,WAAD,IAAgBF,cAAa,EAA7B,IAAmC,8BAAC,2BAAD,IAAO,MAAK,aAAZ,EAA0B,SAAS,KAAKxJ,cAAxC;AADxC;AApCJ;AAvDR,iBADJ;AA6GK,iBAAC,CAAC,KAAKd,mBAAP,IAA8B;AAAA;AAAA,sBAAK,WAAU,OAAf;AAC3B;AAAA;AAAA,0BAAQ,MAAK,SAAb,EAAuB,SAAS;AAAA,uCAAM,OAAKoH,mBAAL,CAAyB,CAAzB,CAAN;AAAA,6BAAhC,EAAmE,WAAU,KAA7E,EAAmF,UAAUE,aAA7F;AACK,yBAACA,aAAD,IAAkB,MADvB;AAEI,sDAAC,0BAAD;AACI,uCAAU,oBADd;AAEI,mCAAO,GAFX;AAGI,kCAAK,QAHT;AAII,qCAASA;AAJb,0BAFJ;AAQK,yBAAC,CAACtJ,UAAF,IAAgB;AAAA;AAAA,8BAAK,WAAU,OAAf;AAAwBA;AAAxB;AARrB;AAD2B,iBA7GnC;AAyHI,8CAAC,oBAAD;AACI,0BAAMmM,IADV;AAEI,iCAAaC,WAFjB;AAGI,oCAAgBvJ,cAHpB;AAII,gCAAYsE,UAJhB;AAKI,4BAAQlH,MALZ;AAMI,+BAAWJ,UANf;AAOI,8BAAS,eAPb;AAQI,gCAAYD,UARhB;AASI,yCAAqB6G,mBATzB;AAUI,iCAAa,KAAKT;AAVtB,kBAzHJ;AAqII;AAAC,qDAAD;AAAA;AACI,8BAAM1F,iBADV;AAEI,mCAAU,mBAFd;AAGI,+BAAM,KAHV;AAII,kCAAU,IAJd;AAKI,qCAAY,iBALhB;AAMI,gCAAQ,KAAKiE;AANjB;AAQI;AAAA;AAAA,0BAAK,WAAU,OAAf;AAAA;AAAA,qBARJ;AASI;AAAA;AAAA,0BAAK,WAAU,QAAf;AACI;AAAA;AAAA,8BAAK,WAAU,eAAf;AACI,0DAAC,2BAAD,IAAO,MAAK,SAAZ,GADJ;AAEI;AAAA;AAAA;AAAA;AAAA;AAFJ;AADJ,qBATJ;AAeI;AAAA;AAAA,0BAAK,WAAU,OAAf;AACI;AAAA;AAAA,8BAAK,WAAU,KAAf;AACI,mEAAK,KAAK,KAAKhE,SAAL,CAAeC,gBAAzB,GADJ;AAEI,0DAAC,2BAAD,IAAO,MAAK,SAAZ;AAFJ,yBADJ;AAKI;AAAA;AAAA,8BAAK,WAAU,KAAf;AAEQsM,8CAAkBA,eAAeK,cAAf,KAAkC,CAApD,GAAwD;AAAA;AAAA;AAAA;AAChDjN,yCAASkN,IADuC;AAAA;AACzBlN,yCAAS2H,UAAT,CAAoBuF,IADK;AAAA;AAAA,6BAAxD,GAEU;AAAA;AAAA;AACLlN,yCAASkN,IADJ;AAAA;AACcN,kDAAkBA,eAAeK,cAD/C;AAAA;AACuEjN,yCAAS2H,UAAT,CAAoBuF,IAD3F;AAAA;AAAA;AAJlB;AALJ,qBAfJ;AA+BQN,sCAAkB;AAAA;AAAA,0BAAK,WAAU,QAAf;AACbA,0CAAkBA,eAAeW,aAAjC,IAAkDX,eAAeW,aAAf,CAA6BC,mBAA/E,IAAsGZ,eAAeW,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDC,gBAA1J,IAA8K;AAAA;AAAA,8BAAK,WAAU,MAAf;AAAA;AAA0Bb,2CAAeW,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDC;AAA9E,yBADjK;AAEbb,0CAAkBA,eAAeW,aAAjC,IAAkDX,eAAeW,aAAf,CAA6BC,mBAA/E,IAAsGZ,eAAeW,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDE,YAA1J,IAA0K;AAAA;AAAA,8BAAK,WAAU,MAAf;AAAA;AAA0Bd,2CAAeW,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDE;AAA9E,yBAF7J;AAIVd,0CAAkBA,eAAeW,aAAjC,IAAmDX,eAAeW,aAAf,CAA6BC,mBAAhF,IAAuGZ,eAAeW,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDG,eAApD,CAAoEC,GAApE,CAAwE,UAAC/I,KAAD,EAAQgJ,KAAR,EAAkB;AAC7L,gCAAIvM,QAAQ,CAAZ;AACA,gCAAIsL,eAAeW,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDC,gBAAxD,EAA0E;AACtEnM,yCAAS,CAAT;AACH;AACD,gCAAIsL,eAAeW,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDE,YAAxD,EAAsE;AAClEpM,yCAAS,CAAT;AACH;AACD,mCAAQ;AAAA;AAAA,kCAAK,WAAU,MAAf;AAAuBA,wCAAQ,CAAR,GAAYuM,KAAnC;AAAA;AAA2ChJ,sCAAM3B;AAAjD,6BAAR;AACH,yBATsG;AAJ7F;AA/B1B;AArIJ,aADJ;AAyLH;;;EAzqBmB4K,gB,WAiBbC,S,GAAY;AACf5C,kBAAc6C,oBAAUC,IADT;AAEf3H,oBAAgB0H,oBAAUC;AAFX,C,UAKZC,Y,GAAe;AAClBpN,aAAQkN,oBAAUC,IADA;AAElBhN,eAAW+M,oBAAUG;AAFH,C,UAKfC,Y,GAAe;AAClBjD,kBAAc,wBAAM,CAAG;AADL,C;;kBAgpBX9L,S","file":"index.js","sourcesContent":["/**\r\n * @memberChange member 状态发生变化时的回调\r\n * @memberSearched 录入框会员状态发生变化时的回调 memberSearched(value, type) // type: searched 触发搜索 | err 搜索接口错误 | close 关闭会员\r\n *\r\n */\r\nimport React, { Component, Fragment } from 'react';\r\nimport { Button, Input } from 'antd';\r\nimport { observer } from 'mobx-react';\r\nimport { toJS } from 'mobx';\r\nimport PropTypes from 'prop-types'\r\nimport { Ticon, Message, ModalWraper, Spin, Keyboard,Scan } from 'tplus-components-touch';\r\nimport { env, nativeMs, localStore , stores} from 'mutants-microfx';\r\nimport { Action } from 'mutants-appfx'\r\nimport { platform, enumController } from 'mutants-util';\r\nimport MemberModal from './MemberShow';\r\nimport MemberPhoto from './MemberPhoto';\r\nimport memberStore from './api';\r\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\r\nimport './index.less';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\nlet currentMember;\r\n\r\n@observer\r\nclass MemberTag extends Component {\r\n\r\n state = {\r\n searchValue: '',\r\n titleModal: '',\r\n memberShow: false,\r\n memberPhoto: false,\r\n searchVisible: false,\r\n shopPerson: 0,\r\n status: 2, // 0会员详情、1到店会员、2人脸识别\r\n dtMember: {}, // 会员信息\r\n connectCardStatus: false, //连接IC卡状态\r\n connectCardError: '', //连接IC卡错误后记录错误信息\r\n isMemberCare: false,\r\n isMemberCareModal: false\r\n };\r\n\r\n static propTypes = {\r\n memberChange: PropTypes.func,\r\n memberSearched: PropTypes.func,\r\n }\r\n\r\n static contextTypes = {\r\n onEvent:PropTypes.func,\r\n viewModel: PropTypes.object,\r\n }\r\n\r\n static defaultProps = {\r\n memberChange: () => { },\r\n }\r\n\r\n sys_parms = {\r\n emptyMemberImage: `${window.ossAliyuncsFileURL}/default_avatar.png`,\r\n memberBirthday: `${window.ossAliyuncsFileURL}/pictures/member_birthday.png`\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.hasElectron = hasElectron;\r\n const { isMemberInputType, MemberMeStorageCardInputByKeyBoard, OpenFaceRecognition, ICCardServer, ICCardPassword } = stores.user.options.get('loginInfo') || {};\r\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\r\n this.isStorageCardInputType = MemberMeStorageCardInputByKeyBoard; // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用\r\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\r\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\r\n this.iCCardPassword = ICCardPassword; //IC卡密码\r\n this.ms = memberStore;\r\n //移动端环境下,没有读取IC卡的方式。\r\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\r\n this.isHorizontalPad = !!isHorizontalPad;\r\n this.isHorizontalSunMi = !!isHorizontalSunMi;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n this.handleReadICard = this.handleReadICard.bind(this);\r\n\r\n //记录键盘录入信息的开始时间\r\n this.keypressStime = null;\r\n this.iseyboardKEnter = false; //是否为键盘输入\r\n this.state = {\r\n isCC: true,\r\n isShowBirthdayTip: false,\r\n };\r\n\r\n //是否单据模式\r\n const voucherDefaultPosMode = localStore && localStore.get('voucherDefaultPosMode') || 'touch'\r\n this.isVoucherMode = voucherDefaultPosMode == 'voucher';\r\n }\r\n\r\n componentWillReact() {\r\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\r\n const { selectMemberInfo = {}, isClear = false } = this.ms;\r\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\r\n // 有会员的话清空搜索框文本\r\n if (dtMember.ID && this.state.searchValue) {\r\n this.setState({\r\n searchValue: ''\r\n })\r\n }\r\n const memberChange = (data) => {\r\n this.setState({newAvatar: ''});\r\n this.props.memberChange(data);\r\n }\r\n if (typeof memberChangeData === 'object') {\r\n const deepCloneMember = JSON.parse(JSON.stringify(memberChangeData));\r\n if (!currentMember) {\r\n currentMember = deepCloneMember;\r\n memberChange(memberChangeData);\r\n } else if (currentMember.ID !== memberChangeData.ID) {\r\n memberChange(memberChangeData);\r\n currentMember = deepCloneMember;\r\n } else if (!dtMember.ID && (currentMember || {}).ID) { // DataModel 中清掉member,手动同步 member\r\n currentMember = undefined;\r\n this.ms.clearSeletMember();\r\n }\r\n } else if (currentMember && !memberChangeData) {\r\n memberChange(memberChangeData);\r\n currentMember = undefined;\r\n } else if (dtMember.ID && !(currentMember || {}).ID) { // DataModel 中存在member,手动同步 member\r\n const deepCloneMember = JSON.parse(JSON.stringify(dtMember));\r\n currentMember = deepCloneMember;\r\n this.ms.seletMember(dtMember);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n stores.selectMemberStore && stores.selectMemberStore.clearMemberCare()\r\n this.connectRfCard();\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.windowOnresize);\r\n this.closeRfCard();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n //接受socket传递过来的信息\r\n let { isSendMessage } = nextProps;\r\n if (isSendMessage === true) this.getInStoreMemberCount()\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n return new Promise(resolve => {\r\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', { ...methodArgs, fn: function(result) {\r\n resolve(result);\r\n }});\r\n });\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, 'ok');\r\n }\r\n })\r\n }\r\n }\r\n\r\n //IC卡关闭\r\n closeRfCard(){\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('CloseRfCard')\r\n }\r\n }\r\n\r\n openPhotoModal = () => {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (!isNewRetailBCPos) {\r\n if (!this.openFaceRecognition) {\r\n Message.warn('未启用人脸识别,需要先开启人脸识别功能');\r\n return;\r\n }\r\n this.setState({\r\n memberPhoto: true,\r\n titleModal: '选择头像'\r\n })\r\n }\r\n }\r\n\r\n openShowModal = (status, res) => {\r\n let title = '';\r\n const { data: { Member = {} } = {} } = this.context.viewModel || {};\r\n const {newAvatar} = this.state;\r\n const jsMember = toJS(Member);\r\n const updateMember = newAvatar ? {...jsMember, ImageFile: newAvatar} : jsMember;\r\n switch (status) {\r\n case 0:\r\n title = '会员详情';\r\n this.setState({ viewMemberInfo: updateMember })\r\n break;\r\n case 1:\r\n title = '到店会员';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n case 2:\r\n title = '人脸识别';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n }\r\n this.setState({\r\n status: status,\r\n memberShow: true,\r\n titleModal: title\r\n })\r\n }\r\n\r\n openCloseModal = () => {\r\n const { setMemberFocus } = this.props;\r\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\r\n const uiState = memberStore.uiState;\r\n const IsIntegralExchange = memberStore.store && memberStore.store.data && memberStore.store.data.IsIntegralExchange\r\n if (!!uiState.tip) {\r\n Message.info(uiState.tip)\r\n return;\r\n }\r\n ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '关闭会员',\r\n content: `${IsIntegralExchange ? \"关闭会员将会清空商品信息!\" : \"确定要关闭该会员吗?\"}`,\r\n onOk: () => {\r\n this.ms.clearSeletMember();\r\n stores.selectMemberStore.clearMemberCare();\r\n typeof setMemberFocus == 'function' && setMemberFocus();\r\n }\r\n })\r\n }\r\n\r\n //关闭生日提醒\r\n handleCloseBirthdayModal = () => {\r\n this.ms.changeBirthdayShow(false);\r\n }\r\n\r\n //会员关怀-送礼\r\n handleMemberCareModal = () => {\r\n this.setState({ isMemberCareModal: true })\r\n }\r\n handleMemberCareModalCancel = () => {\r\n this.setState({ isMemberCareModal: false })\r\n }\r\n\r\n handleSearch = (val) => {\r\n this.setState({ searchValue: val })\r\n }\r\n\r\n handleFocus = (el) => {\r\n if (this.isMemberInputType) return;\r\n if (this.isVoucherMode) {\r\n Keyboard.open(\r\n v => {\r\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\r\n this.handleSearch(value);\r\n },\r\n () => { this.searchMember(undefined, 'ok') },\r\n this.keyboardClose,\r\n {bottom: 60}\r\n )()\r\n } else {\r\n Keyboard.open2(\r\n (v) => {\r\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\r\n this.handleSearch(value);\r\n },\r\n () => {\r\n this.searchMember(undefined, 'ok');\r\n },\r\n this.keyboardClose,\r\n 'ByMember',\r\n localStore.get('ByMember')\r\n )\r\n }\r\n }\r\n\r\n keyboardClose = () => {\r\n this.inputSearch.blur();\r\n }\r\n\r\n handleBlur = () => {\r\n if (this.isVoucherMode) {\r\n Keyboard.close();\r\n } else {\r\n Keyboard.close2();\r\n }\r\n }\r\n\r\n handleReadICard = () => {\r\n this.readRfCard();\r\n }\r\n\r\n handleShowModal = (type, params) => {\r\n if (params) {\r\n this.setState({ dtMember: params, memberShow: type })\r\n } else {\r\n this.setState({ memberShow: type })\r\n }\r\n }\r\n\r\n handlePhotoModal = (type, newAvatar) => {\r\n if (newAvatar) {\r\n this.setState({\r\n newAvatar,\r\n memberPhoto: type\r\n })\r\n } else {\r\n this.setState({ memberPhoto: type })\r\n }\r\n }\r\n\r\n searchMember = (val, type) => {\r\n if(!stores.offlineSys.shouldInOffline()) return;\r\n if (!this.ms || this.searchLoading) return;\r\n const {searchValue} = this.state;\r\n val = val || (searchValue || '').trim();\r\n if (!val) return;\r\n const { memberSearched, selectMemberSuccess,setMemberFocus,getMemberBirthday, getMeStorageCard } = this.props;\r\n this.searchLoading = true;\r\n this.setState({searchVisible: true});\r\n this.ms.getSearchMember({\r\n currentPage: 1,\r\n pageSize: 10,\r\n key: val,\r\n isSingleMember: true\r\n }).then(async (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 if (data.length === 1 && info) {\r\n const { data: { RetailDetails = [] } = {} } = this.context.viewModel || {};\r\n let isArrowPriceChange = await this.controllerEvent('memberPriceChangeValidate', { member: info, retailDetails: toJS(RetailDetails)});\r\n if (!isArrowPriceChange) {\r\n this.setState({searchVisible: false, searchValue: ''});\r\n return;\r\n }\r\n }\r\n this.setState({searchVisible: false, columnInfo});\r\n if (info && info.MemberType && info.MemberType.IsStorage && this.isStorageCardInputType && this.iseyboardKEnter){\r\n getMeStorageCard && getMeStorageCard(true);\r\n this.handleSearch('');\r\n this.keypressStime = null;\r\n } else {\r\n getMeStorageCard && getMeStorageCard(false);\r\n }\r\n memberSearched && memberSearched(info, 'searched');\r\n if (info) {\r\n if (data.length > 1) {\r\n stores.drawerStore.init({\r\n title: '会员管理',\r\n key: 'member',\r\n onHide:()=>{\r\n },\r\n subKey: 'memberManager',\r\n listArr: data,\r\n });\r\n this.setState({\r\n searchValue: null\r\n })\r\n } else {\r\n memberSearched && memberSearched(info, 'searched');\r\n userInfoFormat(info);\r\n if (errMessageTip(info)) return;\r\n this.ms.seletMember(info, true);\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n this.handleBlur();\r\n selectMemberSuccess && selectMemberSuccess();\r\n getMemberBirthday && getMemberBirthday(info.ID, (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n });\r\n }\r\n } else {\r\n if (type === 'ok'){\r\n Message.warn('会员不存在');\r\n if (this.isMobileEnvironment) {\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n }\r\n typeof setMemberFocus == 'function' && setMemberFocus();\r\n }\r\n }\r\n }).catch(err => {\r\n this.setState({searchVisible: false});\r\n this.searchLoading = false;\r\n memberSearched && memberSearched(undefined, 'err');\r\n })\r\n }\r\n\r\n //获取当前到店会员数量\r\n getInStoreMemberCount = () => {\r\n if (!this.ms) return;\r\n this.ms.getInStoreMemberCount().then(res => {\r\n const {data: {data: shopPerson} = {}} = res || {};\r\n this.setState({shopPerson});\r\n this.resetInShopMemberTimer(shopPerson);\r\n });\r\n }\r\n\r\n onKeyPressed = (e) => {\r\n const keyCode = e && e.keyCode\r\n if (keyCode === 13) {\r\n if (this.isMemberInputType) {\r\n let stime = this.keypressStime;\r\n let etime = Date.parse(new Date());\r\n if (etime - stime > 300) {\r\n this.handleSearch('')\r\n this.keypressStime = null;\r\n return Message.warn('未启用键盘录入功能');\r\n }\r\n this.keypressStime = null;\r\n }\r\n this.iseyboardKEnter = Date.parse(new Date()) - this.keypressStime > 300;\r\n if (this.isStorageCardInputType) {\r\n this.keypressStime = null;\r\n }\r\n if (this.searchLoading) return;\r\n this.searchMember(undefined, 'ok');\r\n }\r\n else if (this.isMemberInputType && !this.keypressStime && !(keyCode == 8)) {\r\n this.keypressStime = Date.parse(new Date())\r\n } else if (this.isStorageCardInputType && !this.keypressStime && !(keyCode == 8) && !this.isMemberInputType) {\r\n this.keypressStime = Date.parse(new Date())\r\n }\r\n }\r\n\r\n computedCoupon = (member = {}) => {\r\n return member.MemberCouponCount ? member.MemberCouponCount : '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\r\n setIsShowBirthdayTip = () => {\r\n stores.selectMemberStore.clearMemberCare()\r\n }\r\n\r\n getMemberBirthdayInfo = (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n }\r\n\r\n render() {\r\n const {\r\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\r\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible = false, columnInfo, isCC,\r\n isMemberCare, isMemberCareModal, isShowBirthdayTip\r\n } = this.state;\r\n const { mode = 'formal', authProcess, selectMemberSuccess } = this.props;\r\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\r\n const { data: { Member: dtMember = {}, IdbusiType } = {}, items = [] } = this.context.viewModel || {};\r\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\r\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\r\n const isSelectedMember = !!dtMember.ID;\r\n const { Differentiate } = enumController.getEnumOj();\r\n const { memberCareInfo } = stores.selectMemberStore;\r\n\r\n return (\r\n <div className='MemberContainer'>\r\n <div className='left'>\r\n {!isSelectedMember &&\r\n <div className='search'>\r\n <div className='b1'>\r\n <Input\r\n type='text'\r\n className=\"input\"\r\n id='memberPoint'\r\n placeholder='扫描/输入会员号'\r\n value={searchValue}\r\n ref={el => this.inputSearch = el && el.input}\r\n onChange={(e) => this.handleSearch(e.target.value)}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n onKeyDown={this.onKeyPressed}\r\n disabled={IdbusiType == 39}\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 || this.sys_parms.emptyMemberImage} />\r\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"shengri\" className='shengriIcon'></Ticon>\r\n }\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <div className='birthdayContent'>\r\n <div className='birthdayWarn'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\r\n <Button colors=\"warn\" onClick={this.handleMemberCareModal} className='check bg-theme'>查看</Button>\r\n <Ticon type=\"cuowuda\" className='cuowudaIcon'></Ticon>\r\n </div>\r\n }\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"cuowuda\" onClick={() => { this.setIsShowBirthdayTip()}} className='cuowudaIcon'></Ticon>\r\n }\r\n </div>\r\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\r\n <div className='one oneDtMember'>\r\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\r\n <div className='b'>{dtMember.CardCode}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\r\n <div className='b'>余额</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{this.computedCoupon(dtMember)}</div>\r\n <div className='b'>{Differentiate.COUPON}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\r\n <div className='b'>积分</div>\r\n </div>\r\n </div>\r\n <div className='close'>\r\n {!isTakeTheir && IdbusiType !=39 && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n {/* {\r\n memberCareInfo && memberCareInfo.isTicket ? <div className='float'>\r\n <div className='txt'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\r\n <div className='btn' onClick={this.handleMemberCareModal}>查看</div>\r\n <div className='cancel'>\r\n <Ticon type='guanbixiao' onClick={() => {\r\n this.setIsShowBirthdayTip()\r\n }}/>\r\n </div>\r\n </div> : null\r\n } */}\r\n {!!this.openFaceRecognition && <div className='right'>\r\n <Button type=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\r\n {!inShopLoading && '到店会员'}\r\n <Spin\r\n className='inshop-member-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={inShopLoading}\r\n />\r\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\r\n </Button>\r\n </div>}\r\n <MemberModal\r\n mode={mode}\r\n authProcess={authProcess}\r\n viewMemberInfo={viewMemberInfo}\r\n columnInfo={columnInfo}\r\n status={status}\r\n showModal={memberShow}\r\n storeKey='memberManager'\r\n titleModal={titleModal}\r\n selectMemberSuccess={selectMemberSuccess}\r\n handleModal={this.handleShowModal}\r\n />\r\n <ModalWraper\r\n show={isMemberCareModal}\r\n className='member-care-modal'\r\n width='688'\r\n centered={true}\r\n memberClass='memberCareWidth'\r\n cancel={this.handleMemberCareModalCancel}\r\n >\r\n <div className='first'>会员生日关怀</div>\r\n <div className='second'>\r\n <div className='secondContent'>\r\n <Ticon type='dengpao'/>\r\n <span>口头关怀客户,提示引导客户去线上商城领取权益。</span>\r\n </div>\r\n </div>\r\n <div className='third'>\r\n <div className='one'>\r\n <img src={this.sys_parms.emptyMemberImage} />\r\n <Ticon type='shengri' />\r\n </div>\r\n <div className='two'>\r\n {\r\n memberCareInfo && memberCareInfo.daysToBirthday === 0 ? <span>\r\n 今天是{dtMember.Name}的生日,该会员是{dtMember.MemberType.Name},可享受以下权益\r\n </span> : <span>\r\n {dtMember.Name}会员还有{memberCareInfo && memberCareInfo.daysToBirthday}天生日,该会员是{dtMember.MemberType.Name},可享受以下权益\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n {\r\n memberCareInfo && <div className='fourth'>\r\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple && <div className='item'>1.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple}</div>}\r\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive && <div className='item'>2.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive}</div>}\r\n {\r\n memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].couponIdMapList.map((value, index) => {\r\n let count = 0;\r\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple) {\r\n count += 1;\r\n }\r\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive) {\r\n count += 1;\r\n }\r\n return (<div className='item'>{count + 1 + index}.{value.name}</div>)\r\n })\r\n }\r\n </div>\r\n }\r\n </ModalWraper>\r\n </div>\r\n );\r\n }\r\n}\r\nexport default MemberTag\r\n"]}
@@ -166,10 +166,9 @@
166
166
  align-items : Center;
167
167
  cursor: pointer;
168
168
  .one {
169
- width : 82px;
169
+ width : 120px;
170
170
  overflow: hidden;
171
171
  padding-left : 5px;
172
-
173
172
  .a {
174
173
  overflow : hidden;
175
174
  white-space : nowrap;
@@ -193,6 +192,14 @@
193
192
  //line-height : 18px;
194
193
  }
195
194
  }
195
+ .oneDtMember {
196
+ .b {
197
+ width: 120px;
198
+ word-wrap: break-word;
199
+ word-break: break-all;
200
+ overflow: hidden;
201
+ }
202
+ }
196
203
 
197
204
  .two {
198
205
  text-align: center;
@@ -799,7 +799,8 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
799
799
  var _ref16 = _this5.state || {},
800
800
  setPwdShortKey = _ref16.setPwdShortKey;
801
801
 
802
- var newStyle = _mutantsUtil.localStore && _mutantsUtil.localStore.get('voucherDefaultPosMode') == 'voucher';
802
+ var voucherDefaultPosMode = _mutantsUtil.localStore && _mutantsUtil.localStore.get('voucherDefaultPosMode') || 'touch';
803
+ var newStyle = voucherDefaultPosMode == 'voucher';
803
804
  // 控制显示修改密码还是设置密码
804
805
  if (menu.auth === 'ModifyPassword') {
805
806
  return _react2.default.createElement(
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/memberMenu/index.js"],"names":["menus2","key","name","visible","icon","auth","SHORTCUT_KEY","display","finish","semi","menus","observer","props","title","state","modifyPass","passwordTitle","btnDissabled","warnContent","setPwdShortKey","bindCardShow","bindCardBtnDisabled","api","MemberStore","changeDisplay","setting_setData","localStore","get","JSON","parse","localStorage","getItem","length","forEach","settingItem","ParamType","Name","Value","storeKey","item","setState","setTimeout","changeState","flag","filterMenus","member","memberEnumState","list","MemberState","Id","notusing","loss","filter","menu","controllerEvent","memberDto","operationName","viewM","context","viewModel","getViewItem","AuthType","MemberType","IsStorage","WalletEnabled","Message","warn","storageInit","value","password","loadUserInfo","selected","ID","params","cardNo","cardPwd","memberId","isStorageCardBindMember","MeStorageCardBind","ret","success","handleEvent","then","platform","isHorizontalSunMi","storage","changePassword","reportLoss","cancelLoss","openCard","resetPassword","bindCard","count","changeIsAllAuthority","refundShow","authProcess","modifyMember","cardList","id","storageBalanceAmount","presentAmount","map","index","status","execute","getMenuItem","changePasswordClick","changePasswordCancel","ref","changeBtnDisabled","bindCardClick","changeBindCardCancel","bindCardRef","changeBindCardBtnDisabled","Component","contextTypes","onEvent","PropTypes","func","object","stores","tags","indexOf","methodName","methodArgs","Action","fromJS","memberStore","settlementControlEvent","onSettleSuccess","modalRouter","hide","callback","show","url","className","memberClass","onHide","handleOk","handleCancel","handleChange","ModalWraper","confirm","content","onOk","RecordLoss","Success","Msg","Data","dt","Ts","error","catch","console","log","e","onCancel","UnRecordLoss","using","GetMemberDTO","selectMemberStore","setCurMemberInfo","modalType","closeCk","Loading","destroyOnClose","disabled","bindCardFn","loadingBtn","newStyle","click"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { observer, stores } from \"mutants-microfx\"\r\nimport { Action } from 'mutants-appfx'\r\nimport { toJS } from 'mobx';\r\nimport './style.less';\r\nimport { Ticon, ModalWraper, Message,Loading,Input } from 'tplus-components-touch'\r\nimport { platform, localStore, enumController } from 'mutants-util';\r\nimport { formatPrecision } from '../../utils'\r\nimport ModifyPass from './modifyPass'\r\nimport ChangeMemberCard from './changeMemberCard'\r\nimport { PropTypes } from 'prop-types'\r\nimport MemberStore from '../api';\r\nimport BindCard from './bindCard'\r\n\r\n// 会员管理menuList\r\nlet menus2 = [{\r\n key: 'storage',\r\n name: '储值',\r\n visible: true,\r\n icon: 'chuzhi',\r\n auth:'Storage',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'changePassword',\r\n name: '修改密码',\r\n visible: true,\r\n icon: 'xiugaimima1',\r\n auth:'ModifyPassword',\r\n SHORTCUT_KEY: ''\r\n},\r\n// {\r\n// key: 'reportLoss',\r\n// name: '挂失',\r\n// visible: true,\r\n// icon: 'guashi',\r\n// auth:'RecordLoss'\r\n\r\n// },\r\n {\r\n key: 'cancelLoss',\r\n name: '取消挂失',\r\n visible: true,\r\n icon: 'quxiaoguashi',\r\n auth:'RecordLoss',\r\n SHORTCUT_KEY: ''\r\n},\r\n// 2.0不支持开卡\r\n// {\r\n// key: 'openCard',\r\n// name: '开卡',\r\n// visible: true,\r\n// icon: 'quxiaoguashi',\r\n// auth:'MemberCardActive',\r\n// SHORTCUT_KEY: ''\r\n// },\r\n {\r\n key: 'resetPassword',\r\n name: '重置密码',\r\n visible: true,\r\n icon: 'chongzhimima',\r\n auth:'PosResetPwd',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'bindCard',\r\n name: '绑卡',\r\n visible: true,\r\n icon: 'bangka',\r\n auth:'BindStorageCard',\r\n SHORTCUT_KEY: ''\r\n}]\r\nconst display = {\r\n finish: ['storage', 'changePassword', 'reportLoss', 'cancelLoss'],\r\n semi: ['openCard']\r\n}\r\n\r\nlet menus = [];\r\n@observer\r\nexport default class extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n let { title } = props;\r\n this.state = {\r\n menus: menus2,\r\n modifyPass: false,\r\n passwordTitle: '换卡',\r\n btnDissabled: true,\r\n warnContent: '',\r\n setPwdShortKey: '',\r\n bindCardShow: false, // 是否显示绑卡,默认否\r\n bindCardBtnDisabled: true,\r\n }\r\n this.api = MemberStore;\r\n }\r\n\r\n static contextTypes = {\r\n onEvent: PropTypes.func,\r\n viewModel: PropTypes.object,\r\n stores: PropTypes.object\r\n }\r\n\r\n componentWillMount() {\r\n this.changeDisplay('finish')\r\n }\r\n\r\n componentDidMount() {\r\n let setting_setData = localStore.get(\"setting_setData\");\r\n if(setting_setData == null){\r\n setting_setData = JSON.parse(localStorage.getItem(\"setting_setData\"));\r\n }\r\n if(setting_setData && setting_setData.length != 0){\r\n setting_setData.forEach((settingItem)=>{\r\n if(settingItem.ParamType && settingItem.ParamType === \"SHORTCUT_KEY\"){\r\n const { Name, Value} = settingItem || {};\r\n const { title, storeKey } = this.props;\r\n menus = menus2;\r\n menus.forEach((item) => {\r\n if (item.auth === Name) {\r\n item.SHORTCUT_KEY = Value;\r\n }\r\n })\r\n if (Name === 'MemberSetPassword') {\r\n this.setState({\r\n setPwdShortKey: Value\r\n })\r\n }\r\n }\r\n })\r\n }\r\n setTimeout(() => { this.changeState() }, 0)\r\n }\r\n\r\n componentWillReceiveProps() {\r\n this.changeState()\r\n }\r\n\r\n filterMenus = (tags) => {\r\n const { title, storeKey } = this.props;\r\n menus = menus2;\r\n return menus.filter((menu) => {\r\n return ~tags.indexOf(menu.key)\r\n })\r\n }\r\n\r\n changeDisplay(flag = 'finish') {\r\n const menus = this.filterMenus(display[flag])\r\n this.setState({ menus });\r\n }\r\n\r\n changeState() {\r\n let { member, memberEnumState } = this.props;\r\n const { title, storeKey } = this.props;\r\n let list = menus2;\r\n\r\n if (member && member.MemberState) {\r\n if(member.MemberState.Id == memberEnumState.notusing){\r\n this.changeDisplay('semi')\r\n return;\r\n }\r\n this.changeDisplay('finish')\r\n if (member.MemberState.Id == memberEnumState.loss) {\r\n list = menus.filter((menu) => {\r\n return menu.key !== 'reportLoss'&&menu.key !== 'openCard'\r\n })\r\n }else{\r\n list = menus.filter((menu) => {\r\n return menu.key !== 'cancelLoss'&&menu.key !== 'openCard'\r\n })\r\n }\r\n }\r\n this.setState({ menus: list })\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n return this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n async handleEvent(auth) {\r\n const { member } = this.props;\r\n await this.controllerEvent('ValidateOperationName', { memberDto: member, operationName: auth });\r\n let viewM = this.context.viewModel.getViewItem('Voucher');\r\n if (viewM && viewM.AuthType === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n async storage() {\r\n const { member } = this.props;\r\n const { MemberType: { IsStorage } = {}, WalletEnabled } = member || {};\r\n if (IsStorage === false) {\r\n Message.warn('当前会员没有启用储值.')\r\n return;\r\n }\r\n if (WalletEnabled) {\r\n this.storageInit();\r\n } else {\r\n this.setState({ modifyPass: true, passwordTitle: '设置密码', warnContent: '' });\r\n }\r\n }\r\n\r\n storageInit = () => {\r\n const { member, loadUserInfo, selected } = this.props;\r\n const { ID } = member || {};\r\n stores.memberStore.storageInit({\r\n member: toJS(member),\r\n settlementControlEvent: {\r\n onSettleSuccess: () => {\r\n stores.modalRouter.hide('/memberstore')\r\n loadUserInfo(selected, ID, member, true, true)\r\n }\r\n },\r\n callback: () => {\r\n stores.modalRouter.show({\r\n url: '/memberstore',\r\n title: '会员储值',\r\n className: 'memberContainer1',\r\n memberClass:'memberClassWidth',\r\n onHide: () => {\r\n stores.modalRouter.hide('/memberstore')\r\n }\r\n })\r\n }\r\n })\r\n }\r\n\r\n //修改密码\r\n changePasswordClick = () => {\r\n if (this.modifyPass) this.modifyPass.handleOk()\r\n }\r\n // 修改密码\r\n changePassword() {\r\n this.setState({ modifyPass: true, passwordTitle: '修改密码' });\r\n }\r\n\r\n // 重置密码\r\n resetPassword() {\r\n this.setState({ modifyPass: true, passwordTitle: '重置密码' });\r\n }\r\n\r\n changePasswordCancel = () => {\r\n this.setState({ modifyPass: false })\r\n this.modifyPass.handleCancel();\r\n }\r\n\r\n // 注销卡\r\n reportLoss = () => {\r\n let { member, handleChange, memberEnumState } = this.props;\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '确定要挂失该会员卡吗?',\r\n onOk: async () => {\r\n this.api.RecordLoss(member).then(ret => {\r\n const { Success, Msg, Data } = ret;\r\n if (Success === true && Data) {\r\n const dt = JSON.parse(Data);\r\n member.Ts = dt.Ts;\r\n member.MemberState.Id = memberEnumState.loss;\r\n handleChange && handleChange(member);\r\n Message.success('挂失成功。')\r\n } else {\r\n Message.error(\"挂失失败:\" + Msg)\r\n }\r\n }).catch(e => {\r\n console.log('err', e);\r\n })\r\n },\r\n onCancel() {\r\n },\r\n onHide: () => {\r\n }\r\n })\r\n }\r\n //取消注销卡\r\n cancelLoss = () => {\r\n if(!this.api) return;\r\n let { member,handleChange, memberEnumState } = this.props;\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '确定要取消挂失该会员卡吗?',\r\n onOk: async () => {\r\n this.api.UnRecordLoss(member).then(ret => {\r\n const { Success, Msg, Data } = ret;\r\n if (Success === true && Data) {\r\n const dt = JSON.parse(Data);\r\n member.Ts = dt.Ts;\r\n member.MemberState.Id = memberEnumState.using;\r\n handleChange && handleChange(member);\r\n Message.success('取消挂失成功。')\r\n } else {\r\n Message.error(\"取消挂失败:\" + Msg)\r\n }\r\n }).catch(e => {\r\n console.log('err', e);\r\n })\r\n },\r\n onCancel() {\r\n },\r\n onHide: () => {\r\n }\r\n })\r\n }\r\n\r\n // 开卡\r\n openCard = () => {\r\n const { member, loadUserInfo, selected, memberEnumState } = this.props;\r\n const { ID, MemberType: { IsStorage } } = member || {};\r\n memberStore.GetMemberDTO(ID, false).then((ret) => {\r\n stores.selectMemberStore.setCurMemberInfo(ret)\r\n stores.modalRouter.show({\r\n url: '/AA/OPENCARD',\r\n title: '开卡',\r\n className: 'memberAddModal',\r\n modalType: 'big',\r\n onHide: () => stores.modalRouter.hide('/AA/OPENCARD'),\r\n closeCk: () => {\r\n member.MemberState.Id = memberEnumState.using;\r\n // loadUserInfo(selected, ID, member, true, true);\r\n }\r\n })\r\n Loading.hide();\r\n })\r\n stores.modalRouter.show({\r\n url: '/AA/OPENCARD',\r\n title: '开卡',\r\n className: 'memberAddModal',\r\n modalType: 'big',\r\n destroyOnClose: true,\r\n onHide: () => stores.modalRouter.hide('/AA/OPENCARD'),\r\n closeCk: () => {\r\n member.MemberState.Id = memberEnumState.using;\r\n // loadUserInfo(selected, ID, member, true, true);\r\n },\r\n onHide: () => {\r\n }\r\n })\r\n Loading.hide();\r\n }\r\n\r\n // 点击绑卡\r\n bindCard = () => {\r\n this.setState({ bindCardShow: true})\r\n }\r\n\r\n // 点击关闭绑卡\r\n changeBindCardCancel = () => {\r\n this.setState({\r\n bindCardShow: false,\r\n bindCardBtnDisabled: true\r\n })\r\n }\r\n\r\n // 修改绑卡disabled\r\n changeBindCardBtnDisabled = (disabled) => {\r\n this.setState({\r\n bindCardBtnDisabled: disabled\r\n })\r\n }\r\n\r\n // 点击绑卡确定按钮\r\n bindCardClick = () => {\r\n if (this.bindCardRef) {\r\n const { storeKey } = this.props\r\n this.bindCardFn(this.bindCardRef.state)\r\n }\r\n }\r\n\r\n // MeStorageCard > gridTemplateUser > MeStorageCard.cardbatchExport\r\n // 绑卡确定按钮\r\n async bindCardFn (state) {\r\n const { value, password } = state\r\n const { member = {}, loadUserInfo, selected } = this.props\r\n const { ID } = member || {};\r\n const params = {\r\n cardNo: value,\r\n cardPwd: password,\r\n memberId: ID,\r\n isStorageCardBindMember:false\r\n }\r\n const ret = await this.api.MeStorageCardBind(params)\r\n Message.success('绑定成功')\r\n loadUserInfo(selected, ID, member, true, true)\r\n this.setState({\r\n bindCardShow: false\r\n })\r\n }\r\n\r\n click(key, auth, name) {\r\n this.setState({\r\n warnContent: ''\r\n })\r\n this.handleEvent(auth).then(ret=>{\r\n if (ret === true) {\r\n const { isHorizontalSunMi } = platform || {};\r\n switch (key) {\r\n case 'storage': this.storage(); break;\r\n case 'changePassword': this.changePassword(); break;\r\n case 'reportLoss': this.reportLoss(); break;\r\n case 'cancelLoss': this.cancelLoss(); break;\r\n case 'openCard': this.openCard(); break;\r\n case 'resetPassword': this.resetPassword(); break;\r\n case 'bindCard': this.bindCard(); break;\r\n }\r\n }\r\n })\r\n }\r\n\r\n jusIsAllAuthority(count) {\r\n const { changeIsAllAuthority } = this.props\r\n if (!count) {\r\n changeIsAllAuthority && changeIsAllAuthority()\r\n }\r\n }\r\n\r\n changeBtnDisabled = (value) => {\r\n this.setState({\r\n btnDissabled: value\r\n })\r\n }\r\n\r\n getMenuItem = (index, menu) => {\r\n let { member, loadingBtn} = this.props;\r\n const { setPwdShortKey } = this.state || {};\r\n let newStyle =localStore && localStore.get('voucherDefaultPosMode')=='voucher';\r\n // 控制显示修改密码还是设置密码\r\n if (menu.auth === 'ModifyPassword') {\r\n return <div key={index} className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth)\r\n }}\r\n >\r\n {\r\n member.WalletEnabled ? <div><Ticon icon={menu.icon}></Ticon><span>修改密码</span><div className='menuHotkey'>{menu.SHORTCUT_KEY}</div></div> :\r\n <div><Ticon icon={menu.icon}></Ticon><span>设置密码</span><div className='menuHotkey'>{setPwdShortKey}</div></div>\r\n }\r\n </div>\r\n } else if (!member.WalletEnabled && menu.auth === 'PosResetPwd') {\r\n return;\r\n } else {\r\n return (\r\n <div\r\n key={index}\r\n className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth, menu.name)\r\n }}\r\n >\r\n <Ticon icon={menu.icon}></Ticon><span>{menu.name}</span>\r\n <div className='menuHotkey'>{menu.SHORTCUT_KEY}</div>\r\n </div>\r\n )\r\n }\r\n }\r\n\r\n render() {\r\n const { menus, modifyPass, passwordTitle, btnDissabled, bindCardShow, bindCardBtnDisabled, refundShow } = this.state;\r\n let { member, authProcess, loadUserInfo, selected, modifyMember, cardList = []} = this.props;\r\n const {id, storageBalanceAmount, presentAmount } = cardList[0] || {}\r\n return (\r\n <div className='member-menu'>\r\n {\r\n menus && menus.map((menu,index) => {\r\n let status = authProcess.execute(menu.auth);\r\n if (status) {\r\n return this.getMenuItem(index, menu)\r\n } else {\r\n if (menu.auth === 'ModifyPassword') {\r\n return this.getMenuItem(index, menu);\r\n } else if (menu.auth === 'bindCard') {\r\n return this.getMenuItem(index, menu);\r\n } else {\r\n return '';\r\n }\r\n }\r\n })\r\n }\r\n <ModalWraper\r\n title={!member.WalletEnabled ? '设置密码' : passwordTitle}\r\n show={modifyPass}\r\n ok={this.changePasswordClick}\r\n className='modify-password'\r\n modalType='mid'\r\n closeButton={true}\r\n exclueBoard={true}\r\n cancel={this.changePasswordCancel}\r\n btnDissabled={btnDissabled}\r\n >\r\n {\r\n passwordTitle === '换卡' ?\r\n <ChangeMemberCard modifyMember={modifyMember} member={member} ref={ref => this.modifyPass = ref} cancelModal={this.changePasswordCancel}></ChangeMemberCard>:\r\n <ModifyPass changeBtnDisabled={this.changeBtnDisabled} loadUserInfo={loadUserInfo} selected={selected} storageInit={this.storageInit} passwordTitle={\r\n !member.WalletEnabled ? '设置密码' : passwordTitle\r\n } modifyMember={modifyMember} ref={ref => this.modifyPass = ref} member={member} cancelModal={this.changePasswordCancel}></ModifyPass>\r\n }\r\n </ModalWraper>\r\n {/* 绑卡 */}\r\n <ModalWraper\r\n title=\"绑卡\"\r\n show={bindCardShow}\r\n className='bind-card'\r\n closeButton={false}\r\n ok={this.bindCardClick}\r\n cancel={this.changeBindCardCancel}\r\n btnDissabled={bindCardBtnDisabled}\r\n >\r\n <BindCard\r\n ref={ref => this.bindCardRef = ref}\r\n bindCardClick={this.bindCardClick}\r\n changeBindCardBtnDisabled={this.changeBindCardBtnDisabled}\r\n />\r\n </ModalWraper>\r\n {/* 绑卡 */}\r\n </div>\r\n )\r\n }\r\n}"]}
1
+ {"version":3,"sources":["tplus-member/member/memberMenu/index.js"],"names":["menus2","key","name","visible","icon","auth","SHORTCUT_KEY","display","finish","semi","menus","observer","props","title","state","modifyPass","passwordTitle","btnDissabled","warnContent","setPwdShortKey","bindCardShow","bindCardBtnDisabled","api","MemberStore","changeDisplay","setting_setData","localStore","get","JSON","parse","localStorage","getItem","length","forEach","settingItem","ParamType","Name","Value","storeKey","item","setState","setTimeout","changeState","flag","filterMenus","member","memberEnumState","list","MemberState","Id","notusing","loss","filter","menu","controllerEvent","memberDto","operationName","viewM","context","viewModel","getViewItem","AuthType","MemberType","IsStorage","WalletEnabled","Message","warn","storageInit","value","password","loadUserInfo","selected","ID","params","cardNo","cardPwd","memberId","isStorageCardBindMember","MeStorageCardBind","ret","success","handleEvent","then","platform","isHorizontalSunMi","storage","changePassword","reportLoss","cancelLoss","openCard","resetPassword","bindCard","count","changeIsAllAuthority","refundShow","authProcess","modifyMember","cardList","id","storageBalanceAmount","presentAmount","map","index","status","execute","getMenuItem","changePasswordClick","changePasswordCancel","ref","changeBtnDisabled","bindCardClick","changeBindCardCancel","bindCardRef","changeBindCardBtnDisabled","Component","contextTypes","onEvent","PropTypes","func","object","stores","tags","indexOf","methodName","methodArgs","Action","fromJS","memberStore","settlementControlEvent","onSettleSuccess","modalRouter","hide","callback","show","url","className","memberClass","onHide","handleOk","handleCancel","handleChange","ModalWraper","confirm","content","onOk","RecordLoss","Success","Msg","Data","dt","Ts","error","catch","console","log","e","onCancel","UnRecordLoss","using","GetMemberDTO","selectMemberStore","setCurMemberInfo","modalType","closeCk","Loading","destroyOnClose","disabled","bindCardFn","loadingBtn","voucherDefaultPosMode","newStyle","click"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { observer, stores } from \"mutants-microfx\"\r\nimport { Action } from 'mutants-appfx'\r\nimport { toJS } from 'mobx';\r\nimport './style.less';\r\nimport { Ticon, ModalWraper, Message,Loading,Input } from 'tplus-components-touch'\r\nimport { platform, localStore, enumController } from 'mutants-util';\r\nimport { formatPrecision } from '../../utils'\r\nimport ModifyPass from './modifyPass'\r\nimport ChangeMemberCard from './changeMemberCard'\r\nimport { PropTypes } from 'prop-types'\r\nimport MemberStore from '../api';\r\nimport BindCard from './bindCard'\r\n\r\n// 会员管理menuList\r\nlet menus2 = [{\r\n key: 'storage',\r\n name: '储值',\r\n visible: true,\r\n icon: 'chuzhi',\r\n auth:'Storage',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'changePassword',\r\n name: '修改密码',\r\n visible: true,\r\n icon: 'xiugaimima1',\r\n auth:'ModifyPassword',\r\n SHORTCUT_KEY: ''\r\n},\r\n// {\r\n// key: 'reportLoss',\r\n// name: '挂失',\r\n// visible: true,\r\n// icon: 'guashi',\r\n// auth:'RecordLoss'\r\n\r\n// },\r\n {\r\n key: 'cancelLoss',\r\n name: '取消挂失',\r\n visible: true,\r\n icon: 'quxiaoguashi',\r\n auth:'RecordLoss',\r\n SHORTCUT_KEY: ''\r\n},\r\n// 2.0不支持开卡\r\n// {\r\n// key: 'openCard',\r\n// name: '开卡',\r\n// visible: true,\r\n// icon: 'quxiaoguashi',\r\n// auth:'MemberCardActive',\r\n// SHORTCUT_KEY: ''\r\n// },\r\n {\r\n key: 'resetPassword',\r\n name: '重置密码',\r\n visible: true,\r\n icon: 'chongzhimima',\r\n auth:'PosResetPwd',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'bindCard',\r\n name: '绑卡',\r\n visible: true,\r\n icon: 'bangka',\r\n auth:'BindStorageCard',\r\n SHORTCUT_KEY: ''\r\n}]\r\nconst display = {\r\n finish: ['storage', 'changePassword', 'reportLoss', 'cancelLoss'],\r\n semi: ['openCard']\r\n}\r\n\r\nlet menus = [];\r\n@observer\r\nexport default class extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n let { title } = props;\r\n this.state = {\r\n menus: menus2,\r\n modifyPass: false,\r\n passwordTitle: '换卡',\r\n btnDissabled: true,\r\n warnContent: '',\r\n setPwdShortKey: '',\r\n bindCardShow: false, // 是否显示绑卡,默认否\r\n bindCardBtnDisabled: true,\r\n }\r\n this.api = MemberStore;\r\n }\r\n\r\n static contextTypes = {\r\n onEvent: PropTypes.func,\r\n viewModel: PropTypes.object,\r\n stores: PropTypes.object\r\n }\r\n\r\n componentWillMount() {\r\n this.changeDisplay('finish')\r\n }\r\n\r\n componentDidMount() {\r\n let setting_setData = localStore.get(\"setting_setData\");\r\n if(setting_setData == null){\r\n setting_setData = JSON.parse(localStorage.getItem(\"setting_setData\"));\r\n }\r\n if(setting_setData && setting_setData.length != 0){\r\n setting_setData.forEach((settingItem)=>{\r\n if(settingItem.ParamType && settingItem.ParamType === \"SHORTCUT_KEY\"){\r\n const { Name, Value} = settingItem || {};\r\n const { title, storeKey } = this.props;\r\n menus = menus2;\r\n menus.forEach((item) => {\r\n if (item.auth === Name) {\r\n item.SHORTCUT_KEY = Value;\r\n }\r\n })\r\n if (Name === 'MemberSetPassword') {\r\n this.setState({\r\n setPwdShortKey: Value\r\n })\r\n }\r\n }\r\n })\r\n }\r\n setTimeout(() => { this.changeState() }, 0)\r\n }\r\n\r\n componentWillReceiveProps() {\r\n this.changeState()\r\n }\r\n\r\n filterMenus = (tags) => {\r\n const { title, storeKey } = this.props;\r\n menus = menus2;\r\n return menus.filter((menu) => {\r\n return ~tags.indexOf(menu.key)\r\n })\r\n }\r\n\r\n changeDisplay(flag = 'finish') {\r\n const menus = this.filterMenus(display[flag])\r\n this.setState({ menus });\r\n }\r\n\r\n changeState() {\r\n let { member, memberEnumState } = this.props;\r\n const { title, storeKey } = this.props;\r\n let list = menus2;\r\n\r\n if (member && member.MemberState) {\r\n if(member.MemberState.Id == memberEnumState.notusing){\r\n this.changeDisplay('semi')\r\n return;\r\n }\r\n this.changeDisplay('finish')\r\n if (member.MemberState.Id == memberEnumState.loss) {\r\n list = menus.filter((menu) => {\r\n return menu.key !== 'reportLoss'&&menu.key !== 'openCard'\r\n })\r\n }else{\r\n list = menus.filter((menu) => {\r\n return menu.key !== 'cancelLoss'&&menu.key !== 'openCard'\r\n })\r\n }\r\n }\r\n this.setState({ menus: list })\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n return this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n async handleEvent(auth) {\r\n const { member } = this.props;\r\n await this.controllerEvent('ValidateOperationName', { memberDto: member, operationName: auth });\r\n let viewM = this.context.viewModel.getViewItem('Voucher');\r\n if (viewM && viewM.AuthType === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n async storage() {\r\n const { member } = this.props;\r\n const { MemberType: { IsStorage } = {}, WalletEnabled } = member || {};\r\n if (IsStorage === false) {\r\n Message.warn('当前会员没有启用储值.')\r\n return;\r\n }\r\n if (WalletEnabled) {\r\n this.storageInit();\r\n } else {\r\n this.setState({ modifyPass: true, passwordTitle: '设置密码', warnContent: '' });\r\n }\r\n }\r\n\r\n storageInit = () => {\r\n const { member, loadUserInfo, selected } = this.props;\r\n const { ID } = member || {};\r\n stores.memberStore.storageInit({\r\n member: toJS(member),\r\n settlementControlEvent: {\r\n onSettleSuccess: () => {\r\n stores.modalRouter.hide('/memberstore')\r\n loadUserInfo(selected, ID, member, true, true)\r\n }\r\n },\r\n callback: () => {\r\n stores.modalRouter.show({\r\n url: '/memberstore',\r\n title: '会员储值',\r\n className: 'memberContainer1',\r\n memberClass:'memberClassWidth',\r\n onHide: () => {\r\n stores.modalRouter.hide('/memberstore')\r\n }\r\n })\r\n }\r\n })\r\n }\r\n\r\n //修改密码\r\n changePasswordClick = () => {\r\n if (this.modifyPass) this.modifyPass.handleOk()\r\n }\r\n // 修改密码\r\n changePassword() {\r\n this.setState({ modifyPass: true, passwordTitle: '修改密码' });\r\n }\r\n\r\n // 重置密码\r\n resetPassword() {\r\n this.setState({ modifyPass: true, passwordTitle: '重置密码' });\r\n }\r\n\r\n changePasswordCancel = () => {\r\n this.setState({ modifyPass: false })\r\n this.modifyPass.handleCancel();\r\n }\r\n\r\n // 注销卡\r\n reportLoss = () => {\r\n let { member, handleChange, memberEnumState } = this.props;\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '确定要挂失该会员卡吗?',\r\n onOk: async () => {\r\n this.api.RecordLoss(member).then(ret => {\r\n const { Success, Msg, Data } = ret;\r\n if (Success === true && Data) {\r\n const dt = JSON.parse(Data);\r\n member.Ts = dt.Ts;\r\n member.MemberState.Id = memberEnumState.loss;\r\n handleChange && handleChange(member);\r\n Message.success('挂失成功。')\r\n } else {\r\n Message.error(\"挂失失败:\" + Msg)\r\n }\r\n }).catch(e => {\r\n console.log('err', e);\r\n })\r\n },\r\n onCancel() {\r\n },\r\n onHide: () => {\r\n }\r\n })\r\n }\r\n //取消注销卡\r\n cancelLoss = () => {\r\n if(!this.api) return;\r\n let { member,handleChange, memberEnumState } = this.props;\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '确定要取消挂失该会员卡吗?',\r\n onOk: async () => {\r\n this.api.UnRecordLoss(member).then(ret => {\r\n const { Success, Msg, Data } = ret;\r\n if (Success === true && Data) {\r\n const dt = JSON.parse(Data);\r\n member.Ts = dt.Ts;\r\n member.MemberState.Id = memberEnumState.using;\r\n handleChange && handleChange(member);\r\n Message.success('取消挂失成功。')\r\n } else {\r\n Message.error(\"取消挂失败:\" + Msg)\r\n }\r\n }).catch(e => {\r\n console.log('err', e);\r\n })\r\n },\r\n onCancel() {\r\n },\r\n onHide: () => {\r\n }\r\n })\r\n }\r\n\r\n // 开卡\r\n openCard = () => {\r\n const { member, loadUserInfo, selected, memberEnumState } = this.props;\r\n const { ID, MemberType: { IsStorage } } = member || {};\r\n memberStore.GetMemberDTO(ID, false).then((ret) => {\r\n stores.selectMemberStore.setCurMemberInfo(ret)\r\n stores.modalRouter.show({\r\n url: '/AA/OPENCARD',\r\n title: '开卡',\r\n className: 'memberAddModal',\r\n modalType: 'big',\r\n onHide: () => stores.modalRouter.hide('/AA/OPENCARD'),\r\n closeCk: () => {\r\n member.MemberState.Id = memberEnumState.using;\r\n // loadUserInfo(selected, ID, member, true, true);\r\n }\r\n })\r\n Loading.hide();\r\n })\r\n stores.modalRouter.show({\r\n url: '/AA/OPENCARD',\r\n title: '开卡',\r\n className: 'memberAddModal',\r\n modalType: 'big',\r\n destroyOnClose: true,\r\n onHide: () => stores.modalRouter.hide('/AA/OPENCARD'),\r\n closeCk: () => {\r\n member.MemberState.Id = memberEnumState.using;\r\n // loadUserInfo(selected, ID, member, true, true);\r\n },\r\n onHide: () => {\r\n }\r\n })\r\n Loading.hide();\r\n }\r\n\r\n // 点击绑卡\r\n bindCard = () => {\r\n this.setState({ bindCardShow: true})\r\n }\r\n\r\n // 点击关闭绑卡\r\n changeBindCardCancel = () => {\r\n this.setState({\r\n bindCardShow: false,\r\n bindCardBtnDisabled: true\r\n })\r\n }\r\n\r\n // 修改绑卡disabled\r\n changeBindCardBtnDisabled = (disabled) => {\r\n this.setState({\r\n bindCardBtnDisabled: disabled\r\n })\r\n }\r\n\r\n // 点击绑卡确定按钮\r\n bindCardClick = () => {\r\n if (this.bindCardRef) {\r\n const { storeKey } = this.props\r\n this.bindCardFn(this.bindCardRef.state)\r\n }\r\n }\r\n\r\n // MeStorageCard > gridTemplateUser > MeStorageCard.cardbatchExport\r\n // 绑卡确定按钮\r\n async bindCardFn (state) {\r\n const { value, password } = state\r\n const { member = {}, loadUserInfo, selected } = this.props\r\n const { ID } = member || {};\r\n const params = {\r\n cardNo: value,\r\n cardPwd: password,\r\n memberId: ID,\r\n isStorageCardBindMember:false\r\n }\r\n const ret = await this.api.MeStorageCardBind(params)\r\n Message.success('绑定成功')\r\n loadUserInfo(selected, ID, member, true, true)\r\n this.setState({\r\n bindCardShow: false\r\n })\r\n }\r\n\r\n click(key, auth, name) {\r\n this.setState({\r\n warnContent: ''\r\n })\r\n this.handleEvent(auth).then(ret=>{\r\n if (ret === true) {\r\n const { isHorizontalSunMi } = platform || {};\r\n switch (key) {\r\n case 'storage': this.storage(); break;\r\n case 'changePassword': this.changePassword(); break;\r\n case 'reportLoss': this.reportLoss(); break;\r\n case 'cancelLoss': this.cancelLoss(); break;\r\n case 'openCard': this.openCard(); break;\r\n case 'resetPassword': this.resetPassword(); break;\r\n case 'bindCard': this.bindCard(); break;\r\n }\r\n }\r\n })\r\n }\r\n\r\n jusIsAllAuthority(count) {\r\n const { changeIsAllAuthority } = this.props\r\n if (!count) {\r\n changeIsAllAuthority && changeIsAllAuthority()\r\n }\r\n }\r\n\r\n changeBtnDisabled = (value) => {\r\n this.setState({\r\n btnDissabled: value\r\n })\r\n }\r\n\r\n getMenuItem = (index, menu) => {\r\n let { member, loadingBtn} = this.props;\r\n const { setPwdShortKey } = this.state || {};\r\n const voucherDefaultPosMode = localStore && localStore.get('voucherDefaultPosMode') || 'touch'\r\n let newStyle = voucherDefaultPosMode=='voucher';\r\n // 控制显示修改密码还是设置密码\r\n if (menu.auth === 'ModifyPassword') {\r\n return <div key={index} className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth)\r\n }}\r\n >\r\n {\r\n member.WalletEnabled ? <div><Ticon icon={menu.icon}></Ticon><span>修改密码</span><div className='menuHotkey'>{menu.SHORTCUT_KEY}</div></div> :\r\n <div><Ticon icon={menu.icon}></Ticon><span>设置密码</span><div className='menuHotkey'>{setPwdShortKey}</div></div>\r\n }\r\n </div>\r\n } else if (!member.WalletEnabled && menu.auth === 'PosResetPwd') {\r\n return;\r\n } else {\r\n return (\r\n <div\r\n key={index}\r\n className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth, menu.name)\r\n }}\r\n >\r\n <Ticon icon={menu.icon}></Ticon><span>{menu.name}</span>\r\n <div className='menuHotkey'>{menu.SHORTCUT_KEY}</div>\r\n </div>\r\n )\r\n }\r\n }\r\n\r\n render() {\r\n const { menus, modifyPass, passwordTitle, btnDissabled, bindCardShow, bindCardBtnDisabled, refundShow } = this.state;\r\n let { member, authProcess, loadUserInfo, selected, modifyMember, cardList = []} = this.props;\r\n const {id, storageBalanceAmount, presentAmount } = cardList[0] || {}\r\n return (\r\n <div className='member-menu'>\r\n {\r\n menus && menus.map((menu,index) => {\r\n let status = authProcess.execute(menu.auth);\r\n if (status) {\r\n return this.getMenuItem(index, menu)\r\n } else {\r\n if (menu.auth === 'ModifyPassword') {\r\n return this.getMenuItem(index, menu);\r\n } else if (menu.auth === 'bindCard') {\r\n return this.getMenuItem(index, menu);\r\n } else {\r\n return '';\r\n }\r\n }\r\n })\r\n }\r\n <ModalWraper\r\n title={!member.WalletEnabled ? '设置密码' : passwordTitle}\r\n show={modifyPass}\r\n ok={this.changePasswordClick}\r\n className='modify-password'\r\n modalType='mid'\r\n closeButton={true}\r\n exclueBoard={true}\r\n cancel={this.changePasswordCancel}\r\n btnDissabled={btnDissabled}\r\n >\r\n {\r\n passwordTitle === '换卡' ?\r\n <ChangeMemberCard modifyMember={modifyMember} member={member} ref={ref => this.modifyPass = ref} cancelModal={this.changePasswordCancel}></ChangeMemberCard>:\r\n <ModifyPass changeBtnDisabled={this.changeBtnDisabled} loadUserInfo={loadUserInfo} selected={selected} storageInit={this.storageInit} passwordTitle={\r\n !member.WalletEnabled ? '设置密码' : passwordTitle\r\n } modifyMember={modifyMember} ref={ref => this.modifyPass = ref} member={member} cancelModal={this.changePasswordCancel}></ModifyPass>\r\n }\r\n </ModalWraper>\r\n {/* 绑卡 */}\r\n <ModalWraper\r\n title=\"绑卡\"\r\n show={bindCardShow}\r\n className='bind-card'\r\n closeButton={false}\r\n ok={this.bindCardClick}\r\n cancel={this.changeBindCardCancel}\r\n btnDissabled={bindCardBtnDisabled}\r\n >\r\n <BindCard\r\n ref={ref => this.bindCardRef = ref}\r\n bindCardClick={this.bindCardClick}\r\n changeBindCardBtnDisabled={this.changeBindCardBtnDisabled}\r\n />\r\n </ModalWraper>\r\n {/* 绑卡 */}\r\n </div>\r\n )\r\n }\r\n}"]}
@@ -1703,7 +1703,8 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
1703
1703
  var _ref44 = _this6.state || {},
1704
1704
  setPwdShortKey = _ref44.setPwdShortKey;
1705
1705
 
1706
- var newStyle = _mutantsUtil.localStore && _mutantsUtil.localStore.get('voucherDefaultPosMode') == 'voucher';
1706
+ var voucherDefaultPosMode = _mutantsUtil.localStore && _mutantsUtil.localStore.get('voucherDefaultPosMode') || 'touch';
1707
+ var newStyle = voucherDefaultPosMode == 'voucher';
1707
1708
 
1708
1709
  var _ref45 = cardList && cardList.length && cardList[selected] || {},
1709
1710
  WalletEnabled = _ref45.WalletEnabled,