tplus-member 3.17.1 → 3.18.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -120,11 +120,13 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
120
120
 
121
121
  _ref$loginInfo = _ref$loginInfo === undefined ? {} : _ref$loginInfo;
122
122
  var isMemberInputType = _ref$loginInfo.isMemberInputType,
123
+ MemberMeStorageCardInputByKeyBoard = _ref$loginInfo.MemberMeStorageCardInputByKeyBoard,
123
124
  OpenFaceRecognition = _ref$loginInfo.OpenFaceRecognition,
124
125
  ICCardServer = _ref$loginInfo.ICCardServer,
125
126
  ICCardPassword = _ref$loginInfo.ICCardPassword;
126
127
 
127
128
  _this2.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用
129
+ _this2.isStorageCardInputType = MemberMeStorageCardInputByKeyBoard; // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用
128
130
  _this2.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用
129
131
  _this2.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用
130
132
  _this2.iCCardPassword = ICCardPassword; //IC卡密码
@@ -141,6 +143,7 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
141
143
 
142
144
  //记录键盘录入信息的开始时间
143
145
  _this2.keypressStime = null;
146
+ _this2.iseyboardKEnter = false; //是否为键盘输入
144
147
 
145
148
  var _ref3 = _mutantsUtil.platform || {},
146
149
  isNewRetailBCPos = _ref3.isNewRetailBCPos;
@@ -834,7 +837,6 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
834
837
  };
835
838
 
836
839
  this.searchMember = function (val, type) {
837
- if (!_mutantsMicrofx.stores.offlineSys.shouldMemberSearch()) return;
838
840
  if (!_this7.ms || _this7.searchLoading) return;
839
841
  var searchValue = _this7.state.searchValue;
840
842
 
@@ -844,7 +846,8 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
844
846
  memberSearched = _props2.memberSearched,
845
847
  selectMemberSuccess = _props2.selectMemberSuccess,
846
848
  setMemberFocus = _props2.setMemberFocus,
847
- getMemberBirthday = _props2.getMemberBirthday;
849
+ getMemberBirthday = _props2.getMemberBirthday,
850
+ getMeStorageCard = _props2.getMeStorageCard;
848
851
 
849
852
  _this7.searchLoading = true;
850
853
  _this7.setState({ searchVisible: true });
@@ -863,6 +866,13 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
863
866
  var data = JSON.parse(Data) || [];
864
867
  var info = data[0];
865
868
  _this7.setState({ searchVisible: false, columnInfo: columnInfo });
869
+ if (info && info.MemberType.IsStorage && _this7.isStorageCardInputType && _this7.iseyboardKEnter) {
870
+ getMeStorageCard && getMeStorageCard(true);
871
+ _this7.handleSearch('');
872
+ _this7.keypressStime = null;
873
+ } else {
874
+ getMeStorageCard && getMeStorageCard(false);
875
+ }
866
876
  memberSearched && memberSearched(info, 'searched');
867
877
  if (info) {
868
878
  if (data.length > 1) {
@@ -934,10 +944,16 @@ var MemberTag = (0, _mobxReact.observer)(_class = (_temp = _class2 = function (_
934
944
  }
935
945
  _this7.keypressStime = null;
936
946
  }
947
+ _this7.iseyboardKEnter = Date.parse(new Date()) - _this7.keypressStime > 300;
948
+ if (_this7.isStorageCardInputType) {
949
+ _this7.keypressStime = null;
950
+ }
937
951
  if (_this7.searchLoading) return;
938
952
  _this7.searchMember(undefined, 'ok');
939
953
  } else if (_this7.isMemberInputType && !_this7.keypressStime && !(keyCode == 8)) {
940
954
  _this7.keypressStime = Date.parse(new Date());
955
+ } else if (_this7.isStorageCardInputType && !_this7.keypressStime && !(keyCode == 8) && !_this7.isMemberInputType) {
956
+ _this7.keypressStime = Date.parse(new Date());
941
957
  }
942
958
  };
943
959
 
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/index.js"],"names":["hasElectron","env","platform","constant","electron","emptyMemberImage","memberBirthday","currentMember","MemberTag","observer","props","localStore","get","loginInfo","isMemberInputType","OpenFaceRecognition","ICCardServer","ICCardPassword","parseInt","openFaceRecognition","iCCardServer","iCCardPassword","ms","memberStore","isHorizontalPad","isHorizontalSunMi","isMobileEnvironment","handleReadICard","bind","keypressStime","isNewRetailBCPos","state","isCC","isShowBirthdayTip","context","viewModel","data","Member","dtMember","selectMemberInfo","isClear","memberChangeData","length","undefined","memberChange","setState","newAvatar","deepCloneMember","JSON","parse","ID","clearSeletMember","seletMember","stores","selectMemberStore","clearMemberCare","connectRfCard","window","removeEventListener","windowOnresize","closeRfCard","nextProps","isSendMessage","getInStoreMemberCount","nativeMs","setIpcRendererMethod","result","ret","status","connectCardStatus","connectCardError","value","Message","error","params","cardPsw","cardSec","cardKm","searchMember","memberPhoto","titleModal","memberShow","inShopLoading","faceLoading","shopPerson","searchValue","viewMemberInfo","searchVisible","columnInfo","isMemberCare","isMemberCareModal","mode","authProcess","selectMemberSuccess","precisionInfo","items","viewVoucher","find","v","type","isTakeTheir","getIsTakeTheir","isSelectedMember","enumController","getEnumOj","Differentiate","memberCareInfo","inputSearch","el","input","e","handleSearch","target","handleFocus","handleBlur","onKeyPressed","changeScanProduct","loadFaceRecognition","scanObj","scan","onScanResult","openPhotoModal","ImageFile","handlePhotoModal","isTicket","daysToBirthday","handleMemberCareModal","setIsShowBirthdayTip","openShowModal","Name","CardCode","BalanceStorage","computedCoupon","COUPON","BalanceIntegral","openCloseModal","handleShowModal","handleMemberCareModalCancel","MemberType","memberCareDTO","memberRightRuleList","integralMultiple","integralGive","couponIdMapList","map","index","count","name","birthdayShow","handleCloseBirthdayModal","Component","propTypes","PropTypes","func","memberSearched","contextTypes","onEvent","object","defaultProps","controllerEvent","methodName","methodArgs","Action","fromJS","resetInShopMemberTimer","timer","clearTimeout","time","setTimeout","warn","res","title","jsMember","updateMember","setMemberFocus","uiState","IsIntegralExchange","store","tip","info","ModalWraper","confirm","className","content","onOk","changeBirthdayShow","val","_this","cb","Keyboard","open2","getNewValue","keyboardClose","blur","close2","readRfCard","SetKeyBoardDisplay","android_setKeyBoard","offlineSys","shouldMemberSearch","searchLoading","trim","getMemberBirthday","getSearchMember","currentPage","pageSize","key","isSingleMember","then","ColumnInfo","Data","drawerStore","init","onHide","listArr","catch","keyCode","stime","etime","Date","member","MemberCouponCount","couponKey","DynamicPropertyKeys","DynamicPropertyValues","couponIndex","findIndex","loadInStoreMember","String","tipMessage","console","log","err","startScan","getMemberBirthdayInfo","changeMemberCare"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * @memberChange member 状态发生变化时的回调\r\n * @memberSearched 录入框会员状态发生变化时的回调 memberSearched(value, type) // type: searched 触发搜索 | err 搜索接口错误 | close 关闭会员\r\n *\r\n */\r\nimport React, { Component, Fragment } from 'react';\r\nimport { Button, Input } from 'antd';\r\nimport { observer } from 'mobx-react';\r\nimport { toJS } from 'mobx';\r\nimport PropTypes from 'prop-types'\r\nimport { Ticon, Message, ModalWraper, Spin, Keyboard,Scan } from 'tplus-components-touch';\r\nimport { env, nativeMs, localStore } from 'mutants-microfx';\r\nimport { Action } from 'mutants-appfx'\r\nimport { platform, enumController } from 'mutants-util';\r\nimport MemberModal from './MemberShow';\r\nimport MemberPhoto from './MemberPhoto';\r\nimport memberStore from './api';\r\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\r\nimport './index.less';\r\nimport { stores } from 'mutants-microfx';\r\n\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\n//定义默认头像值。\r\nconst emptyMemberImage = 'https://newretail.static.chanjet.com/default_avatar.png';\r\nconst memberBirthday = 'https://newretail.static.chanjet.com/pictures/member_birthday.png';\r\nlet currentMember;\r\n\r\n@observer\r\nclass MemberTag extends Component {\r\n\r\n state = {\r\n searchValue: '',\r\n titleModal: '',\r\n memberShow: false,\r\n memberPhoto: false,\r\n searchVisible: false,\r\n shopPerson: 0,\r\n status: 2, // 0会员详情、1到店会员、2人脸识别\r\n dtMember: {}, // 会员信息\r\n connectCardStatus: false, //连接IC卡状态\r\n connectCardError: '', //连接IC卡错误后记录错误信息\r\n isMemberCare: false,\r\n isMemberCareModal: false\r\n };\r\n\r\n static propTypes = {\r\n memberChange: PropTypes.func,\r\n memberSearched: PropTypes.func,\r\n }\r\n\r\n static contextTypes = {\r\n onEvent:PropTypes.func,\r\n viewModel: PropTypes.object,\r\n }\r\n\r\n static defaultProps = {\r\n memberChange: () => { },\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.hasElectron = hasElectron;\r\n const { loginInfo: { isMemberInputType, OpenFaceRecognition, ICCardServer, ICCardPassword } = {} } = localStore.get('user') || {};\r\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\r\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\r\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\r\n this.iCCardPassword = ICCardPassword; //IC卡密码\r\n this.ms = memberStore;\r\n //移动端环境下,没有读取IC卡的方式。\r\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\r\n this.isHorizontalPad = !!isHorizontalPad;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n this.handleReadICard = this.handleReadICard.bind(this);\r\n\r\n //记录键盘录入信息的开始时间\r\n this.keypressStime = null;\r\n let { isNewRetailBCPos } = platform || {};\r\n this.state = {\r\n isCC: !!isNewRetailBCPos,\r\n isShowBirthdayTip: false,\r\n };\r\n }\r\n\r\n componentWillReact() {\r\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\r\n const { selectMemberInfo = {}, isClear = false } = this.ms;\r\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\r\n\r\n const memberChange = (data) => {\r\n this.setState({newAvatar: ''});\r\n this.props.memberChange(data);\r\n }\r\n if (typeof memberChangeData === 'object') {\r\n const deepCloneMember = JSON.parse(JSON.stringify(memberChangeData));\r\n if (!currentMember) {\r\n currentMember = deepCloneMember;\r\n memberChange(memberChangeData);\r\n } else if (currentMember.ID !== memberChangeData.ID) {\r\n memberChange(memberChangeData);\r\n currentMember = deepCloneMember;\r\n } else if (!dtMember.ID && (currentMember || {}).ID) { // DataModel 中清掉member,手动同步 member\r\n currentMember = undefined;\r\n this.ms.clearSeletMember();\r\n }\r\n } else if (currentMember && !memberChangeData) {\r\n memberChange(memberChangeData);\r\n currentMember = undefined;\r\n } else if (dtMember.ID && !(currentMember || {}).ID) { // DataModel 中存在member,手动同步 member\r\n const deepCloneMember = JSON.parse(JSON.stringify(dtMember));\r\n currentMember = deepCloneMember;\r\n this.ms.seletMember(dtMember);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n stores.selectMemberStore && stores.selectMemberStore.clearMemberCare()\r\n this.connectRfCard();\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.windowOnresize);\r\n this.closeRfCard();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n //接受socket传递过来的信息\r\n let { isSendMessage } = nextProps;\r\n if (isSendMessage === true) this.getInStoreMemberCount()\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n resetInShopMemberTimer = (count) => {\r\n this.timer && clearTimeout(this.timer);\r\n if (!count) return;\r\n const time = 5 * 60 * 1000;\r\n this.timer = setTimeout(() => {\r\n this.getInStoreMemberCount();\r\n }, time);\r\n }\r\n //IC卡连接\r\n connectRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\r\n let result = {}\r\n if (ret.status === 0) {\r\n result = { connectCardStatus: false, connectCardError: ret.value }\r\n } else {\r\n result = { connectCardStatus: true, connectCardError: '' };\r\n }\r\n this.setState(result)\r\n })\r\n }\r\n }\r\n\r\n //IC卡读取\r\n readRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n const { connectCardStatus, connectCardError } = this.state;\r\n if (connectCardStatus === false) {\r\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n }\r\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\r\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\r\n if (ret.status === 0) {\r\n Message.error(ret.value);\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n } else if (ret.status === 1) {\r\n this.searchMember(ret.value);\r\n }\r\n })\r\n }\r\n }\r\n\r\n //IC卡关闭\r\n closeRfCard(){\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('CloseRfCard')\r\n }\r\n }\r\n\r\n openPhotoModal = () => {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (!isNewRetailBCPos) {\r\n if (!this.openFaceRecognition) {\r\n Message.warn('未启用人脸识别,需要先开启人脸识别功能');\r\n return;\r\n }\r\n this.setState({\r\n memberPhoto: true,\r\n titleModal: '选择头像'\r\n })\r\n }\r\n }\r\n\r\n openShowModal = (status, res) => {\r\n let title = '';\r\n const { data: { Member = {} } = {} } = this.context.viewModel || {};\r\n const {newAvatar} = this.state;\r\n const jsMember = toJS(Member);\r\n const updateMember = newAvatar ? {...jsMember, ImageFile: newAvatar} : jsMember;\r\n switch (status) {\r\n case 0:\r\n title = '会员详情';\r\n this.setState({ viewMemberInfo: updateMember })\r\n break;\r\n case 1:\r\n title = '到店会员';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n case 2:\r\n title = '人脸识别';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n }\r\n this.setState({\r\n status: status,\r\n memberShow: true,\r\n titleModal: title\r\n })\r\n }\r\n\r\n openCloseModal = () => {\r\n const { setMemberFocus } = this.props;\r\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\r\n const uiState = memberStore.uiState;\r\n const IsIntegralExchange = memberStore.store && memberStore.store.data && memberStore.store.data.IsIntegralExchange\r\n if (!!uiState.tip) {\r\n Message.info(uiState.tip)\r\n return;\r\n }\r\n ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '关闭会员',\r\n content: `${IsIntegralExchange ? \"关闭会员将会清空商品信息!\" : \"确定要关闭该会员吗?\"}`,\r\n onOk: () => {\r\n this.ms.clearSeletMember();\r\n stores.selectMemberStore.clearMemberCare();\r\n typeof setMemberFocus == 'function' && setMemberFocus();\r\n }\r\n })\r\n }\r\n\r\n //关闭生日提醒\r\n handleCloseBirthdayModal = () => {\r\n this.ms.changeBirthdayShow(false);\r\n }\r\n\r\n //会员关怀-送礼\r\n handleMemberCareModal = () => {\r\n this.setState({ isMemberCareModal: true })\r\n }\r\n handleMemberCareModalCancel = () => {\r\n this.setState({ isMemberCareModal: false })\r\n }\r\n\r\n handleSearch = (val) => {\r\n this.setState({ searchValue: val })\r\n }\r\n\r\n handleFocus = (el) => {\r\n if (this.isMemberInputType) return;\r\n const _this = this;\r\n function cb() {\r\n _this.searchMember(undefined, 'ok');\r\n }\r\n Keyboard.open2((v) => {\r\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\r\n this.handleSearch(value);\r\n }, cb, this.keyboardClose , 'ByMember', localStore.get('ByMember'))\r\n }\r\n\r\n keyboardClose = () => {\r\n this.inputSearch.blur();\r\n }\r\n handleBlur = () => {\r\n Keyboard.close2();\r\n }\r\n\r\n handleReadICard = () => {\r\n this.readRfCard();\r\n }\r\n\r\n handleShowModal = (type, params) => {\r\n if (params) {\r\n this.setState({ dtMember: params, memberShow: type })\r\n } else {\r\n this.setState({ memberShow: type })\r\n }\r\n }\r\n\r\n handlePhotoModal = (type, newAvatar) => {\r\n if (newAvatar) {\r\n this.setState({\r\n newAvatar,\r\n memberPhoto: type\r\n })\r\n } else {\r\n this.setState({ memberPhoto: type })\r\n }\r\n }\r\n\r\n SetKeyBoardDisplay = (value) => {\r\n this.isHorizontalSunMi && window.android_setKeyBoard && window.android_setKeyBoard.SetKeyBoardDisplay(value)\r\n }\r\n\r\n searchMember = (val, type) => {\r\n if(!stores.offlineSys.shouldMemberSearch()) 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 } = this.props;\r\n this.searchLoading = true;\r\n this.setState({searchVisible: true});\r\n this.ms.getSearchMember({\r\n currentPage: 1,\r\n pageSize: 10,\r\n key: val,\r\n isSingleMember: false\r\n }).then(ret => {\r\n this.searchLoading = false;\r\n const {ColumnInfo: columnInfo, Data} = ret || {};\r\n const data = JSON.parse(Data) || [];\r\n const info = data[0];\r\n this.setState({searchVisible: false, columnInfo});\r\n memberSearched && memberSearched(info, 'searched');\r\n if (info) {\r\n if (data.length > 1) {\r\n this.SetKeyBoardDisplay(1)\r\n stores.drawerStore.init({\r\n title: '会员管理',\r\n key: 'member',\r\n onHide:()=>{\r\n this.SetKeyBoardDisplay(0)\r\n },\r\n listArr: data,\r\n });\r\n this.setState({\r\n searchValue: null\r\n })\r\n } else {\r\n memberSearched && memberSearched(info, 'searched');\r\n userInfoFormat(info);\r\n if (errMessageTip(info)) return;\r\n this.ms.seletMember(info, true);\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n this.handleBlur();\r\n selectMemberSuccess && selectMemberSuccess();\r\n }\r\n } else {\r\n if (type === 'ok'){\r\n Message.warn('会员不存在');\r\n if (this.isMobileEnvironment) {\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n }\r\n typeof setMemberFocus == 'function' && setMemberFocus();\r\n }\r\n }\r\n }).catch(err => {\r\n this.setState({searchVisible: false});\r\n this.searchLoading = false;\r\n memberSearched && memberSearched(undefined, 'err');\r\n })\r\n }\r\n\r\n //获取当前到店会员数量\r\n getInStoreMemberCount = () => {\r\n if (!this.ms) return;\r\n this.ms.getInStoreMemberCount().then(res => {\r\n const {data: {data: shopPerson} = {}} = res || {};\r\n this.setState({shopPerson});\r\n this.resetInShopMemberTimer(shopPerson);\r\n });\r\n }\r\n\r\n onKeyPressed = (e) => {\r\n const keyCode = e && e.keyCode\r\n if (keyCode === 13) {\r\n if (this.isMemberInputType) {\r\n let stime = this.keypressStime;\r\n let etime = Date.parse(new Date());\r\n if (etime - stime > 300) {\r\n this.handleSearch('')\r\n this.keypressStime = null;\r\n return Message.warn('未启用键盘录入功能');\r\n }\r\n this.keypressStime = null;\r\n }\r\n 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 }\r\n }\r\n\r\n computedCoupon = (member = {}) => {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (!!isNewRetailBCPos) {\r\n return member.MemberCouponCount? member.MemberCouponCount : '0';\r\n } else {\r\n const couponKey = 'membercouponcount';\r\n const {DynamicPropertyKeys = [], DynamicPropertyValues = []} = member;\r\n const couponIndex = DynamicPropertyKeys.findIndex(v => v === couponKey);\r\n return ~couponIndex ? DynamicPropertyValues[couponIndex] : '0';\r\n }\r\n }\r\n\r\n loadFaceRecognition = (type) => {\r\n // type = 1:到店会员 type = 2:POS机人脸识别\r\n this.setState({faceLoading: type === 2, inShopLoading: type === 1});\r\n this.ms.loadInStoreMember(String(type))\r\n .then(res => {\r\n this.setState({faceLoading: false, inShopLoading: false});\r\n const {Data} = res || {};\r\n if (!JSON.parse(Data).length) {\r\n const tipMessage = ['当前没有到店会员', '未识别到人脸信息'];\r\n type === 1 && this.setState({shopPerson: 0});\r\n return Message.info(tipMessage[type - 1]);\r\n }\r\n type === 1 && this.getInStoreMemberCount();\r\n this.openShowModal(type, res);\r\n })\r\n .catch(err => {\r\n this.setState({faceLoading: false, inShopLoading: false});\r\n console.log(err)\r\n });\r\n }\r\n\r\n //移动端:扫描商品\r\n changeScanProduct = () => {\r\n if (this.scanObj) this.scanObj.startScan()\r\n }\r\n onScanResult = (res) => {\r\n this.setState({\r\n searchValue: res\r\n }, () => {\r\n this.onKeyPressed({ keyCode: 13 })\r\n })\r\n }\r\n\r\n setIsShowBirthdayTip = () => {\r\n stores.selectMemberStore.clearMemberCare()\r\n }\r\n\r\n getMemberBirthdayInfo = (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n }\r\n\r\n render() {\r\n const {\r\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\r\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible = false, columnInfo, isCC,\r\n isMemberCare, isMemberCareModal, isShowBirthdayTip\r\n } = this.state;\r\n const { mode = 'formal', authProcess, selectMemberSuccess } = this.props;\r\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\r\n const { data: { Member: dtMember = {} } = {}, items = [] } = this.context.viewModel || {};\r\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\r\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\r\n const isSelectedMember = !!dtMember.ID;\r\n const { Differentiate } = enumController.getEnumOj();\r\n const { memberCareInfo } = stores.selectMemberStore;\r\n let { isNewRetailBCPos } = platform || {};\r\n\r\n\r\n return (\r\n <div className='MemberContainer'>\r\n <div className='left'>\r\n {!isSelectedMember &&\r\n <div className='search'>\r\n <div className='b1'>\r\n <Input\r\n type='text'\r\n className=\"input\"\r\n id='memberPoint'\r\n placeholder='扫描/输入会员号'\r\n value={searchValue}\r\n ref={el => this.inputSearch = el && el.input}\r\n onChange={(e) => this.handleSearch(e.target.value)}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n onKeyDown={this.onKeyPressed}\r\n />\r\n <Spin\r\n className='search-spin'\r\n scale={0.8}\r\n type='circle-side'\r\n visible={searchVisible}\r\n />\r\n </div>\r\n <div className='b2'>\r\n {\r\n this.hasElectron === true && this.iCCardServer === 1 &&\r\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\r\n }\r\n {\r\n this.isHorizontalPad ?\r\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\r\n :\r\n (\r\n false && this.openFaceRecognition === 1 && !faceLoading &&\r\n <div className='openFaceRecognition-box'>\r\n <Ticon className='icon' onClick={() => this.loadFaceRecognition(2)} type=\"renlianshibie\" />\r\n <Spin\r\n className='face-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={faceLoading}\r\n />\r\n </div>\r\n )\r\n }\r\n {\r\n /* 扫描组件 */\r\n this.isHorizontalPad &&\r\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanResult} />\r\n }\r\n </div>\r\n </div>\r\n }\r\n {isSelectedMember &&\r\n <div className={`info ${this.openFaceRecognition ? '' : 'member-btn-hidden-flex'}`}>\r\n <div className='first'>\r\n <img onClick={this.openPhotoModal} src={newAvatar || dtMember.ImageFile || emptyMemberImage} />\r\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"shengri\" className='shengriIcon'></Ticon>\r\n }\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <div className='birthdayContent'>\r\n <div className='birthdayWarn'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\r\n <Button colors=\"warn\" onClick={this.handleMemberCareModal} className='check bg-theme'>查看</Button>\r\n <Ticon type=\"cuowuda\" className='cuowudaIcon'></Ticon>\r\n </div>\r\n }\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"cuowuda\" onClick={() => { this.setIsShowBirthdayTip()}} className='cuowudaIcon'></Ticon>\r\n }\r\n </div>\r\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\r\n <div className='one'>\r\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\r\n <div className='b'>{dtMember.CardCode}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\r\n <div className='b'>余额</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{this.computedCoupon(dtMember)}</div>\r\n <div className='b'>{Differentiate.COUPON}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\r\n <div className='b'>积分</div>\r\n </div>\r\n </div>\r\n <div className='close'>\r\n {!isTakeTheir && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n {/* {\r\n memberCareInfo && memberCareInfo.isTicket ? <div className='float'>\r\n <div className='txt'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\r\n <div className='btn' onClick={this.handleMemberCareModal}>查看</div>\r\n <div className='cancel'>\r\n <Ticon type='guanbixiao' onClick={() => {\r\n this.setIsShowBirthdayTip()\r\n }}/>\r\n </div>\r\n </div> : null\r\n } */}\r\n {!!this.openFaceRecognition && <div className='right'>\r\n <Button type=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\r\n {!inShopLoading && '到店会员'}\r\n <Spin\r\n className='inshop-member-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={inShopLoading}\r\n />\r\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\r\n </Button>\r\n </div>}\r\n <MemberModal\r\n mode={mode}\r\n authProcess={authProcess}\r\n viewMemberInfo={viewMemberInfo}\r\n columnInfo={columnInfo}\r\n status={status}\r\n showModal={memberShow}\r\n titleModal={titleModal}\r\n selectMemberSuccess={selectMemberSuccess}\r\n handleModal={this.handleShowModal}\r\n />\r\n <ModalWraper\r\n show={isMemberCareModal}\r\n className='member-care-modal'\r\n width='688'\r\n centered={true}\r\n memberClass='memberCareWidth'\r\n cancel={this.handleMemberCareModalCancel}\r\n >\r\n <div className='first'>会员生日关怀</div>\r\n <div className='second'>\r\n <div className='secondContent'>\r\n <Ticon type='dengpao'/>\r\n <span>口头关怀客户,提示引导客户去线上商城领取权益。</span>\r\n </div>\r\n </div>\r\n <div className='third'>\r\n <div className='one'>\r\n <img src={emptyMemberImage} />\r\n <Ticon type='shengri' />\r\n </div>\r\n <div className='two'>\r\n {\r\n memberCareInfo && memberCareInfo.daysToBirthday === 0 ? <span>\r\n 今天是{dtMember.Name}的生日,该会员是{dtMember.MemberType.Name},可享受以下权益\r\n </span> : <span>\r\n {dtMember.Name}会员还有{memberCareInfo && memberCareInfo.daysToBirthday}天生日,该会员是{dtMember.MemberType.Name},可享受以下权益\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n {\r\n memberCareInfo && <div className='fourth'>\r\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple && <div className='item'>1.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple}</div>}\r\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive && <div className='item'>2.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive}</div>}\r\n {\r\n memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].couponIdMapList.map((value, index) => {\r\n let count = 0;\r\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple) {\r\n count += 1;\r\n }\r\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive) {\r\n count += 1;\r\n }\r\n return (<div className='item'>{count + 1 + index}.{value.name}</div>)\r\n })\r\n }\r\n </div>\r\n }\r\n </ModalWraper>\r\n {\r\n !isNewRetailBCPos && <ModalWraper show={this.ms.birthdayShow} centered={true} className='member-birthday'>\r\n <div className='picture'>\r\n <img width='350' height='308' src={memberBirthday} />\r\n <Ticon type=\"guanbi-yuan\" onClick={this.handleCloseBirthdayModal} />\r\n </div>\r\n <div className='remark'>今天是会员<span>{dtMember.Name || dtMember.CardCode}</span>的生日</div>\r\n </ModalWraper>\r\n }\r\n </div>\r\n );\r\n }\r\n}\r\nexport default MemberTag\r\n"]}
1
+ {"version":3,"sources":["tplus-member/member/index.js"],"names":["hasElectron","env","platform","constant","electron","emptyMemberImage","memberBirthday","currentMember","MemberTag","observer","props","localStore","get","loginInfo","isMemberInputType","MemberMeStorageCardInputByKeyBoard","OpenFaceRecognition","ICCardServer","ICCardPassword","parseInt","isStorageCardInputType","openFaceRecognition","iCCardServer","iCCardPassword","ms","memberStore","isHorizontalPad","isHorizontalSunMi","isMobileEnvironment","handleReadICard","bind","keypressStime","iseyboardKEnter","isNewRetailBCPos","state","isCC","isShowBirthdayTip","context","viewModel","data","Member","dtMember","selectMemberInfo","isClear","memberChangeData","length","undefined","memberChange","setState","newAvatar","deepCloneMember","JSON","parse","ID","clearSeletMember","seletMember","stores","selectMemberStore","clearMemberCare","connectRfCard","window","removeEventListener","windowOnresize","closeRfCard","nextProps","isSendMessage","getInStoreMemberCount","nativeMs","setIpcRendererMethod","result","ret","status","connectCardStatus","connectCardError","value","Message","error","params","cardPsw","cardSec","cardKm","searchMember","memberPhoto","titleModal","memberShow","inShopLoading","faceLoading","shopPerson","searchValue","viewMemberInfo","searchVisible","columnInfo","isMemberCare","isMemberCareModal","mode","authProcess","selectMemberSuccess","precisionInfo","items","viewVoucher","find","v","type","isTakeTheir","getIsTakeTheir","isSelectedMember","enumController","getEnumOj","Differentiate","memberCareInfo","inputSearch","el","input","e","handleSearch","target","handleFocus","handleBlur","onKeyPressed","changeScanProduct","loadFaceRecognition","scanObj","scan","onScanResult","openPhotoModal","ImageFile","handlePhotoModal","isTicket","daysToBirthday","handleMemberCareModal","setIsShowBirthdayTip","openShowModal","Name","CardCode","BalanceStorage","computedCoupon","COUPON","BalanceIntegral","openCloseModal","handleShowModal","handleMemberCareModalCancel","MemberType","memberCareDTO","memberRightRuleList","integralMultiple","integralGive","couponIdMapList","map","index","count","name","birthdayShow","handleCloseBirthdayModal","Component","propTypes","PropTypes","func","memberSearched","contextTypes","onEvent","object","defaultProps","controllerEvent","methodName","methodArgs","Action","fromJS","resetInShopMemberTimer","timer","clearTimeout","time","setTimeout","warn","res","title","jsMember","updateMember","setMemberFocus","uiState","IsIntegralExchange","store","tip","info","ModalWraper","confirm","className","content","onOk","changeBirthdayShow","val","_this","cb","Keyboard","open2","getNewValue","keyboardClose","blur","close2","readRfCard","SetKeyBoardDisplay","android_setKeyBoard","searchLoading","trim","getMemberBirthday","getMeStorageCard","getSearchMember","currentPage","pageSize","key","isSingleMember","then","ColumnInfo","Data","IsStorage","drawerStore","init","onHide","listArr","catch","keyCode","stime","etime","Date","member","MemberCouponCount","couponKey","DynamicPropertyKeys","DynamicPropertyValues","couponIndex","findIndex","loadInStoreMember","String","tipMessage","console","log","err","startScan","getMemberBirthdayInfo","changeMemberCare"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAAA;;;;;;;;;;;AAKA;;;;AAEA;;AACA;;AACA;;;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;AACA;;;;AAGA,IAAMA,cAAeC,oBAAIC,QAAJ,KAAiBD,oBAAIE,QAAJ,CAAaD,QAAb,CAAsBE,QAA5D;AACA;AACA,IAAMC,mBAAmB,yDAAzB;AACA,IAAMC,iBAAiB,mEAAvB;AACA,IAAIC,sBAAJ;;IAGMC,S,OADLC,mB;;;AAgCG,uBAAYC,KAAZ,EAAmB;AAAA;;AAAA,iJACTA,KADS;;AAAA;;AAEf,eAAKV,WAAL,GAAmBA,WAAnB;;AAFe,mBAG0HW,2BAAWC,GAAX,CAAe,MAAf,KAA0B,EAHpJ;AAAA,kCAGPC,SAHO;;AAAA,wDAGmH,EAHnH;AAAA,YAGMC,iBAHN,kBAGMA,iBAHN;AAAA,YAGyBC,kCAHzB,kBAGyBA,kCAHzB;AAAA,YAG6DC,mBAH7D,kBAG6DA,mBAH7D;AAAA,YAGkFC,YAHlF,kBAGkFA,YAHlF;AAAA,YAGgGC,cAHhG,kBAGgGA,cAHhG;;AAIf,eAAKJ,iBAAL,GAAyBK,SAASL,iBAAT,CAAzB,CAJe,CAIuC;AACtD,eAAKM,sBAAL,GAA8BL,kCAA9B,CALe,CAKmD;AAClE,eAAKM,mBAAL,GAA2BF,SAASH,mBAAT,CAA3B,CANe,CAM2C;AAC1D,eAAKM,YAAL,GAAoBH,SAASF,YAAT,CAApB,CAPe,CAO8B;AAC7C,eAAKM,cAAL,GAAsBL,cAAtB,CARe,CAQ2B;AAC1C,eAAKM,EAAL,GAAUC,aAAV;AACA;;AAVe,oBAWgCvB,yBAAY,EAX5C;AAAA,YAWPwB,eAXO,SAWPA,eAXO;AAAA,YAWUC,iBAXV,SAWUA,iBAXV;;AAYf,eAAKD,eAAL,GAAuB,CAAC,CAACA,eAAzB;AACA,eAAKE,mBAAL,GAA2B,CAAC,CAACF,eAAF,IAAqB,CAAC,CAACC,iBAAlD;AACA,eAAKE,eAAL,GAAuB,OAAKA,eAAL,CAAqBC,IAArB,QAAvB;;AAEA;AACA,eAAKC,aAAL,GAAqB,IAArB;AACA,eAAKC,eAAL,GAAuB,KAAvB,CAlBe,CAkBgB;;AAlBhB,oBAmBY9B,yBAAY,EAnBxB;AAAA,YAmBT+B,gBAnBS,SAmBTA,gBAnBS;;AAoBf,eAAKC,KAAL,GAAa;AACTC,kBAAM,CAAC,CAACF,gBADC;AAETG,+BAAmB;AAFV,SAAb;AApBe;AAwBlB;;;;6CAEoB;AAAA;;AAAA,wBACgC,KAAKC,OAAL,CAAaC,SAAb,IAA0B,EAD1D;AAAA,mCACTC,IADS;;AAAA,oDACyB,EADzB;AAAA,+CACDC,MADC;AAAA,gBACOC,QADP,qCACkB,EADlB;AAAA,sBAEkC,KAAKjB,EAFvC;AAAA,2CAETkB,gBAFS;AAAA,gBAETA,gBAFS,wCAEU,EAFV;AAAA,kCAEcC,OAFd;AAAA,gBAEcA,OAFd,+BAEwB,KAFxB;;AAGjB,gBAAMC,mBAAmB,oBAAYF,gBAAZ,EAA8BG,MAA9B,GAAuCH,gBAAvC,GAA0DI,SAAnF;;AAEA,gBAAMC,eAAe,SAAfA,YAAe,CAACR,IAAD,EAAU;AAC7B,uBAAKS,QAAL,CAAc,EAACC,WAAW,EAAZ,EAAd;AACA,uBAAKvC,KAAL,CAAWqC,YAAX,CAAwBR,IAAxB;AACD,aAHD;AAIA,gBAAI,QAAOK,gBAAP,uDAAOA,gBAAP,OAA4B,QAAhC,EAA0C;AACtC,oBAAMM,kBAAkBC,KAAKC,KAAL,CAAW,yBAAeR,gBAAf,CAAX,CAAxB;AACA,oBAAI,CAACrC,aAAL,EAAoB;AAChBA,oCAAgB2C,eAAhB;AACAH,iCAAaH,gBAAb;AACH,iBAHD,MAGO,IAAIrC,cAAc8C,EAAd,KAAqBT,iBAAiBS,EAA1C,EAA8C;AACjDN,iCAAaH,gBAAb;AACArC,oCAAgB2C,eAAhB;AACH,iBAHM,MAGA,IAAI,CAACT,SAASY,EAAV,IAAgB,CAAC9C,iBAAiB,EAAlB,EAAsB8C,EAA1C,EAA8C;AAAE;AACnD9C,oCAAgBuC,SAAhB;AACA,yBAAKtB,EAAL,CAAQ8B,gBAAR;AACH;AACJ,aAZD,MAYO,IAAI/C,iBAAiB,CAACqC,gBAAtB,EAAwC;AAC3CG,6BAAaH,gBAAb;AACArC,gCAAgBuC,SAAhB;AACH,aAHM,MAGA,IAAIL,SAASY,EAAT,IAAe,CAAC,CAAC9C,iBAAiB,EAAlB,EAAsB8C,EAA1C,EAA8C;AAAE;AACnD,oBAAMH,mBAAkBC,KAAKC,KAAL,CAAW,yBAAeX,QAAf,CAAX,CAAxB;AACAlC,gCAAgB2C,gBAAhB;AACA,qBAAK1B,EAAL,CAAQ+B,WAAR,CAAoBd,QAApB;AACH;AACJ;;;4CAEmB;AAChBe,mCAAOC,iBAAP,IAA4BD,uBAAOC,iBAAP,CAAyBC,eAAzB,EAA5B;AACA,iBAAKC,aAAL;AACH;;;+CAEsB;AACnBC,mBAAOC,mBAAP,CAA2B,QAA3B,EAAqC,KAAKC,cAA1C;AACA,iBAAKC,WAAL;AACH;;;kDAEyBC,S,EAAW;AACjC;AADiC,gBAE3BC,aAF2B,GAETD,SAFS,CAE3BC,aAF2B;;AAGjC,gBAAIA,kBAAkB,IAAtB,EAA4B,KAAKC,qBAAL;AAC/B;;;;AAcD;wCACgB;AAAA;;AACZ;AACA,gBAAI,KAAKlE,WAAL,KAAqB,IAArB,IAA6B,KAAKsB,YAAL,KAAsB,CAAvD,EAA0D;AACtD6C,yCAASC,oBAAT,CAA8B,eAA9B,EAA+C,IAA/C,EAAqD,eAAO;AACxD,wBAAIC,SAAS,EAAb;AACA,wBAAIC,IAAIC,MAAJ,KAAe,CAAnB,EAAsB;AAClBF,iCAAS,EAAEG,mBAAmB,KAArB,EAA4BC,kBAAkBH,IAAII,KAAlD,EAAT;AACH,qBAFD,MAEO;AACHL,iCAAS,EAAEG,mBAAmB,IAArB,EAA2BC,kBAAkB,EAA7C,EAAT;AACH;AACD,2BAAKzB,QAAL,CAAcqB,MAAd;AACH,iBARD;AASH;AACJ;;AAED;;;;qCACa;AAAA;;AACT;AACA,gBAAI,KAAKrE,WAAL,KAAqB,IAArB,IAA6B,KAAKsB,YAAL,KAAsB,CAAvD,EAA0D;AAAA,6BACN,KAAKY,KADC;AAAA,oBAC9CsC,iBAD8C,UAC9CA,iBAD8C;AAAA,oBAC3BC,gBAD2B,UAC3BA,gBAD2B;;AAEtD,oBAAID,sBAAsB,KAA1B,EAAiC;AAC7BG,kDAAQC,KAAR,CAAcH,mBAAmBA,gBAAnB,GAAsC,SAApD;AACA,yBAAKd,aAAL,GAF6B,CAEP;AACtB;AACH;AACD,oBAAIkB,SAAS,EAAEC,SAAS,KAAKvD,cAAhB,EAAgCwD,SAAS,EAAzC,EAA6CC,QAAQ,CAArD,EAAb;AACAb,yCAASC,oBAAT,CAA8B,YAA9B,6BAAiDS,MAAjD,GAA2D,eAAO;AAC9D,wBAAIP,IAAIC,MAAJ,KAAe,CAAnB,EAAsB;AAClBI,sDAAQC,KAAR,CAAcN,IAAII,KAAlB;AACA,+BAAKf,aAAL,GAFkB,CAEI;AACtB;AACH,qBAJD,MAIO,IAAIW,IAAIC,MAAJ,KAAe,CAAnB,EAAsB;AACzB,+BAAKU,YAAL,CAAkBX,IAAII,KAAtB;AACH;AACJ,iBARD;AASH;AACJ;;AAED;;;;sCACa;AACT,gBAAI,KAAK1E,WAAL,KAAqB,IAArB,IAA6B,KAAKsB,YAAL,KAAsB,CAAvD,EAA0D;AACtD6C,yCAASC,oBAAT,CAA8B,aAA9B;AACH;AACJ;;AAgED;;;AAKA;;;AA4HA;;;AAsEA;;;;iCAoBS;AAAA;;AAAA,0BAKD,KAAKlC,KALJ;AAAA,gBAEDgD,WAFC,WAEDA,WAFC;AAAA,gBAEYC,UAFZ,WAEYA,UAFZ;AAAA,gBAEwBC,UAFxB,WAEwBA,UAFxB;AAAA,gDAEoCC,aAFpC;AAAA,gBAEoCA,aAFpC,yCAEoD,KAFpD;AAAA,8CAE2DC,WAF3D;AAAA,gBAE2DA,WAF3D,uCAEyE,KAFzE;AAAA,gBAGDf,MAHC,WAGDA,MAHC;AAAA,gBAGOgB,UAHP,WAGOA,UAHP;AAAA,gBAGmBC,WAHnB,WAGmBA,WAHnB;AAAA,gBAGgCC,cAHhC,WAGgCA,cAHhC;AAAA,gBAGgDxC,SAHhD,WAGgDA,SAHhD;AAAA,gDAG2DyC,aAH3D;AAAA,gBAG2DA,aAH3D,yCAG2E,KAH3E;AAAA,gBAGkFC,UAHlF,WAGkFA,UAHlF;AAAA,gBAG8FxD,IAH9F,WAG8FA,IAH9F;AAAA,gBAIDyD,YAJC,WAIDA,YAJC;AAAA,gBAIaC,iBAJb,WAIaA,iBAJb;AAAA,gBAIgCzD,iBAJhC,WAIgCA,iBAJhC;AAAA,yBAMyD,KAAK1B,KAN9D;AAAA,qCAMGoF,IANH;AAAA,gBAMGA,IANH,+BAMU,QANV;AAAA,gBAMoBC,WANpB,UAMoBA,WANpB;AAAA,gBAMiCC,mBANjC,UAMiCA,mBANjC;AAAA,uBAO4C,KAAKxE,EAPjD;AAAA,gBAOGkB,gBAPH,QAOGA,gBAPH;AAAA,0CAOqBuD,aAPrB;AAAA,gBAOqBA,aAPrB,sCAOqC,EAPrC,uBAOqD;;AAPrD,wBAQwD,KAAK5D,OAAL,CAAaC,SAAb,IAA0B,EARlF;AAAA,mCAQGC,IARH;;AAAA,oDAQqC,EARrC;AAAA,+CAQWC,MARX;AAAA,gBAQmBC,QARnB,qCAQ8B,EAR9B;AAAA,oCAQyCyD,KARzC;AAAA,gBAQyCA,KARzC,+BAQiD,EARjD;;AASL,gBAAMC,cAAcD,MAAME,IAAN,CAAW;AAAA,uBAAKC,EAAEC,IAAF,KAAW,SAAhB;AAAA,aAAX,KAAyC,EAA7D;AACA,gBAAMC,cAAcJ,YAAYK,cAAZ,IAA8BL,YAAYK,cAAZ,EAAlD;AACA,gBAAMC,mBAAmB,CAAC,CAAChE,SAASY,EAApC;;AAXK,wCAYqBqD,4BAAeC,SAAf,EAZrB;AAAA,gBAYGC,aAZH,yBAYGA,aAZH;;AAAA,gBAaGC,cAbH,GAasBrD,uBAAOC,iBAb7B,CAaGoD,cAbH;;AAAA,wBAcsB3G,yBAAY,EAdlC;AAAA,gBAcC+B,gBAdD,SAcCA,gBAdD;;AAeL,mBACI;AAAA;AAAA,kBAAK,WAAU,iBAAf;AACI;AAAA;AAAA,sBAAK,WAAU,MAAf;AACK,qBAACwE,gBAAD,IACG;AAAA;AAAA,0BAAK,WAAU,QAAf;AACI;AAAA;AAAA,8BAAK,WAAU,IAAf;AACI;AACI,sCAAK,MADT;AAEI,2CAAU,OAFd;AAGI,oCAAG,aAHP;AAII,6CAAY,6CAJhB;AAKI,uCAAOjB,WALX;AAMI,qCAAK;AAAA,2CAAM,OAAKsB,WAAL,GAAmBC,MAAMA,GAAGC,KAAlC;AAAA,iCANT;AAOI,0CAAU,kBAACC,CAAD;AAAA,2CAAO,OAAKC,YAAL,CAAkBD,EAAEE,MAAF,CAASzC,KAA3B,CAAP;AAAA,iCAPd;AAQI,yCAAS,KAAK0C,WARlB;AASI,wCAAQ,KAAKC,UATjB;AAUI,2CAAW,KAAKC;AAVpB,8BADJ;AAaI,0DAAC,0BAAD;AACI,2CAAU,aADd;AAEI,uCAAO,GAFX;AAGI,sCAAK,aAHT;AAII,yCAAS5B;AAJb;AAbJ,yBADJ;AAqBI;AAAA;AAAA,8BAAK,WAAU,IAAf;AAEQ,iCAAK1F,WAAL,KAAqB,IAArB,IAA6B,KAAKsB,YAAL,KAAsB,CAAnD,IACA,8BAAC,2BAAD,IAAO,WAAU,MAAjB,EAAwB,SAAS,KAAKO,eAAtC,EAAuD,MAAK,MAA5D,GAHR;AAMQ,iCAAKH,eAAL,GACI,8BAAC,2BAAD,IAAO,MAAK,UAAZ,EAAuB,WAAU,MAAjC,EAAwC,SAAS,KAAK6F,iBAAtD,GADJ,GAIQ,SAAS,KAAKlG,mBAAL,KAA6B,CAAtC,IAA2C,CAACiE,WAA5C,IACA;AAAA;AAAA,kCAAK,WAAU,yBAAf;AACI,8DAAC,2BAAD,IAAO,WAAU,MAAjB,EAAwB,SAAS;AAAA,+CAAM,OAAKkC,mBAAL,CAAyB,CAAzB,CAAN;AAAA,qCAAjC,EAAoE,MAAK,eAAzE,GADJ;AAEI,8DAAC,0BAAD;AACI,+CAAU,WADd;AAEI,2CAAO,GAFX;AAGI,0CAAK,QAHT;AAII,6CAASlC;AAJb;AAFJ,6BAXhB;;AAuBQ;AACA,iCAAK5D,eAAL,IACA,8BAAC,0BAAD,IAAM,KAAK;AAAA,2CAAQ,OAAK+F,OAAL,GAAeC,IAAvB;AAAA,iCAAX,EAAwC,UAAU,KAAKC,YAAvD;AAzBR;AArBJ,qBAFR;AAqDKlB,wCACG;AAAA;AAAA,0BAAK,sBAAmB,KAAKpF,mBAAL,GAA2B,EAA3B,GAAgC,wBAAnD,CAAL;AACI;AAAA;AAAA,8BAAK,WAAU,OAAf;AACI,mEAAK,SAAS,KAAKuG,cAAnB,EAAmC,KAAK3E,aAAaR,SAASoF,SAAtB,IAAmCxH,gBAA3E,GADJ;AAEK6E,2CAAe,8BAAC,qBAAD,IAAa,UAAUzC,QAAvB,EAAiC,WAAWyC,WAA5C,EAAyD,YAAYC,UAArE,EAAiF,aAAa,KAAK2C,gBAAnG,GAFpB;AAISjB,8CAAkBA,eAAekB,QAAjC,IAA6C,8BAAC,2BAAD,IAAO,MAAK,SAAZ,EAAsB,WAAU,aAAhC,GAJtD;AAOQlB,8CAAkBA,eAAekB,QAAjC,IAA6C;AAAA;AAAA,kCAAK,WAAU,iBAAf;AACzC;AAAA;AAAA,sCAAK,WAAU,cAAf;AAA+BlB,mDAAemB,cAAf,KAAkC,CAAlC,GAAsC,MAAtC,GAA+CnB,eAAemB,cAAf,GAAgC;AAA9G,iCADyC;AAEzC;AAAA;AAAA,sCAAQ,QAAO,MAAf,EAAsB,SAAS,KAAKC,qBAApC,EAA2D,WAAU,gBAArE;AAAA;AAAA,iCAFyC;AAGzC,8DAAC,2BAAD,IAAO,MAAK,SAAZ,EAAsB,WAAU,aAAhC;AAHyC,6BAPrD;AAcOpB,8CAAkBA,eAAekB,QAAjC,IAA6C,8BAAC,2BAAD,IAAO,MAAK,SAAZ,EAAsB,SAAS,mBAAM;AAAE,2CAAKG,oBAAL;AAA4B,iCAAnE,EAAqE,WAAU,aAA/E;AAdpD,yBADJ;AAkBI;AAAA;AAAA,8BAAK,WAAU,2BAAf,EAA2C,SAAS;AAAA,2CAAM,OAAKC,aAAL,CAAmB,CAAnB,CAAN;AAAA,iCAApD;AACI;AAAA;AAAA,kCAAK,WAAU,KAAf;AACK1F,yCAAS2F,IAAT,IAAiB;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB3F,6CAAS2F;AAA7B,iCADtB;AAEI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB3F,6CAAS4F;AAA7B;AAFJ,6BADJ;AAKI;AAAA;AAAA,kCAAK,WAAU,KAAf;AACI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB,gEAAgB5F,SAAS6F,cAAzB,EAAyCrC,cAAcqC,cAAvD;AAApB,iCADJ;AAEI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAA;AAAA;AAFJ,6BALJ;AASI;AAAA;AAAA,kCAAK,WAAU,KAAf;AACI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB,yCAAKC,cAAL,CAAoB9F,QAApB;AAApB,iCADJ;AAEI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoBmE,kDAAc4B;AAAlC;AAFJ,6BATJ;AAaI;AAAA;AAAA,kCAAK,WAAU,KAAf;AACI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAoB,gEAAgB/F,SAASgG,eAAzB,EAA0CxC,cAAcwC,eAAxD,KAA4E;AAAhG,iCADJ;AAEI;AAAA;AAAA,sCAAK,WAAU,GAAf;AAAA;AAAA;AAFJ;AAbJ,yBAlBJ;AAoCI;AAAA;AAAA,8BAAK,WAAU,OAAf;AACK,6BAAClC,WAAD,IAAgB,8BAAC,2BAAD,IAAO,MAAK,aAAZ,EAA0B,SAAS,KAAKmC,cAAxC;AADrB;AApCJ;AAtDR,iBADJ;AA4GK,iBAAC,CAAC,KAAKrH,mBAAP,IAA8B;AAAA;AAAA,sBAAK,WAAU,OAAf;AAC3B;AAAA;AAAA,0BAAQ,MAAK,SAAb,EAAuB,SAAS;AAAA,uCAAM,OAAKmG,mBAAL,CAAyB,CAAzB,CAAN;AAAA,6BAAhC,EAAmE,WAAU,KAA7E,EAAmF,UAAUnC,aAA7F;AACK,yBAACA,aAAD,IAAkB,MADvB;AAEI,sDAAC,0BAAD;AACI,uCAAU,oBADd;AAEI,mCAAO,GAFX;AAGI,kCAAK,QAHT;AAII,qCAASA;AAJb,0BAFJ;AAQK,yBAAC,CAACE,UAAF,IAAgB;AAAA;AAAA,8BAAK,WAAU,OAAf;AAAwBA;AAAxB;AARrB;AAD2B,iBA5GnC;AAwHI,8CAAC,oBAAD;AACI,0BAAMO,IADV;AAEI,iCAAaC,WAFjB;AAGI,oCAAgBN,cAHpB;AAII,gCAAYE,UAJhB;AAKI,4BAAQpB,MALZ;AAMI,+BAAWa,UANf;AAOI,gCAAYD,UAPhB;AAQI,yCAAqBa,mBARzB;AASI,iCAAa,KAAK2C;AATtB,kBAxHJ;AAmII;AAAC,qDAAD;AAAA;AACI,8BAAM9C,iBADV;AAEI,mCAAU,mBAFd;AAGI,+BAAM,KAHV;AAII,kCAAU,IAJd;AAKI,qCAAY,iBALhB;AAMI,gCAAQ,KAAK+C;AANjB;AAQI;AAAA;AAAA,0BAAK,WAAU,OAAf;AAAA;AAAA,qBARJ;AASI;AAAA;AAAA,0BAAK,WAAU,QAAf;AACI;AAAA;AAAA,8BAAK,WAAU,eAAf;AACI,0DAAC,2BAAD,IAAO,MAAK,SAAZ,GADJ;AAEI;AAAA;AAAA;AAAA;AAAA;AAFJ;AADJ,qBATJ;AAeI;AAAA;AAAA,0BAAK,WAAU,OAAf;AACI;AAAA;AAAA,8BAAK,WAAU,KAAf;AACI,mEAAK,KAAKvI,gBAAV,GADJ;AAEI,0DAAC,2BAAD,IAAO,MAAK,SAAZ;AAFJ,yBADJ;AAKI;AAAA;AAAA,8BAAK,WAAU,KAAf;AAEQwG,8CAAkBA,eAAemB,cAAf,KAAkC,CAApD,GAAwD;AAAA;AAAA;AAAA;AAChDvF,yCAAS2F,IADuC;AAAA;AACzB3F,yCAASoG,UAAT,CAAoBT,IADK;AAAA;AAAA,6BAAxD,GAEU;AAAA;AAAA;AACL3F,yCAAS2F,IADJ;AAAA;AACcvB,kDAAkBA,eAAemB,cAD/C;AAAA;AACuEvF,yCAASoG,UAAT,CAAoBT,IAD3F;AAAA;AAAA;AAJlB;AALJ,qBAfJ;AA+BQvB,sCAAkB;AAAA;AAAA,0BAAK,WAAU,QAAf;AACbA,0CAAkBA,eAAeiC,aAAjC,IAAkDjC,eAAeiC,aAAf,CAA6BC,mBAA/E,IAAsGlC,eAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDC,gBAA1J,IAA8K;AAAA;AAAA,8BAAK,WAAU,MAAf;AAAA;AAA0BnC,2CAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDC;AAA9E,yBADjK;AAEbnC,0CAAkBA,eAAeiC,aAAjC,IAAkDjC,eAAeiC,aAAf,CAA6BC,mBAA/E,IAAsGlC,eAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDE,YAA1J,IAA0K;AAAA;AAAA,8BAAK,WAAU,MAAf;AAAA;AAA0BpC,2CAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDE;AAA9E,yBAF7J;AAIVpC,0CAAkBA,eAAeiC,aAAjC,IAAmDjC,eAAeiC,aAAf,CAA6BC,mBAAhF,IAAuGlC,eAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDG,eAApD,CAAoEC,GAApE,CAAwE,UAACzE,KAAD,EAAQ0E,KAAR,EAAkB;AAC7L,gCAAIC,QAAQ,CAAZ;AACA,gCAAIxC,eAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDC,gBAAxD,EAA0E;AACtEK,yCAAS,CAAT;AACH;AACD,gCAAIxC,eAAeiC,aAAf,CAA6BC,mBAA7B,CAAiD,CAAjD,EAAoDE,YAAxD,EAAsE;AAClEI,yCAAS,CAAT;AACH;AACD,mCAAQ;AAAA;AAAA,kCAAK,WAAU,MAAf;AAAuBA,wCAAQ,CAAR,GAAYD,KAAnC;AAAA;AAA2C1E,sCAAM4E;AAAjD,6BAAR;AACH,yBATsG;AAJ7F;AA/B1B,iBAnIJ;AAqLQ,iBAACrH,gBAAD,IAAqB;AAAC,qDAAD;AAAA,sBAAa,MAAM,KAAKT,EAAL,CAAQ+H,YAA3B,EAAyC,UAAU,IAAnD,EAAyD,WAAU,iBAAnE;AACjB;AAAA;AAAA,0BAAK,WAAU,SAAf;AACI,+DAAK,OAAM,KAAX,EAAiB,QAAO,KAAxB,EAA8B,KAAKjJ,cAAnC,GADJ;AAEI,sDAAC,2BAAD,IAAO,MAAK,aAAZ,EAA0B,SAAS,KAAKkJ,wBAAxC;AAFJ,qBADiB;AAKjB;AAAA;AAAA,0BAAK,WAAU,QAAf;AAAA;AAA6B;AAAA;AAAA;AAAO/G,qCAAS2F,IAAT,IAAiB3F,SAAS4F;AAAjC,yBAA7B;AAAA;AAAA;AALiB;AArL7B,aADJ;AAgMH;;;EA1oBmBoB,gB,WAiBbC,S,GAAY;AACf3G,kBAAc4G,oBAAUC,IADT;AAEfC,oBAAgBF,oBAAUC;AAFX,C,UAKZE,Y,GAAe;AAClBC,aAAQJ,oBAAUC,IADA;AAElBtH,eAAWqH,oBAAUK;AAFH,C,UAKfC,Y,GAAe;AAClBlH,kBAAc,wBAAM,CAAG;AADL,C;;;SAzBtBb,K,GAAQ;AACJsD,qBAAa,EADT;AAEJL,oBAAY,EAFR;AAGJC,oBAAY,KAHR;AAIJF,qBAAa,KAJT;AAKJQ,uBAAe,KALX;AAMJH,oBAAY,CANR;AAOJhB,gBAAQ,CAPJ,EAOc;AAClB9B,kBAAU,EARN,EAQa;AACjB+B,2BAAmB,KATf,EASsB;AAC1BC,0BAAkB,EAVd,EAUkB;AACtBmB,sBAAc,KAXV;AAYJC,2BAAmB;AAZf,K;;SAsGRqE,e,GAAkB,UAACC,UAAD,EAAaC,UAAb,EAA4B;AAC1C,eAAK/H,OAAL,CAAa0H,OAAb,CAAqB,EAAE,mBAAmBM,qBAAOC,MAAP,CAAc,OAAKjI,OAAL,CAAaC,SAA3B,EAAsC6H,UAAtC,CAArB,EAArB,EAA+F,iBAA/F,EAAkHC,UAAlH;AACH,K;;SAEDG,sB,GAAyB,UAAClB,KAAD,EAAW;AAChC,eAAKmB,KAAL,IAAcC,aAAa,OAAKD,KAAlB,CAAd;AACA,YAAI,CAACnB,KAAL,EAAY;AACZ,YAAMqB,OAAO,IAAI,EAAJ,GAAS,IAAtB;AACA,eAAKF,KAAL,GAAaG,WAAW,YAAM;AAC1B,mBAAKzG,qBAAL;AACH,SAFY,EAEVwG,IAFU,CAAb;AAGH,K;;SA+CD9C,c,GAAiB,YAAM;AAAA,oBACQ1H,yBAAY,EADpB;AAAA,YACb+B,gBADa,SACbA,gBADa;;AAEnB,YAAI,CAACA,gBAAL,EAAuB;AACnB,gBAAI,CAAC,OAAKZ,mBAAV,EAA+B;AAC3BsD,8CAAQiG,IAAR,CAAa,qBAAb;AACA;AACH;AACD,mBAAK5H,QAAL,CAAc;AACVkC,6BAAa,IADH;AAEVC,4BAAY;AAFF,aAAd;AAIH;AACJ,K;;SAEDgD,a,GAAgB,UAAC5D,MAAD,EAASsG,GAAT,EAAiB;AAC7B,YAAIC,QAAQ,EAAZ;;AAD6B,oBAEU,OAAKzI,OAAL,CAAaC,SAAb,IAA0B,EAFpC;AAAA,+BAErBC,IAFqB;;AAAA,gDAEG,EAFH;AAAA,2CAEbC,MAFa;AAAA,YAEbA,MAFa,qCAEJ,EAFI;AAAA,YAGtBS,SAHsB,GAGT,OAAKf,KAHI,CAGtBe,SAHsB;;AAI7B,YAAM8H,WAAW,gBAAKvI,MAAL,CAAjB;AACA,YAAMwI,eAAe/H,uCAAgB8H,QAAhB,IAA0BlD,WAAW5E,SAArC,MAAkD8H,QAAvE;AACA,gBAAQxG,MAAR;AACI,iBAAK,CAAL;AACIuG,wBAAQ,MAAR;AACA,uBAAK9H,QAAL,CAAc,EAAEyC,gBAAgBuF,YAAlB,EAAd;AACA;AACJ,iBAAK,CAAL;AACIF,wBAAQ,MAAR;AACA,uBAAK9H,QAAL,CAAc,EAAEyC,gBAAgBoF,GAAlB,EAAd;AACA;AACJ,iBAAK,CAAL;AACIC,wBAAQ,MAAR;AACA,uBAAK9H,QAAL,CAAc,EAAEyC,gBAAgBoF,GAAlB,EAAd;AACA;AAZR;AAcA,eAAK7H,QAAL,CAAc;AACVuB,oBAAQA,MADE;AAEVa,wBAAY,IAFF;AAGVD,wBAAY2F;AAHF,SAAd;AAKH,K;;SAEDpC,c,GAAiB,YAAM;AAAA,YACXuC,cADW,GACQ,OAAKvK,KADb,CACXuK,cADW;;AAEnB,YAAMxJ,cAAc,OAAKY,OAAL,CAAaC,SAAb,IAA0B,OAAKD,OAAL,CAAaC,SAAb,CAAuB4D,KAAvB,CAA6BE,IAA7B,CAAkC;AAAA,mBAAMW,GAAGuC,IAAH,IAAW,aAAjB;AAAA,SAAlC,CAA9C;AACA,YAAM4B,UAAUzJ,YAAYyJ,OAA5B;AACA,YAAMC,qBAAqB1J,YAAY2J,KAAZ,IAAqB3J,YAAY2J,KAAZ,CAAkB7I,IAAvC,IAA+Cd,YAAY2J,KAAZ,CAAkB7I,IAAlB,CAAuB4I,kBAAjG;AACA,YAAI,CAAC,CAACD,QAAQG,GAAd,EAAmB;AACf1G,0CAAQ2G,IAAR,CAAaJ,QAAQG,GAArB;AACA;AACH;AACDE,0CAAYC,OAAZ,CAAoB;AAChBC,uBAAW,qBADK;AAEhBX,mBAAO,MAFS;AAGhBY,2BAAYP,qBAAqB,eAArB,GAAuC,YAAnD,CAHgB;AAIhBQ,kBAAM,gBAAM;AACR,uBAAKnK,EAAL,CAAQ8B,gBAAR;AACAE,uCAAOC,iBAAP,CAAyBC,eAAzB;AACA,uBAAOuH,cAAP,IAAyB,UAAzB,IAAuCA,gBAAvC;AACH;AARe,SAApB;AAUH,K;;SAGDzB,wB,GAA2B,YAAM;AAC7B,eAAKhI,EAAL,CAAQoK,kBAAR,CAA2B,KAA3B;AACH,K;;SAGD3D,qB,GAAwB,YAAM;AAC1B,eAAKjF,QAAL,CAAc,EAAE6C,mBAAmB,IAArB,EAAd;AACH,K;;SACD+C,2B,GAA8B,YAAM;AAChC,eAAK5F,QAAL,CAAc,EAAE6C,mBAAmB,KAArB,EAAd;AACH,K;;SAEDqB,Y,GAAe,UAAC2E,GAAD,EAAS;AACpB,eAAK7I,QAAL,CAAc,EAAEwC,aAAaqG,GAAf,EAAd;AACH,K;;SAEDzE,W,GAAc,UAACL,EAAD,EAAQ;AAClB,YAAI,OAAKjG,iBAAT,EAA4B;AAC5B,YAAMgL,QAAQ,MAAd;AACA,iBAASC,EAAT,GAAc;AACZD,kBAAM7G,YAAN,CAAmBnC,SAAnB,EAA8B,IAA9B;AACD;AACDkJ,uCAASC,KAAT,CAAe,UAAC5F,CAAD,EAAO;AAClB,gBAAM3B,QAAQsH,+BAASE,WAAT,CAAqB,OAAKpF,WAA1B,EAAuC,OAAKA,WAAL,CAAiBpC,KAAxD,EAA+D2B,CAA/D,CAAd;AACA,mBAAKa,YAAL,CAAkBxC,KAAlB;AACH,SAHD,EAGGqH,EAHH,EAGO,OAAKI,aAHZ,EAG4B,UAH5B,EAGwCxL,2BAAWC,GAAX,CAAe,UAAf,CAHxC;AAIH,K;;SAEDuL,a,GAAgB,YAAM;AACpB,eAAKrF,WAAL,CAAiBsF,IAAjB;AACD,K;;SACD/E,U,GAAa,YAAM;AACf2E,uCAASK,MAAT;AACH,K;;SAEDxK,e,GAAkB,YAAM;AACpB,eAAKyK,UAAL;AACH,K;;SAED3D,e,GAAkB,UAACrC,IAAD,EAAOzB,MAAP,EAAkB;AAChC,YAAIA,MAAJ,EAAY;AACR,mBAAK7B,QAAL,CAAc,EAAEP,UAAUoC,MAAZ,EAAoBO,YAAYkB,IAAhC,EAAd;AACH,SAFD,MAEO;AACH,mBAAKtD,QAAL,CAAc,EAAEoC,YAAYkB,IAAd,EAAd;AACH;AACJ,K;;SAEDwB,gB,GAAmB,UAACxB,IAAD,EAAOrD,SAAP,EAAqB;AACtC,YAAIA,SAAJ,EAAe;AACT,mBAAKD,QAAL,CAAc;AACVC,oCADU;AAEViC,6BAAaoB;AAFH,aAAd;AAIH,SALH,MAKS;AACH,mBAAKtD,QAAL,CAAc,EAAEkC,aAAaoB,IAAf,EAAd;AACH;AACJ,K;;SAEDiG,kB,GAAqB,UAAC7H,KAAD,EAAW;AAC5B,eAAK/C,iBAAL,IAA0BiC,OAAO4I,mBAAjC,IAAwD5I,OAAO4I,mBAAP,CAA2BD,kBAA3B,CAA8C7H,KAA9C,CAAxD;AACH,K;;SAEDO,Y,GAAe,UAAC4G,GAAD,EAAMvF,IAAN,EAAe;AAC1B,YAAI,CAAC,OAAK9E,EAAN,IAAY,OAAKiL,aAArB,EAAoC;AADV,YAEnBjH,WAFmB,GAEJ,OAAKtD,KAFD,CAEnBsD,WAFmB;;AAG1BqG,cAAMA,OAAO,CAACrG,eAAe,EAAhB,EAAoBkH,IAApB,EAAb;AACA,YAAI,CAACb,GAAL,EAAU;AAJgB,sBAKyE,OAAKnL,KAL9E;AAAA,YAKlBmJ,cALkB,WAKlBA,cALkB;AAAA,YAKF7D,mBALE,WAKFA,mBALE;AAAA,YAKkBiF,cALlB,WAKkBA,cALlB;AAAA,YAKiC0B,iBALjC,WAKiCA,iBALjC;AAAA,YAKoDC,gBALpD,WAKoDA,gBALpD;;AAM1B,eAAKH,aAAL,GAAqB,IAArB;AACA,eAAKzJ,QAAL,CAAc,EAAC0C,eAAe,IAAhB,EAAd;AACA,eAAKlE,EAAL,CAAQqL,eAAR,CAAwB;AACpBC,yBAAa,CADO;AAEpBC,sBAAU,EAFU;AAGpBC,iBAAKnB,GAHe;AAIpBoB,4BAAgB;AAJI,SAAxB,EAKGC,IALH,CAKQ,eAAO;AACX,mBAAKT,aAAL,GAAqB,KAArB;;AADW,wBAE4BnI,OAAO,EAFnC;AAAA,gBAEQqB,UAFR,SAEJwH,UAFI;AAAA,gBAEoBC,IAFpB,SAEoBA,IAFpB;;AAGX,gBAAM7K,OAAOY,KAAKC,KAAL,CAAWgK,IAAX,KAAoB,EAAjC;AACA,gBAAM9B,OAAO/I,KAAK,CAAL,CAAb;AACA,mBAAKS,QAAL,CAAc,EAAC0C,eAAe,KAAhB,EAAuBC,sBAAvB,EAAd;AACA,gBAAI2F,QAAQA,KAAKzC,UAAL,CAAgBwE,SAAxB,IAAqC,OAAKjM,sBAA1C,IAAoE,OAAKY,eAA7E,EAA6F;AACzF4K,oCAAoBA,iBAAiB,IAAjB,CAApB;AACA,uBAAK1F,YAAL,CAAkB,EAAlB;AACA,uBAAKnF,aAAL,GAAqB,IAArB;AACH,aAJD,MAIO;AACH6K,oCAAoBA,iBAAiB,KAAjB,CAApB;AACH;AACD/C,8BAAkBA,eAAeyB,IAAf,EAAqB,UAArB,CAAlB;AACA,gBAAIA,IAAJ,EAAU;AACN,oBAAI/I,KAAKM,MAAL,GAAc,CAAlB,EAAqB;AACjB,2BAAK0J,kBAAL,CAAwB,CAAxB;AACA/I,2CAAO8J,WAAP,CAAmBC,IAAnB,CAAwB;AACpBzC,+BAAO,MADa;AAEpBkC,6BAAK,QAFe;AAGpBQ,gCAAO,kBAAI;AACP,mCAAKjB,kBAAL,CAAwB,CAAxB;AACH,yBALmB;AAMpBkB,iCAASlL;AANW,qBAAxB;AAQA,2BAAKS,QAAL,CAAc;AACVwC,qCAAa;AADH,qBAAd;AAGH,iBAbD,MAaO;AACHqE,sCAAkBA,eAAeyB,IAAf,EAAqB,UAArB,CAAlB;AACA,+CAAeA,IAAf;AACA,wBAAI,0BAAcA,IAAd,CAAJ,EAAyB;AACzB,2BAAK9J,EAAL,CAAQ+B,WAAR,CAAoB+H,IAApB,EAA0B,IAA1B;AACAX,+BAAW;AAAA,+BAAM,OAAK3H,QAAL,CAAc,EAAEwC,aAAa,EAAf,EAAd,CAAN;AAAA,qBAAX,EAAqD,CAArD;AACA,2BAAK6B,UAAL;AACArB,2CAAuBA,qBAAvB;AACH;AACJ,aAvBD,MAuBO;AACH,oBAAIM,SAAS,IAAb,EAAkB;AACd3B,kDAAQiG,IAAR,CAAa,OAAb;AACA,wBAAI,OAAKhJ,mBAAT,EAA8B;AAC1B+I,mCAAW;AAAA,mCAAM,OAAK3H,QAAL,CAAc,EAAEwC,aAAa,EAAf,EAAd,CAAN;AAAA,yBAAX,EAAqD,CAArD;AACH;AACD,2BAAOyF,cAAP,IAAyB,UAAzB,IAAuCA,gBAAvC;AACH;AACJ;AACJ,SAnDD,EAmDGyC,KAnDH,CAmDS,eAAO;AACZ,mBAAK1K,QAAL,CAAc,EAAC0C,eAAe,KAAhB,EAAd;AACA,mBAAK+G,aAAL,GAAqB,KAArB;AACA5C,8BAAkBA,eAAe/G,SAAf,EAA0B,KAA1B,CAAlB;AACH,SAvDD;AAwDH,K;;SAGDoB,qB,GAAwB,YAAM;AAC5B,YAAI,CAAC,OAAK1C,EAAV,EAAc;AACd,eAAKA,EAAL,CAAQ0C,qBAAR,GAAgCgJ,IAAhC,CAAqC,eAAO;AAAA,yBACFrC,OAAO,EADL;AAAA,qCACnCtI,IADmC;;AAAA,sDACR,EADQ;AAAA,gBACtBgD,UADsB,eAC5BhD,IAD4B;;AAE1C,mBAAKS,QAAL,CAAc,EAACuC,sBAAD,EAAd;AACA,mBAAKgF,sBAAL,CAA4BhF,UAA5B;AACD,SAJD;AAKD,K;;SAED+B,Y,GAAe,UAACL,CAAD,EAAO;AAClB,YAAM0G,UAAU1G,KAAKA,EAAE0G,OAAvB;AACA,YAAIA,YAAY,EAAhB,EAAoB;AAChB,gBAAI,OAAK7M,iBAAT,EAA4B;AACxB,oBAAI8M,QAAQ,OAAK7L,aAAjB;AACA,oBAAI8L,QAAQC,KAAK1K,KAAL,CAAW,IAAI0K,IAAJ,EAAX,CAAZ;AACA,oBAAID,QAAQD,KAAR,GAAgB,GAApB,EAAyB;AACrB,2BAAK1G,YAAL,CAAkB,EAAlB;AACA,2BAAKnF,aAAL,GAAqB,IAArB;AACA,2BAAO4C,8BAAQiG,IAAR,CAAa,WAAb,CAAP;AACH;AACD,uBAAK7I,aAAL,GAAqB,IAArB;AACH;AACD,mBAAKC,eAAL,GAAuB8L,KAAK1K,KAAL,CAAW,IAAI0K,IAAJ,EAAX,IAAyB,OAAK/L,aAA9B,GAA8C,GAArE;AACA,gBAAI,OAAKX,sBAAT,EAAiC;AAC7B,uBAAKW,aAAL,GAAqB,IAArB;AACH;AACD,gBAAI,OAAK0K,aAAT,EAAwB;AACxB,mBAAKxH,YAAL,CAAkBnC,SAAlB,EAA6B,IAA7B;AACH,SAjBD,MAkBK,IAAI,OAAKhC,iBAAL,IAA0B,CAAC,OAAKiB,aAAhC,IAAiD,EAAE4L,WAAW,CAAb,CAArD,EAAsE;AACvE,mBAAK5L,aAAL,GAAqB+L,KAAK1K,KAAL,CAAW,IAAI0K,IAAJ,EAAX,CAArB;AACH,SAFI,MAEE,IAAI,OAAK1M,sBAAL,IAA+B,CAAC,OAAKW,aAArC,IAAsD,EAAE4L,WAAW,CAAb,CAAtD,IAAyE,CAAC,OAAK7M,iBAAnF,EAAsG;AACzG,mBAAKiB,aAAL,GAAqB+L,KAAK1K,KAAL,CAAW,IAAI0K,IAAJ,EAAX,CAArB;AACH;AACJ,K;;SAEDvF,c,GAAiB,YAAiB;AAAA,YAAhBwF,MAAgB,uEAAP,EAAO;;AAAA,qBACH7N,yBAAY,EADT;AAAA,YACxB+B,gBADwB,UACxBA,gBADwB;;AAE9B,YAAI,CAAC,CAACA,gBAAN,EAAwB;AACpB,mBAAO8L,OAAOC,iBAAP,GAA0BD,OAAOC,iBAAjC,GAAqD,GAA5D;AACH,SAFD,MAEO;AACH,gBAAMC,YAAY,mBAAlB;AADG,wCAE4DF,MAF5D,CAEIG,mBAFJ;AAAA,gBAEIA,mBAFJ,yCAE0B,EAF1B;AAAA,yCAE4DH,MAF5D,CAE8BI,qBAF9B;AAAA,gBAE8BA,qBAF9B,0CAEsD,EAFtD;;AAGH,gBAAMC,cAAcF,oBAAoBG,SAApB,CAA8B;AAAA,uBAAKhI,MAAM4H,SAAX;AAAA,aAA9B,CAApB;AACA,mBAAO,CAACG,WAAD,GAAeD,sBAAsBC,WAAtB,CAAf,GAAoD,GAA3D;AACH;AACJ,K;;SAED5G,mB,GAAsB,UAAClB,IAAD,EAAU;AAC9B;AACA,eAAKtD,QAAL,CAAc,EAACsC,aAAagB,SAAS,CAAvB,EAA0BjB,eAAeiB,SAAS,CAAlD,EAAd;AACA,eAAK9E,EAAL,CAAQ8M,iBAAR,CAA0BC,OAAOjI,IAAP,CAA1B,EACG4G,IADH,CACQ,eAAO;AACX,mBAAKlK,QAAL,CAAc,EAACsC,aAAa,KAAd,EAAqBD,eAAe,KAApC,EAAd;;AADW,yBAEIwF,OAAO,EAFX;AAAA,gBAEJuC,IAFI,UAEJA,IAFI;;AAGX,gBAAI,CAACjK,KAAKC,KAAL,CAAWgK,IAAX,EAAiBvK,MAAtB,EAA8B;AAC5B,oBAAM2L,aAAa,CAAC,UAAD,EAAa,UAAb,CAAnB;AACAlI,yBAAS,CAAT,IAAc,OAAKtD,QAAL,CAAc,EAACuC,YAAY,CAAb,EAAd,CAAd;AACA,uBAAOZ,8BAAQ2G,IAAR,CAAakD,WAAWlI,OAAO,CAAlB,CAAb,CAAP;AACD;AACDA,qBAAS,CAAT,IAAc,OAAKpC,qBAAL,EAAd;AACA,mBAAKiE,aAAL,CAAmB7B,IAAnB,EAAyBuE,GAAzB;AACD,SAXH,EAYG6C,KAZH,CAYS,eAAO;AACZ,mBAAK1K,QAAL,CAAc,EAACsC,aAAa,KAAd,EAAqBD,eAAe,KAApC,EAAd;AACAoJ,oBAAQC,GAAR,CAAYC,GAAZ;AACD,SAfH;AAgBD,K;;SAGDpH,iB,GAAoB,YAAM;AACtB,YAAI,OAAKE,OAAT,EAAkB,OAAKA,OAAL,CAAamH,SAAb;AACrB,K;;SACDjH,Y,GAAe,UAACkD,GAAD,EAAS;AACpB,eAAK7H,QAAL,CAAc;AACVwC,yBAAaqF;AADH,SAAd,EAEG,YAAM;AACL,mBAAKvD,YAAL,CAAkB,EAAEqG,SAAS,EAAX,EAAlB;AACH,SAJD;AAKH,K;;SAEDzF,oB,GAAuB,YAAM;AACzB1E,+BAAOC,iBAAP,CAAyBC,eAAzB;AACH,K;;SAEDmL,qB,GAAwB,UAACxK,MAAD,EAAY;AAChCb,+BAAOC,iBAAP,CAAyBqL,gBAAzB,CAA0CzK,MAA1C;AACH,K;;;kBAmNU7D,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 } from 'mutants-microfx';\r\nimport { Action } from 'mutants-appfx'\r\nimport { platform, enumController } from 'mutants-util';\r\nimport MemberModal from './MemberShow';\r\nimport MemberPhoto from './MemberPhoto';\r\nimport memberStore from './api';\r\nimport { formatPrecision, userInfoFormat, errMessageTip } from '../utils';\r\nimport './index.less';\r\nimport { stores } from 'mutants-microfx';\r\n\r\nconst hasElectron = (env.platform === env.constant.platform.electron);\r\n//定义默认头像值。\r\nconst emptyMemberImage = 'https://newretail.static.chanjet.com/default_avatar.png';\r\nconst memberBirthday = 'https://newretail.static.chanjet.com/pictures/member_birthday.png';\r\nlet currentMember;\r\n\r\n@observer\r\nclass MemberTag extends Component {\r\n\r\n state = {\r\n searchValue: '',\r\n titleModal: '',\r\n memberShow: false,\r\n memberPhoto: false,\r\n searchVisible: false,\r\n shopPerson: 0,\r\n status: 2, // 0会员详情、1到店会员、2人脸识别\r\n dtMember: {}, // 会员信息\r\n connectCardStatus: false, //连接IC卡状态\r\n connectCardError: '', //连接IC卡错误后记录错误信息\r\n isMemberCare: false,\r\n isMemberCareModal: false\r\n };\r\n\r\n static propTypes = {\r\n memberChange: PropTypes.func,\r\n memberSearched: PropTypes.func,\r\n }\r\n\r\n static contextTypes = {\r\n onEvent:PropTypes.func,\r\n viewModel: PropTypes.object,\r\n }\r\n\r\n static defaultProps = {\r\n memberChange: () => { },\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.hasElectron = hasElectron;\r\n const { loginInfo: { isMemberInputType, MemberMeStorageCardInputByKeyBoard, OpenFaceRecognition, ICCardServer, ICCardPassword } = {} } = localStore.get('user') || {};\r\n this.isMemberInputType = parseInt(isMemberInputType); // '0'为不禁用 '1'为禁用\r\n this.isStorageCardInputType = MemberMeStorageCardInputByKeyBoard; // 仅储值卡是否禁用键盘输入,'0'为不禁用 '1'为禁用\r\n this.openFaceRecognition = parseInt(OpenFaceRecognition); // 启用人脸识别:0禁用 1为启用\r\n this.iCCardServer = parseInt(ICCardServer); // 启用IC卡:0为禁用 1为启用\r\n this.iCCardPassword = ICCardPassword; //IC卡密码\r\n this.ms = memberStore;\r\n //移动端环境下,没有读取IC卡的方式。\r\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\r\n this.isHorizontalPad = !!isHorizontalPad;\r\n this.isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\r\n this.handleReadICard = this.handleReadICard.bind(this);\r\n\r\n //记录键盘录入信息的开始时间\r\n this.keypressStime = null;\r\n this.iseyboardKEnter = false; //是否为键盘输入\r\n let { isNewRetailBCPos } = platform || {};\r\n this.state = {\r\n isCC: !!isNewRetailBCPos,\r\n isShowBirthdayTip: false,\r\n };\r\n }\r\n\r\n componentWillReact() {\r\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\r\n const { selectMemberInfo = {}, isClear = false } = this.ms;\r\n const memberChangeData = Object.keys(selectMemberInfo).length ? selectMemberInfo : undefined;\r\n\r\n const memberChange = (data) => {\r\n this.setState({newAvatar: ''});\r\n this.props.memberChange(data);\r\n }\r\n if (typeof memberChangeData === 'object') {\r\n const deepCloneMember = JSON.parse(JSON.stringify(memberChangeData));\r\n if (!currentMember) {\r\n currentMember = deepCloneMember;\r\n memberChange(memberChangeData);\r\n } else if (currentMember.ID !== memberChangeData.ID) {\r\n memberChange(memberChangeData);\r\n currentMember = deepCloneMember;\r\n } else if (!dtMember.ID && (currentMember || {}).ID) { // DataModel 中清掉member,手动同步 member\r\n currentMember = undefined;\r\n this.ms.clearSeletMember();\r\n }\r\n } else if (currentMember && !memberChangeData) {\r\n memberChange(memberChangeData);\r\n currentMember = undefined;\r\n } else if (dtMember.ID && !(currentMember || {}).ID) { // DataModel 中存在member,手动同步 member\r\n const deepCloneMember = JSON.parse(JSON.stringify(dtMember));\r\n currentMember = deepCloneMember;\r\n this.ms.seletMember(dtMember);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n stores.selectMemberStore && stores.selectMemberStore.clearMemberCare()\r\n this.connectRfCard();\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.windowOnresize);\r\n this.closeRfCard();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n //接受socket传递过来的信息\r\n let { isSendMessage } = nextProps;\r\n if (isSendMessage === true) this.getInStoreMemberCount()\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n resetInShopMemberTimer = (count) => {\r\n this.timer && clearTimeout(this.timer);\r\n if (!count) return;\r\n const time = 5 * 60 * 1000;\r\n this.timer = setTimeout(() => {\r\n this.getInStoreMemberCount();\r\n }, time);\r\n }\r\n //IC卡连接\r\n connectRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('ConnectRfCard', null, ret => {\r\n let result = {}\r\n if (ret.status === 0) {\r\n result = { connectCardStatus: false, connectCardError: ret.value }\r\n } else {\r\n result = { connectCardStatus: true, connectCardError: '' };\r\n }\r\n this.setState(result)\r\n })\r\n }\r\n }\r\n\r\n //IC卡读取\r\n readRfCard() {\r\n //客户端环境下,并开启了启用IC卡。\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n const { connectCardStatus, connectCardError } = this.state;\r\n if (connectCardStatus === false) {\r\n Message.error(connectCardError ? connectCardError : '读取IC卡失败');\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n }\r\n let params = { cardPsw: this.iCCardPassword, cardSec: 13, cardKm: 0 }\r\n nativeMs.setIpcRendererMethod('ReadRfCard', { ...params }, ret => {\r\n if (ret.status === 0) {\r\n Message.error(ret.value);\r\n this.connectRfCard(); //读取失败后,重新连接一下。\r\n return;\r\n } else if (ret.status === 1) {\r\n this.searchMember(ret.value);\r\n }\r\n })\r\n }\r\n }\r\n\r\n //IC卡关闭\r\n closeRfCard(){\r\n if (this.hasElectron === true && this.iCCardServer === 1) {\r\n nativeMs.setIpcRendererMethod('CloseRfCard')\r\n }\r\n }\r\n\r\n openPhotoModal = () => {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (!isNewRetailBCPos) {\r\n if (!this.openFaceRecognition) {\r\n Message.warn('未启用人脸识别,需要先开启人脸识别功能');\r\n return;\r\n }\r\n this.setState({\r\n memberPhoto: true,\r\n titleModal: '选择头像'\r\n })\r\n }\r\n }\r\n\r\n openShowModal = (status, res) => {\r\n let title = '';\r\n const { data: { Member = {} } = {} } = this.context.viewModel || {};\r\n const {newAvatar} = this.state;\r\n const jsMember = toJS(Member);\r\n const updateMember = newAvatar ? {...jsMember, ImageFile: newAvatar} : jsMember;\r\n switch (status) {\r\n case 0:\r\n title = '会员详情';\r\n this.setState({ viewMemberInfo: updateMember })\r\n break;\r\n case 1:\r\n title = '到店会员';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n case 2:\r\n title = '人脸识别';\r\n this.setState({ viewMemberInfo: res })\r\n break;\r\n }\r\n this.setState({\r\n status: status,\r\n memberShow: true,\r\n titleModal: title\r\n })\r\n }\r\n\r\n openCloseModal = () => {\r\n const { setMemberFocus } = this.props;\r\n const memberStore = this.context.viewModel && this.context.viewModel.items.find(el => el.name == 'MemberStore');\r\n const uiState = memberStore.uiState;\r\n const IsIntegralExchange = memberStore.store && memberStore.store.data && memberStore.store.data.IsIntegralExchange\r\n if (!!uiState.tip) {\r\n Message.info(uiState.tip)\r\n return;\r\n }\r\n ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: '关闭会员',\r\n content: `${IsIntegralExchange ? \"关闭会员将会清空商品信息!\" : \"确定要关闭该会员吗?\"}`,\r\n onOk: () => {\r\n this.ms.clearSeletMember();\r\n stores.selectMemberStore.clearMemberCare();\r\n typeof setMemberFocus == 'function' && setMemberFocus();\r\n }\r\n })\r\n }\r\n\r\n //关闭生日提醒\r\n handleCloseBirthdayModal = () => {\r\n this.ms.changeBirthdayShow(false);\r\n }\r\n\r\n //会员关怀-送礼\r\n handleMemberCareModal = () => {\r\n this.setState({ isMemberCareModal: true })\r\n }\r\n handleMemberCareModalCancel = () => {\r\n this.setState({ isMemberCareModal: false })\r\n }\r\n\r\n handleSearch = (val) => {\r\n this.setState({ searchValue: val })\r\n }\r\n\r\n handleFocus = (el) => {\r\n if (this.isMemberInputType) return;\r\n const _this = this;\r\n function cb() {\r\n _this.searchMember(undefined, 'ok');\r\n }\r\n Keyboard.open2((v) => {\r\n const value = Keyboard.getNewValue(this.inputSearch, this.inputSearch.value, v);\r\n this.handleSearch(value);\r\n }, cb, this.keyboardClose , 'ByMember', localStore.get('ByMember'))\r\n }\r\n\r\n keyboardClose = () => {\r\n this.inputSearch.blur();\r\n }\r\n handleBlur = () => {\r\n Keyboard.close2();\r\n }\r\n\r\n handleReadICard = () => {\r\n this.readRfCard();\r\n }\r\n\r\n handleShowModal = (type, params) => {\r\n if (params) {\r\n this.setState({ dtMember: params, memberShow: type })\r\n } else {\r\n this.setState({ memberShow: type })\r\n }\r\n }\r\n\r\n handlePhotoModal = (type, newAvatar) => {\r\n if (newAvatar) {\r\n this.setState({\r\n newAvatar,\r\n memberPhoto: type\r\n })\r\n } else {\r\n this.setState({ memberPhoto: type })\r\n }\r\n }\r\n\r\n SetKeyBoardDisplay = (value) => {\r\n this.isHorizontalSunMi && window.android_setKeyBoard && window.android_setKeyBoard.SetKeyBoardDisplay(value)\r\n }\r\n\r\n searchMember = (val, type) => {\r\n if (!this.ms || this.searchLoading) return;\r\n const {searchValue} = this.state;\r\n val = val || (searchValue || '').trim();\r\n if (!val) return;\r\n const { memberSearched, selectMemberSuccess,setMemberFocus,getMemberBirthday, getMeStorageCard } = this.props;\r\n this.searchLoading = true;\r\n this.setState({searchVisible: true});\r\n this.ms.getSearchMember({\r\n currentPage: 1,\r\n pageSize: 10,\r\n key: val,\r\n isSingleMember: false\r\n }).then(ret => {\r\n this.searchLoading = false;\r\n const {ColumnInfo: columnInfo, Data} = ret || {};\r\n const data = JSON.parse(Data) || [];\r\n const info = data[0];\r\n this.setState({searchVisible: false, columnInfo});\r\n if (info && info.MemberType.IsStorage && this.isStorageCardInputType && this.iseyboardKEnter){\r\n getMeStorageCard && getMeStorageCard(true);\r\n this.handleSearch('');\r\n this.keypressStime = null;\r\n } else {\r\n getMeStorageCard && getMeStorageCard(false);\r\n }\r\n memberSearched && memberSearched(info, 'searched');\r\n if (info) {\r\n if (data.length > 1) {\r\n this.SetKeyBoardDisplay(1)\r\n stores.drawerStore.init({\r\n title: '会员管理',\r\n key: 'member',\r\n onHide:()=>{\r\n this.SetKeyBoardDisplay(0)\r\n },\r\n listArr: data,\r\n });\r\n this.setState({\r\n searchValue: null\r\n })\r\n } else {\r\n memberSearched && memberSearched(info, 'searched');\r\n userInfoFormat(info);\r\n if (errMessageTip(info)) return;\r\n this.ms.seletMember(info, true);\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n this.handleBlur();\r\n selectMemberSuccess && selectMemberSuccess();\r\n }\r\n } else {\r\n if (type === 'ok'){\r\n Message.warn('会员不存在');\r\n if (this.isMobileEnvironment) {\r\n setTimeout(() => this.setState({ searchValue: '' }), 0);\r\n }\r\n typeof setMemberFocus == 'function' && setMemberFocus();\r\n }\r\n }\r\n }).catch(err => {\r\n this.setState({searchVisible: false});\r\n this.searchLoading = false;\r\n memberSearched && memberSearched(undefined, 'err');\r\n })\r\n }\r\n\r\n //获取当前到店会员数量\r\n getInStoreMemberCount = () => {\r\n if (!this.ms) return;\r\n this.ms.getInStoreMemberCount().then(res => {\r\n const {data: {data: shopPerson} = {}} = res || {};\r\n this.setState({shopPerson});\r\n this.resetInShopMemberTimer(shopPerson);\r\n });\r\n }\r\n\r\n onKeyPressed = (e) => {\r\n const keyCode = e && e.keyCode\r\n if (keyCode === 13) {\r\n if (this.isMemberInputType) {\r\n let stime = this.keypressStime;\r\n let etime = Date.parse(new Date());\r\n if (etime - stime > 300) {\r\n this.handleSearch('')\r\n this.keypressStime = null;\r\n return Message.warn('未启用键盘录入功能');\r\n }\r\n this.keypressStime = null;\r\n }\r\n this.iseyboardKEnter = Date.parse(new Date()) - this.keypressStime > 300;\r\n if (this.isStorageCardInputType) {\r\n this.keypressStime = null;\r\n }\r\n if (this.searchLoading) return;\r\n this.searchMember(undefined, 'ok');\r\n }\r\n else if (this.isMemberInputType && !this.keypressStime && !(keyCode == 8)) {\r\n this.keypressStime = Date.parse(new Date())\r\n } else if (this.isStorageCardInputType && !this.keypressStime && !(keyCode == 8) && !this.isMemberInputType) {\r\n this.keypressStime = Date.parse(new Date())\r\n }\r\n }\r\n\r\n computedCoupon = (member = {}) => {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (!!isNewRetailBCPos) {\r\n return member.MemberCouponCount? member.MemberCouponCount : '0';\r\n } else {\r\n const couponKey = 'membercouponcount';\r\n const {DynamicPropertyKeys = [], DynamicPropertyValues = []} = member;\r\n const couponIndex = DynamicPropertyKeys.findIndex(v => v === couponKey);\r\n return ~couponIndex ? DynamicPropertyValues[couponIndex] : '0';\r\n }\r\n }\r\n\r\n loadFaceRecognition = (type) => {\r\n // type = 1:到店会员 type = 2:POS机人脸识别\r\n this.setState({faceLoading: type === 2, inShopLoading: type === 1});\r\n this.ms.loadInStoreMember(String(type))\r\n .then(res => {\r\n this.setState({faceLoading: false, inShopLoading: false});\r\n const {Data} = res || {};\r\n if (!JSON.parse(Data).length) {\r\n const tipMessage = ['当前没有到店会员', '未识别到人脸信息'];\r\n type === 1 && this.setState({shopPerson: 0});\r\n return Message.info(tipMessage[type - 1]);\r\n }\r\n type === 1 && this.getInStoreMemberCount();\r\n this.openShowModal(type, res);\r\n })\r\n .catch(err => {\r\n this.setState({faceLoading: false, inShopLoading: false});\r\n console.log(err)\r\n });\r\n }\r\n\r\n //移动端:扫描商品\r\n changeScanProduct = () => {\r\n if (this.scanObj) this.scanObj.startScan()\r\n }\r\n onScanResult = (res) => {\r\n this.setState({\r\n searchValue: res\r\n }, () => {\r\n this.onKeyPressed({ keyCode: 13 })\r\n })\r\n }\r\n\r\n setIsShowBirthdayTip = () => {\r\n stores.selectMemberStore.clearMemberCare()\r\n }\r\n\r\n getMemberBirthdayInfo = (result) => {\r\n stores.selectMemberStore.changeMemberCare(result);\r\n }\r\n\r\n render() {\r\n const {\r\n memberPhoto, titleModal, memberShow, inShopLoading = false, faceLoading = false,\r\n status, shopPerson, searchValue, viewMemberInfo, newAvatar, searchVisible = false, columnInfo, isCC,\r\n isMemberCare, isMemberCareModal, isShowBirthdayTip\r\n } = this.state;\r\n const { mode = 'formal', authProcess, selectMemberSuccess } = this.props;\r\n const { selectMemberInfo, precisionInfo = {} } = this.ms; //selectMemberInfo 用作触发mobox render\r\n const { data: { Member: dtMember = {} } = {}, items = [] } = this.context.viewModel || {};\r\n const viewVoucher = items.find(v => v.type === 'Voucher') || {};\r\n const isTakeTheir = viewVoucher.getIsTakeTheir && viewVoucher.getIsTakeTheir();\r\n const isSelectedMember = !!dtMember.ID;\r\n const { Differentiate } = enumController.getEnumOj();\r\n const { memberCareInfo } = stores.selectMemberStore;\r\n let { isNewRetailBCPos } = platform || {};\r\n return (\r\n <div className='MemberContainer'>\r\n <div className='left'>\r\n {!isSelectedMember &&\r\n <div className='search'>\r\n <div className='b1'>\r\n <Input\r\n type='text'\r\n className=\"input\"\r\n id='memberPoint'\r\n placeholder='扫描/输入会员号'\r\n value={searchValue}\r\n ref={el => this.inputSearch = el && el.input}\r\n onChange={(e) => this.handleSearch(e.target.value)}\r\n onFocus={this.handleFocus}\r\n onBlur={this.handleBlur}\r\n onKeyDown={this.onKeyPressed}\r\n />\r\n <Spin\r\n className='search-spin'\r\n scale={0.8}\r\n type='circle-side'\r\n visible={searchVisible}\r\n />\r\n </div>\r\n <div className='b2'>\r\n {\r\n this.hasElectron === true && this.iCCardServer === 1 &&\r\n <Ticon className='icon' onClick={this.handleReadICard} type=\"ICka\" />\r\n }\r\n {\r\n this.isHorizontalPad ?\r\n <Ticon type='saomiao1' className='icon' onClick={this.changeScanProduct} />\r\n :\r\n (\r\n false && this.openFaceRecognition === 1 && !faceLoading &&\r\n <div className='openFaceRecognition-box'>\r\n <Ticon className='icon' onClick={() => this.loadFaceRecognition(2)} type=\"renlianshibie\" />\r\n <Spin\r\n className='face-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={faceLoading}\r\n />\r\n </div>\r\n )\r\n }\r\n {\r\n /* 扫描组件 */\r\n this.isHorizontalPad &&\r\n <Scan ref={scan => this.scanObj = scan} onChange={this.onScanResult} />\r\n }\r\n </div>\r\n </div>\r\n }\r\n {isSelectedMember &&\r\n <div className={`info ${this.openFaceRecognition ? '' : 'member-btn-hidden-flex'}`}>\r\n <div className='first'>\r\n <img onClick={this.openPhotoModal} src={newAvatar || dtMember.ImageFile || emptyMemberImage} />\r\n {memberPhoto && <MemberPhoto dtMember={dtMember} showModal={memberPhoto} titleModal={titleModal} handleModal={this.handlePhotoModal} />}\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"shengri\" className='shengriIcon'></Ticon>\r\n }\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <div className='birthdayContent'>\r\n <div className='birthdayWarn'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\r\n <Button colors=\"warn\" onClick={this.handleMemberCareModal} className='check bg-theme'>查看</Button>\r\n <Ticon type=\"cuowuda\" className='cuowudaIcon'></Ticon>\r\n </div>\r\n }\r\n {\r\n memberCareInfo && memberCareInfo.isTicket && <Ticon type=\"cuowuda\" onClick={() => { this.setIsShowBirthdayTip()}} className='cuowudaIcon'></Ticon>\r\n }\r\n </div>\r\n <div className='second member-hotkey-info' onClick={() => this.openShowModal(0)}>\r\n <div className='one'>\r\n {dtMember.Name && <div className='a'>{dtMember.Name}</div>}\r\n <div className='b'>{dtMember.CardCode}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceStorage, precisionInfo.BalanceStorage)}</div>\r\n <div className='b'>余额</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{this.computedCoupon(dtMember)}</div>\r\n <div className='b'>{Differentiate.COUPON}</div>\r\n </div>\r\n <div className='two'>\r\n <div className='a'>{formatPrecision(dtMember.BalanceIntegral, precisionInfo.BalanceIntegral) || 0}</div>\r\n <div className='b'>积分</div>\r\n </div>\r\n </div>\r\n <div className='close'>\r\n {!isTakeTheir && <Ticon type=\"guanbi-yuan\" onClick={this.openCloseModal} />}\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n {/* {\r\n memberCareInfo && memberCareInfo.isTicket ? <div className='float'>\r\n <div className='txt'>{memberCareInfo.daysToBirthday === 0 ? '今天生日' : memberCareInfo.daysToBirthday + '天后生日'}</div>\r\n <div className='btn' onClick={this.handleMemberCareModal}>查看</div>\r\n <div className='cancel'>\r\n <Ticon type='guanbixiao' onClick={() => {\r\n this.setIsShowBirthdayTip()\r\n }}/>\r\n </div>\r\n </div> : null\r\n } */}\r\n {!!this.openFaceRecognition && <div className='right'>\r\n <Button type=\"primary\" onClick={() => this.loadFaceRecognition(1)} className='btn' disabled={inShopLoading}>\r\n {!inShopLoading && '到店会员'}\r\n <Spin\r\n className='inshop-member-spin'\r\n scale={0.8}\r\n type='circle'\r\n visible={inShopLoading}\r\n />\r\n {!!shopPerson && <div className='badge'>{shopPerson}</div>}\r\n </Button>\r\n </div>}\r\n <MemberModal\r\n mode={mode}\r\n authProcess={authProcess}\r\n viewMemberInfo={viewMemberInfo}\r\n columnInfo={columnInfo}\r\n status={status}\r\n showModal={memberShow}\r\n titleModal={titleModal}\r\n selectMemberSuccess={selectMemberSuccess}\r\n handleModal={this.handleShowModal}\r\n />\r\n <ModalWraper\r\n show={isMemberCareModal}\r\n className='member-care-modal'\r\n width='688'\r\n centered={true}\r\n memberClass='memberCareWidth'\r\n cancel={this.handleMemberCareModalCancel}\r\n >\r\n <div className='first'>会员生日关怀</div>\r\n <div className='second'>\r\n <div className='secondContent'>\r\n <Ticon type='dengpao'/>\r\n <span>口头关怀客户,提示引导客户去线上商城领取权益。</span>\r\n </div>\r\n </div>\r\n <div className='third'>\r\n <div className='one'>\r\n <img src={emptyMemberImage} />\r\n <Ticon type='shengri' />\r\n </div>\r\n <div className='two'>\r\n {\r\n memberCareInfo && memberCareInfo.daysToBirthday === 0 ? <span>\r\n 今天是{dtMember.Name}的生日,该会员是{dtMember.MemberType.Name},可享受以下权益\r\n </span> : <span>\r\n {dtMember.Name}会员还有{memberCareInfo && memberCareInfo.daysToBirthday}天生日,该会员是{dtMember.MemberType.Name},可享受以下权益\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n {\r\n memberCareInfo && <div className='fourth'>\r\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple && <div className='item'>1.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple}</div>}\r\n {memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive && <div className='item'>2.{ memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive}</div>}\r\n {\r\n memberCareInfo && memberCareInfo.memberCareDTO && memberCareInfo.memberCareDTO.memberRightRuleList && memberCareInfo.memberCareDTO.memberRightRuleList[0].couponIdMapList.map((value, index) => {\r\n let count = 0;\r\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralMultiple) {\r\n count += 1;\r\n }\r\n if (memberCareInfo.memberCareDTO.memberRightRuleList[0].integralGive) {\r\n count += 1;\r\n }\r\n return (<div className='item'>{count + 1 + index}.{value.name}</div>)\r\n })\r\n }\r\n </div>\r\n }\r\n </ModalWraper>\r\n {\r\n !isNewRetailBCPos && <ModalWraper show={this.ms.birthdayShow} centered={true} className='member-birthday'>\r\n <div className='picture'>\r\n <img width='350' height='308' src={memberBirthday} />\r\n <Ticon type=\"guanbi-yuan\" onClick={this.handleCloseBirthdayModal} />\r\n </div>\r\n <div className='remark'>今天是会员<span>{dtMember.Name || dtMember.CardCode}</span>的生日</div>\r\n </ModalWraper>\r\n }\r\n </div>\r\n );\r\n }\r\n}\r\nexport default MemberTag\r\n"]}
@@ -473,7 +473,7 @@ var MemberStoreNewView = (0, _mutantsMicrofx.observer)(_class = function (_Compo
473
473
  bordered: true,
474
474
  placeholder: '\u5176\u4ED6\u91D1\u989D',
475
475
  style: { width: 300, height: 32 },
476
- maxLength: 8,
476
+ maxLength: 12,
477
477
  precisionLength: 2,
478
478
  ref: function ref(input) {
479
479
  return _this3.inputStorageAmount = input;
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/views/MemberStoreNewView.js"],"names":["FormItem","Item","Option","photo","MemberStoreNewView","observer","props","getLocalStoreParam","fieldname","data","localStore","get","filter","item","Name","length","shift","Value","handleChange","info","type","value","state","isCanUpdate","percentNumber","changeStatus","timer","timerFun","window","clearTimeout","store","stores","memberStore","changeValue","strfun","console","log","percentValue","setTimeout","setState","getPersonList","initPersonList","Idstore","initFormData","StorageDetails","setSelectAmount","amount","index","currentValue","inputStorageAmount","inputChange","changeGiftSingle","setCurrentIndex","checkPresentDetail","showPresentDetail","modalCancel","modalOk","canUpdate","percent","memberDisabled","amountList","isInput","editPresentAmount","clearCon","personList","settlementControlEvent","storageAmountSpecData","giftSingle","giftList","noIsMinAmount","currentIndex","Member","Person","storageAmountSpecList","isCustomStorage","Mobilephone","CardCode","ImageFile","BalanceIntegral","BalanceStorage","TotalBalanceAmount","salesman","JSON","getCellValue","thisPresentAmount","undefined","thisStorageAmount","amountPrecision","parseInt","amountMaxLength","storeInfo","TStore","restore","settlementParams","dataSource","DataSource","initData","PosInitData","showAmount","isMemberStorePage","dto","hotKey","hotKeyBindClass","width","marginRight","ot","map","ID","storageAmount","height","input","Component"],"mappings":"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","file":"MemberStoreNewView.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { Form, Select } from 'antd';\r\nimport { observer, stores, localStore } from \"mutants-microfx\";\r\nimport { Settlement, NumKeyboard, hotKey, ModalWraper } from 'tplus-components-touch';\r\nimport { PosInitData, TStore } from 'tplus-poslogin';\r\nimport { formatPrecision } from '../utils';\r\nimport './MemberStoreNew.less';\r\nimport PresetDetailView from './PresetDetailView'\r\nconst FormItem = Form.Item;\r\nconst Option = Select.Option;\r\nconst photo = 'https://newretail.static.chanjet.com/default_avatar.png'\r\n\r\n@observer\r\nclass MemberStoreNewView extends Component{\r\n\r\n constructor(props) {\r\n super(props)\r\n this.timerFun = null;\r\n let canUpdate = this.getLocalStoreParam('CanModifyPresentAmount')\r\n canUpdate = canUpdate == '1' ? true : false;\r\n let percent = this.getLocalStoreParam('PresentAmountLimitPercent')\r\n this.state = {\r\n isCanUpdate: canUpdate,\r\n percentNumber: percent,\r\n memberDisabled: false,\r\n currentValue: null,\r\n showPresentDetail: false,\r\n amountList: [\r\n 100,200,300,400,500,600,700\r\n ],\r\n changeStatus: true\r\n }\r\n }\r\n getLocalStoreParam = (fieldname) => {\r\n let data = localStore.get('setting_setData') || [];\r\n data = data.filter(item => item.Name === fieldname);\r\n return (data && data.length > 0) ? data.shift().Value : null;\r\n }\r\n handleChange = (info, type, value) => {\r\n const { isCanUpdate, percentNumber, changeStatus } = this.state;\r\n if (changeStatus) {\r\n // if (type == 'PresentAmount') {\r\n // this.editPresentAmount = true;\r\n // if (isCanUpdate && this.inputStorageAmount) {\r\n // let thisStorageInput = this.inputStorageAmount.input.input;\r\n // let maxValue = (thisStorageInput.value * parseInt(percentNumber)) / 100;\r\n // if (thisPresentInput.value > maxValue) {\r\n // Message.warn(`本次储值最大可赠送金额为${maxValue},请修改`, { top: 300, duration: 3 })\r\n // this.setState({ memberDisabled: true })\r\n // thisPresentInput.focus();\r\n // return;\r\n // } else {\r\n // this.setState({ memberDisabled: false })\r\n // }\r\n // }\r\n // } else {\r\n // this.editPresentAmount = false;\r\n // }\r\n let timer = this.timerFun;\r\n if (timer != null) {\r\n window.clearTimeout(timer);\r\n }\r\n \r\n const store = stores.memberStore;\r\n const { changeValue } = store || {};\r\n const strfun = async () => {\r\n console.log(`this${type} value:` + value);\r\n await changeValue(info, type, value, { isCanUpdate, percentValue: percentNumber })\r\n }\r\n this.timerFun = window.setTimeout(strfun, 400);\r\n } else {\r\n this.setState({\r\n changeStatus: false\r\n })\r\n }\r\n }\r\n\r\n getPersonList = () => {\r\n const store = stores.memberStore;\r\n const { data, initPersonList } = store || {};\r\n const { Idstore } = data || {};\r\n initPersonList(Idstore)\r\n }\r\n\r\n initFormData = () => {\r\n const store = stores.memberStore;\r\n const { data } = store || {};\r\n const { StorageDetails } = data || {};\r\n }\r\n componentDidUpdate() {\r\n const { isCanUpdate } = this.state;\r\n const store = stores.memberStore;\r\n const { isInput } = store || {};\r\n if (isInput) {\r\n this.inputStorageAmount && this.inputStorageAmount.inputChange('');\r\n }\r\n if (!this.editPresentAmount && isCanUpdate) {\r\n this.initFormData();\r\n } \r\n }\r\n\r\n setSelectAmount = (amount, index) => {\r\n this.setState({\r\n currentValue: amount,\r\n changeStatus: false\r\n })\r\n setTimeout(() => {\r\n this.inputStorageAmount && this.inputStorageAmount.inputChange(\"\");\r\n // this.inputStorageAmount && this.inputStorageAmount.input.input.focus();\r\n this.setState({\r\n changeStatus: true\r\n })\r\n }, 100)\r\n const store = stores.memberStore;\r\n const { changeGiftSingle, setCurrentIndex } = store || {};\r\n setCurrentIndex && setCurrentIndex(index);\r\n changeGiftSingle(amount)\r\n }\r\n\r\n checkPresentDetail = () => {\r\n this.setState({\r\n showPresentDetail: true\r\n })\r\n }\r\n\r\n modalCancel = () => {\r\n this.setState({\r\n showPresentDetail: false\r\n })\r\n }\r\n\r\n modalOk = () => {\r\n this.modalCancel();\r\n }\r\n\r\n render(){\r\n const store = stores.memberStore;\r\n const { isCanUpdate,memberDisabled, amountList, showPresentDetail } = this.state;\r\n const { clearCon, data, changeValue, personList, settlementControlEvent, storageAmountSpecData, giftSingle, giftList, noIsMinAmount, currentIndex, setCurrentIndex} = store || {};\r\n const { Member, Person, StorageDetails } = data || {};\r\n const { storageAmountSpecList, isCustomStorage } = storageAmountSpecData || {};\r\n \r\n // const { storageAmountSpecList } = storageAmountSpecData;\r\n const { Name, Mobilephone, CardCode, ImageFile, BalanceIntegral, BalanceStorage, TotalBalanceAmount } = Member || {};\r\n let salesman = Member ? JSON.getCellValue(Member, \"Person.Name\") : '';\r\n let thisPresentAmount = StorageDetails ? JSON.getCellValue(StorageDetails[0], \"ThisPresentAmount\") : '';\r\n thisPresentAmount = (thisPresentAmount === null || thisPresentAmount === undefined) ? '' : thisPresentAmount;\r\n let thisStorageAmount = StorageDetails ? JSON.getCellValue(StorageDetails[0], \"ThisStorageAmount\") : '';\r\n thisStorageAmount = (thisStorageAmount === null || thisStorageAmount === undefined) ? '' : thisStorageAmount;\r\n //金额小数精度\r\n let amountPrecision = PosInitData(\"AmountPrecision\");\r\n amountPrecision = amountPrecision ? parseInt(amountPrecision) : '';\r\n //金额最大位数 \r\n let amountMaxLength = PosInitData(\"AmountMaxLength\");\r\n amountMaxLength = amountMaxLength ? parseInt(amountMaxLength) : '';\r\n //储值参数\r\n const storeInfo = TStore.restore()\r\n let settlementParams = {\r\n dataSource: data ? data.DataSource : {},\r\n initData: PosInitData,\r\n storeInfo: storeInfo,\r\n showAmount: false,\r\n isMemberStorePage: true,\r\n amount: thisStorageAmount,\r\n type: 1,\r\n dto: data,\r\n memberDisabled: memberDisabled,\r\n ...settlementControlEvent,\r\n noIsMinAmount: noIsMinAmount,\r\n }\r\n console.log('储值金额:' + thisStorageAmount)\r\n console.log('储值settlementParams', settlementParams)\r\n return (\r\n <div className={`${hotKey.hotKeyBindClass('1')}`}>\r\n {\r\n data &&\r\n <div className='memberstore'>\r\n <div className='memberstore-head'>\r\n <div className='imageContainer'>\r\n <img src={ImageFile || photo} />\r\n <div className='imageContainer-message'>\r\n {\r\n Name && <div className='divText'>{Name}</div>\r\n }\r\n {\r\n Name && <div className='divBlank'></div>\r\n }\r\n <div className='divText'>{Mobilephone || CardCode}</div>\r\n </div>\r\n </div>\r\n {/* <div className='message'>\r\n <span>{formatPrecision(TotalBalanceAmount)}</span>\r\n <br />\r\n <span>储值总额</span>\r\n </div> */}\r\n <div className='message'>\r\n <span>{formatPrecision(BalanceStorage)}</span>\r\n <br />\r\n <span>余额</span>\r\n </div>\r\n <div className='message'>\r\n <span>{formatPrecision(BalanceIntegral)}</span>\r\n <br />\r\n <span>积分</span>\r\n </div>\r\n </div>\r\n <div className='line'></div>\r\n <div className='form'>\r\n <FormItem key={1}>\r\n <div className='one'>开卡业务员</div>\r\n <div className='two'>{salesman}</div>\r\n </FormItem>\r\n <FormItem key={2}>\r\n <div className='one'>导购员</div>\r\n <div className='two'>\r\n <Select\r\n placeholder='请选择导购员'\r\n style={{ width: 300, marginRight: 6 }}\r\n showSearch={false}\r\n notFoundContent={'空'}\r\n onFocus={this.getPersonList}\r\n onChange={(value, item) => changeValue(data, 'Person', item.props.ot)}\r\n >\r\n {\r\n personList && personList.map(item => {\r\n return <Option key={item.ID} ot={item} value={item.ID}>{item.Name}</Option>\r\n })\r\n }\r\n </Select>\r\n </div>\r\n </FormItem>\r\n <FormItem key={3} className='storageAmount'>\r\n <div className='one'>储值金额</div>\r\n <div className='two'>\r\n <div onClick={() => this.checkPresentDetail()} className='primary-color checkPresentDetails'>查看礼包详情</div>\r\n {\r\n storageAmountSpecList && <div className='detailAmount'>\r\n {\r\n storageAmountSpecList.map((value, index) => {\r\n return (\r\n <span onClick={() => this.setSelectAmount(value, index)} className={`${index === currentIndex && 'primary-color b-theme-color'}`}>¥{value.storageAmount}</span>\r\n )\r\n })\r\n }\r\n </div>\r\n }\r\n {\r\n isCustomStorage && <NumKeyboard\r\n className=\"content\"\r\n type='text'\r\n bordered\r\n placeholder='其他金额'\r\n style={{ width: 300, height: 32 }}\r\n maxLength={8}\r\n precisionLength={2}\r\n ref={input => this.inputStorageAmount = input}\r\n onFocus={() => {\r\n setCurrentIndex && setCurrentIndex(null);\r\n this.inputStorageAmount && !this.inputStorageAmount.input.input.value && clearCon();\r\n }}\r\n onChange={value => this.handleChange(data, 'StoreAmount', value)}\r\n />\r\n }\r\n </div>\r\n </FormItem>\r\n <FormItem key={4} className='gift'>\r\n <div className='one'>礼包详情</div>\r\n <div className='giftDetail'>\r\n { giftSingle }\r\n </div>\r\n </FormItem>\r\n </div>\r\n <div className='line2'></div>\r\n <div className='footer'>\r\n <div className='storage-footer'>\r\n <Settlement {...settlementParams} />\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <ModalWraper \r\n className='presentModalWraper'\r\n show={showPresentDetail} \r\n centered={true} \r\n title='礼包详情'\r\n cancel={this.modalCancel}\r\n backdropStyle={{\r\n 'z-index': '1002'\r\n }}\r\n ok={this.modalOk}>\r\n <PresetDetailView giftList={giftList}/>\r\n </ModalWraper>\r\n </div>\r\n )\r\n }\r\n}\r\nexport default MemberStoreNewView;"]}
1
+ {"version":3,"sources":["tplus-member/views/MemberStoreNewView.js"],"names":["FormItem","Item","Option","photo","MemberStoreNewView","observer","props","getLocalStoreParam","fieldname","data","localStore","get","filter","item","Name","length","shift","Value","handleChange","info","type","value","state","isCanUpdate","percentNumber","changeStatus","timer","timerFun","window","clearTimeout","store","stores","memberStore","changeValue","strfun","console","log","percentValue","setTimeout","setState","getPersonList","initPersonList","Idstore","initFormData","StorageDetails","setSelectAmount","amount","index","currentValue","inputStorageAmount","inputChange","changeGiftSingle","setCurrentIndex","checkPresentDetail","showPresentDetail","modalCancel","modalOk","canUpdate","percent","memberDisabled","amountList","isInput","editPresentAmount","clearCon","personList","settlementControlEvent","storageAmountSpecData","giftSingle","giftList","noIsMinAmount","currentIndex","Member","Person","storageAmountSpecList","isCustomStorage","Mobilephone","CardCode","ImageFile","BalanceIntegral","BalanceStorage","TotalBalanceAmount","salesman","JSON","getCellValue","thisPresentAmount","undefined","thisStorageAmount","amountPrecision","parseInt","amountMaxLength","storeInfo","TStore","restore","settlementParams","dataSource","DataSource","initData","PosInitData","showAmount","isMemberStorePage","dto","hotKey","hotKeyBindClass","width","marginRight","ot","map","ID","storageAmount","height","input","Component"],"mappings":"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","file":"MemberStoreNewView.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { Form, Select } from 'antd';\r\nimport { observer, stores, localStore } from \"mutants-microfx\";\r\nimport { Settlement, NumKeyboard, hotKey, ModalWraper } from 'tplus-components-touch';\r\nimport { PosInitData, TStore } from 'tplus-poslogin';\r\nimport { formatPrecision } from '../utils';\r\nimport './MemberStoreNew.less';\r\nimport PresetDetailView from './PresetDetailView'\r\nconst FormItem = Form.Item;\r\nconst Option = Select.Option;\r\nconst photo = 'https://newretail.static.chanjet.com/default_avatar.png'\r\n\r\n@observer\r\nclass MemberStoreNewView extends Component{\r\n\r\n constructor(props) {\r\n super(props)\r\n this.timerFun = null;\r\n let canUpdate = this.getLocalStoreParam('CanModifyPresentAmount')\r\n canUpdate = canUpdate == '1' ? true : false;\r\n let percent = this.getLocalStoreParam('PresentAmountLimitPercent')\r\n this.state = {\r\n isCanUpdate: canUpdate,\r\n percentNumber: percent,\r\n memberDisabled: false,\r\n currentValue: null,\r\n showPresentDetail: false,\r\n amountList: [\r\n 100,200,300,400,500,600,700\r\n ],\r\n changeStatus: true\r\n }\r\n }\r\n getLocalStoreParam = (fieldname) => {\r\n let data = localStore.get('setting_setData') || [];\r\n data = data.filter(item => item.Name === fieldname);\r\n return (data && data.length > 0) ? data.shift().Value : null;\r\n }\r\n handleChange = (info, type, value) => {\r\n const { isCanUpdate, percentNumber, changeStatus } = this.state;\r\n if (changeStatus) {\r\n // if (type == 'PresentAmount') {\r\n // this.editPresentAmount = true;\r\n // if (isCanUpdate && this.inputStorageAmount) {\r\n // let thisStorageInput = this.inputStorageAmount.input.input;\r\n // let maxValue = (thisStorageInput.value * parseInt(percentNumber)) / 100;\r\n // if (thisPresentInput.value > maxValue) {\r\n // Message.warn(`本次储值最大可赠送金额为${maxValue},请修改`, { top: 300, duration: 3 })\r\n // this.setState({ memberDisabled: true })\r\n // thisPresentInput.focus();\r\n // return;\r\n // } else {\r\n // this.setState({ memberDisabled: false })\r\n // }\r\n // }\r\n // } else {\r\n // this.editPresentAmount = false;\r\n // }\r\n let timer = this.timerFun;\r\n if (timer != null) {\r\n window.clearTimeout(timer);\r\n }\r\n \r\n const store = stores.memberStore;\r\n const { changeValue } = store || {};\r\n const strfun = async () => {\r\n console.log(`this${type} value:` + value);\r\n await changeValue(info, type, value, { isCanUpdate, percentValue: percentNumber })\r\n }\r\n this.timerFun = window.setTimeout(strfun, 400);\r\n } else {\r\n this.setState({\r\n changeStatus: false\r\n })\r\n }\r\n }\r\n\r\n getPersonList = () => {\r\n const store = stores.memberStore;\r\n const { data, initPersonList } = store || {};\r\n const { Idstore } = data || {};\r\n initPersonList(Idstore)\r\n }\r\n\r\n initFormData = () => {\r\n const store = stores.memberStore;\r\n const { data } = store || {};\r\n const { StorageDetails } = data || {};\r\n }\r\n componentDidUpdate() {\r\n const { isCanUpdate } = this.state;\r\n const store = stores.memberStore;\r\n const { isInput } = store || {};\r\n if (isInput) {\r\n this.inputStorageAmount && this.inputStorageAmount.inputChange('');\r\n }\r\n if (!this.editPresentAmount && isCanUpdate) {\r\n this.initFormData();\r\n } \r\n }\r\n\r\n setSelectAmount = (amount, index) => {\r\n this.setState({\r\n currentValue: amount,\r\n changeStatus: false\r\n })\r\n setTimeout(() => {\r\n this.inputStorageAmount && this.inputStorageAmount.inputChange(\"\");\r\n // this.inputStorageAmount && this.inputStorageAmount.input.input.focus();\r\n this.setState({\r\n changeStatus: true\r\n })\r\n }, 100)\r\n const store = stores.memberStore;\r\n const { changeGiftSingle, setCurrentIndex } = store || {};\r\n setCurrentIndex && setCurrentIndex(index);\r\n changeGiftSingle(amount)\r\n }\r\n\r\n checkPresentDetail = () => {\r\n this.setState({\r\n showPresentDetail: true\r\n })\r\n }\r\n\r\n modalCancel = () => {\r\n this.setState({\r\n showPresentDetail: false\r\n })\r\n }\r\n\r\n modalOk = () => {\r\n this.modalCancel();\r\n }\r\n\r\n render(){\r\n const store = stores.memberStore;\r\n const { isCanUpdate,memberDisabled, amountList, showPresentDetail } = this.state;\r\n const { clearCon, data, changeValue, personList, settlementControlEvent, storageAmountSpecData, giftSingle, giftList, noIsMinAmount, currentIndex, setCurrentIndex} = store || {};\r\n const { Member, Person, StorageDetails } = data || {};\r\n const { storageAmountSpecList, isCustomStorage } = storageAmountSpecData || {};\r\n \r\n // const { storageAmountSpecList } = storageAmountSpecData;\r\n const { Name, Mobilephone, CardCode, ImageFile, BalanceIntegral, BalanceStorage, TotalBalanceAmount } = Member || {};\r\n let salesman = Member ? JSON.getCellValue(Member, \"Person.Name\") : '';\r\n let thisPresentAmount = StorageDetails ? JSON.getCellValue(StorageDetails[0], \"ThisPresentAmount\") : '';\r\n thisPresentAmount = (thisPresentAmount === null || thisPresentAmount === undefined) ? '' : thisPresentAmount;\r\n let thisStorageAmount = StorageDetails ? JSON.getCellValue(StorageDetails[0], \"ThisStorageAmount\") : '';\r\n thisStorageAmount = (thisStorageAmount === null || thisStorageAmount === undefined) ? '' : thisStorageAmount;\r\n //金额小数精度\r\n let amountPrecision = PosInitData(\"AmountPrecision\");\r\n amountPrecision = amountPrecision ? parseInt(amountPrecision) : '';\r\n //金额最大位数 \r\n let amountMaxLength = PosInitData(\"AmountMaxLength\");\r\n amountMaxLength = amountMaxLength ? parseInt(amountMaxLength) : '';\r\n //储值参数\r\n const storeInfo = TStore.restore()\r\n let settlementParams = {\r\n dataSource: data ? data.DataSource : {},\r\n initData: PosInitData,\r\n storeInfo: storeInfo,\r\n showAmount: false,\r\n isMemberStorePage: true,\r\n amount: thisStorageAmount,\r\n type: 1,\r\n dto: data,\r\n memberDisabled: memberDisabled,\r\n ...settlementControlEvent,\r\n noIsMinAmount: noIsMinAmount,\r\n }\r\n console.log('储值金额:' + thisStorageAmount)\r\n console.log('储值settlementParams', settlementParams)\r\n return (\r\n <div className={`${hotKey.hotKeyBindClass('1')}`}>\r\n {\r\n data &&\r\n <div className='memberstore'>\r\n <div className='memberstore-head'>\r\n <div className='imageContainer'>\r\n <img src={ImageFile || photo} />\r\n <div className='imageContainer-message'>\r\n {\r\n Name && <div className='divText'>{Name}</div>\r\n }\r\n {\r\n Name && <div className='divBlank'></div>\r\n }\r\n <div className='divText'>{Mobilephone || CardCode}</div>\r\n </div>\r\n </div>\r\n {/* <div className='message'>\r\n <span>{formatPrecision(TotalBalanceAmount)}</span>\r\n <br />\r\n <span>储值总额</span>\r\n </div> */}\r\n <div className='message'>\r\n <span>{formatPrecision(BalanceStorage)}</span>\r\n <br />\r\n <span>余额</span>\r\n </div>\r\n <div className='message'>\r\n <span>{formatPrecision(BalanceIntegral)}</span>\r\n <br />\r\n <span>积分</span>\r\n </div>\r\n </div>\r\n <div className='line'></div>\r\n <div className='form'>\r\n <FormItem key={1}>\r\n <div className='one'>开卡业务员</div>\r\n <div className='two'>{salesman}</div>\r\n </FormItem>\r\n <FormItem key={2}>\r\n <div className='one'>导购员</div>\r\n <div className='two'>\r\n <Select\r\n placeholder='请选择导购员'\r\n style={{ width: 300, marginRight: 6 }}\r\n showSearch={false}\r\n notFoundContent={'空'}\r\n onFocus={this.getPersonList}\r\n onChange={(value, item) => changeValue(data, 'Person', item.props.ot)}\r\n >\r\n {\r\n personList && personList.map(item => {\r\n return <Option key={item.ID} ot={item} value={item.ID}>{item.Name}</Option>\r\n })\r\n }\r\n </Select>\r\n </div>\r\n </FormItem>\r\n <FormItem key={3} className='storageAmount'>\r\n <div className='one'>储值金额</div>\r\n <div className='two'>\r\n <div onClick={() => this.checkPresentDetail()} className='primary-color checkPresentDetails'>查看礼包详情</div>\r\n {\r\n storageAmountSpecList && <div className='detailAmount'>\r\n {\r\n storageAmountSpecList.map((value, index) => {\r\n return (\r\n <span onClick={() => this.setSelectAmount(value, index)} className={`${index === currentIndex && 'primary-color b-theme-color'}`}>¥{value.storageAmount}</span>\r\n )\r\n })\r\n }\r\n </div>\r\n }\r\n {\r\n isCustomStorage && <NumKeyboard\r\n className=\"content\"\r\n type='text'\r\n bordered\r\n placeholder='其他金额'\r\n style={{ width: 300, height: 32 }}\r\n maxLength={12}\r\n precisionLength={2}\r\n ref={input => this.inputStorageAmount = input}\r\n onFocus={() => {\r\n setCurrentIndex && setCurrentIndex(null);\r\n this.inputStorageAmount && !this.inputStorageAmount.input.input.value && clearCon();\r\n }}\r\n onChange={value => this.handleChange(data, 'StoreAmount', value)}\r\n />\r\n }\r\n </div>\r\n </FormItem>\r\n <FormItem key={4} className='gift'>\r\n <div className='one'>礼包详情</div>\r\n <div className='giftDetail'>\r\n { giftSingle }\r\n </div>\r\n </FormItem>\r\n </div>\r\n <div className='line2'></div>\r\n <div className='footer'>\r\n <div className='storage-footer'>\r\n <Settlement {...settlementParams} />\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n <ModalWraper \r\n className='presentModalWraper'\r\n show={showPresentDetail} \r\n centered={true} \r\n title='礼包详情'\r\n cancel={this.modalCancel}\r\n backdropStyle={{\r\n 'z-index': '1002'\r\n }}\r\n ok={this.modalOk}>\r\n <PresetDetailView giftList={giftList}/>\r\n </ModalWraper>\r\n </div>\r\n )\r\n }\r\n}\r\nexport default MemberStoreNewView;"]}
package/package.json CHANGED
@@ -1,29 +1,29 @@
1
- {
2
- "name": "tplus-member",
3
- "version": "3.17.1",
4
- "description": "",
5
- "main": "dist/index.js",
6
- "scripts": {
7
- "test": "set DEBUG=tplus:*,-not_this && mocha",
8
- "start": "node node_modules/mutants-devtools/bin/start",
9
- "build": "rm -rf dist && node node_modules/mutants-devtools/bin/build",
10
- "pub": "npm run build && npm publish --registry https://registry.npmjs.org && cnpm sync tplus-member",
11
- "dev": "node node_modules/mutants-devtools/bin/dev ../touch"
12
- },
13
- "author": "",
14
- "license": "ISC",
15
- "devDependencies": {
16
- "mutants-appfx": "^1.0.0",
17
- "mutants-devtools": "^1.0.0",
18
- "mutants-microfx": "^1.0.0",
19
- "tplus-api": "~3.0.47",
20
- "tplus-components": "~3.17.1",
21
- "tplus-components-touch": "~3.17.1",
22
- "tplus-portaltouch": "~3.17.1",
23
- "tplus-poslogin": "~3.17.1",
24
- "tplus-setting-touch": "~3.17.1"
25
- },
26
- "dependencies": {
27
- "antd": "4.10.3"
28
- }
29
- }
1
+ {
2
+ "name": "tplus-member",
3
+ "version": "3.18.2",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "scripts": {
7
+ "test": "set DEBUG=tplus:*,-not_this && mocha",
8
+ "start": "node node_modules/mutants-devtools/bin/start",
9
+ "build": "rm -rf dist && node node_modules/mutants-devtools/bin/build",
10
+ "pub": "npm run build && npm publish --registry https://registry.npmjs.org && cnpm sync tplus-member",
11
+ "dev": "node node_modules/mutants-devtools/bin/dev ../touch"
12
+ },
13
+ "author": "",
14
+ "license": "ISC",
15
+ "devDependencies": {
16
+ "mutants-appfx": "^1.0.0",
17
+ "mutants-devtools": "^1.0.0",
18
+ "mutants-microfx": "^1.0.0",
19
+ "tplus-api": "~3.0.47",
20
+ "tplus-components": "~3.18.1",
21
+ "tplus-components-touch": "~3.18.1",
22
+ "tplus-portaltouch": "~3.18.1",
23
+ "tplus-poslogin": "~3.18.1",
24
+ "tplus-setting-touch": "~3.18.1"
25
+ },
26
+ "dependencies": {
27
+ "antd": "4.10.3"
28
+ }
29
+ }