tplus-member 3.26.28 → 3.26.29

Sign up to get free protection for your applications and to get access to all the features.
@@ -552,7 +552,7 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
552
552
  var storageAmount = arguments[1];
553
553
  var lastesStorageResult = arguments[2];
554
554
 
555
- var store, _store$data, data, MeStorageCardId, StorageCardNo, ID, _cardInfo$PresentAmou, PresentAmount, _props9, getCardList, _props9$cardList, cardList, _ref10, _ref10$isCanRefund, isCanRefund, _ref10$storageInfos, storageInfos, params, _ref11, finAccountId, paymentTypeId, ret, _ref12, isSuccess, ex;
555
+ var store, _store$data, data, MeStorageCardId, StorageCardNo, ID, _cardInfo$PresentAmou, PresentAmount, _props9, getCardList, _props9$cardList, cardList, _ref10, _ref10$isCanRefund, isCanRefund, _ref10$storageInfos, storageInfos, params, _ref11, finAccountId, paymentTypeId, latestStorageAmount, outTradeNo, ret, _ref12, isSuccess, ex;
556
556
 
557
557
  return _regenerator2.default.wrap(function _callee4$(_context4) {
558
558
  while (1) {
@@ -587,7 +587,7 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
587
587
  // 如果isCanRefund是false的话,说明是需要退现金,入参的计算方式明细金额是需要退的总金额
588
588
  });
589
589
  if (!isCanRefund) {
590
- _ref11 = storageInfos[0] || {}, finAccountId = _ref11.finAccountId, paymentTypeId = _ref11.paymentTypeId;
590
+ _ref11 = storageInfos[0] || {}, finAccountId = _ref11.finAccountId, paymentTypeId = _ref11.paymentTypeId, latestStorageAmount = _ref11.latestStorageAmount, outTradeNo = _ref11.outTradeNo;
591
591
 
592
592
  params.StorageMutiSettleDetails = [{
593
593
  "StorageAmount": storageAmount,
@@ -597,7 +597,9 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
597
597
  "Code": 1,
598
598
  "IdsettleStyle": paymentTypeId,
599
599
  "DynamicPropertyKeys": [],
600
- "DataSource": {}
600
+ "DataSource": {},
601
+ "OrigPayAmount": latestStorageAmount,
602
+ "OrigTradeNo": outTradeNo
601
603
  }];
602
604
  } else {
603
605
  params.StorageMutiSettleDetails = storageInfos.map(function (item) {
@@ -634,7 +636,7 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
634
636
  getCardList && getCardList(cardList && cardList.length > 1 ? cardList[0].MemberMobile : StorageCardNo);
635
637
  _tplusComponentsTouch.Message.success('退储值成功!');
636
638
  } else {
637
- this.returnedCash('\u53EA\u80FD\u9000\u73B0\u91D1\uFF0C\u662F\u5426\u7EE7\u7EED', storageAmount);
639
+ this.returnedCash('\u53EA\u80FD\u9000\u73B0\u91D1\uFF0C\u662F\u5426\u7EE7\u7EED', storageAmount, lastesStorageResult);
638
640
  }
639
641
 
640
642
  _context4.next = 19;
@@ -673,7 +675,7 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
673
675
 
674
676
  }, {
675
677
  key: 'returnedCash',
676
- value: function returnedCash(content, storageAmount) {
678
+ value: function returnedCash(content, storageAmount, lastesStorageResult) {
677
679
  var that = this;
678
680
  _tplusComponentsTouch.ModalWraper.confirm({
679
681
  title: '提示',
@@ -688,7 +690,7 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
688
690
  that.setState({
689
691
  refundShow: false
690
692
  });
691
- that.submitRefundStorage(cardList[selected], storageAmount, true);
693
+ that.submitRefundStorage(cardList[selected], storageAmount, lastesStorageResult);
692
694
  }
693
695
  });
694
696
  }
@@ -1220,7 +1222,7 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
1220
1222
  break;
1221
1223
  }
1222
1224
 
1223
- _this5.returnedCash('\u53EA\u80FD\u9000\u73B0\u91D1\uFF0C\u662F\u5426\u7EE7\u7EED', storageAmount);
1225
+ _this5.returnedCash('\u53EA\u80FD\u9000\u73B0\u91D1\uFF0C\u662F\u5426\u7EE7\u7EED', storageAmount, lastesStorageResult.data);
1224
1226
  return _context7.abrupt('return');
1225
1227
 
1226
1228
  case 14:
@@ -1236,7 +1238,7 @@ var _default = (0, _mutantsMicrofx.observer)(_class = (_temp = _class2 = functio
1236
1238
  break;
1237
1239
  }
1238
1240
 
1239
- _this5.returnedCash('\u9000\u6B3E\u5927\u4E8E\u6700\u540E\u4E00\u6B21\u50A8\u503C\u91D1\u989D\uFF0C\u65E0\u6CD5\u539F\u8DEF\u9000\u56DE\uFF0C\u53EA\u53EF\u9000\u73B0\u91D1\uFF01\u662F\u5426\u9000\u6B3E\uFF1F', storageAmount);
1241
+ _this5.returnedCash('\u9000\u6B3E\u5927\u4E8E\u6700\u540E\u4E00\u6B21\u50A8\u503C\u91D1\u989D\uFF0C\u65E0\u6CD5\u539F\u8DEF\u9000\u56DE\uFF0C\u53EA\u53EF\u9000\u73B0\u91D1\uFF01\u662F\u5426\u9000\u6B3E\uFF1F', storageAmount, lastesStorageResult.data);
1240
1242
  return _context7.abrupt('return');
1241
1243
 
1242
1244
  case 18:
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/memberMenuStorage/index.js"],"names":["menus1","key","name","visible","icon","auth","SHORTCUT_KEY","display","finish","semi","menus","observer","props","title","subKey","state","modifyPass","passwordTitle","btnDissabled","warnContent","setPwdShortKey","bindCardShow","bindCardBtnDisabled","menuKey","refundShow","refundTitle","memberUnBindCardLoading","refundBtnDisabled","api","MemberStore","changeDisplay","setting_setData","localStore","get","JSON","parse","localStorage","getItem","length","forEach","settingItem","ParamType","Name","Value","storeKey","item","setState","setTimeout","changeState","flag","filterMenus","member","memberEnumState","list","MemberState","Id","notusing","loss","filter","menu","cardList","selected","controllerEvent","memberDto","operationName","card","viewM","context","viewModel","getViewItem","AuthType","cardInfo","CardTypeEnum","WalletEnabled","FreePaymentPasswordStore","DueDate","CardStatusEnum","storageInit","Date","getTime","Message","warn","IsNeedPassword","value","getCardList","StorageCardNo","params","cardNo","mobile","isStorageCardBindMember","changeBindCardBtnDisabled","MeStorageCardBind","ret","success","MemberMobile","storageAmount","lastesStorageResult","store","stores","memberStore","data","MeStorageCardId","ID","PresentAmount","isCanRefund","storageInfos","StorageDetails","Idmember","ThisStorageAmount","StorageType","meStorageCardId","isPresentGiftpack","ThisPresentAmount","redBlueFlagEnum","tradeTypeEnum","finAccountId","paymentTypeId","StorageMutiSettleDetails","map","latestStorageAmount","outTradeNo","ReturnedStorage","isSuccess","ex","returnedCash","content","that","ModalWraper","confirm","okText","onOk","submitRefundStorage","handleEvent","then","platform","isHorizontalSunMi","storage","changePassword","reportLoss","cancelLoss","openCard","resetPassword","bindCard","memberUnBindCard","returnedStorage","authProcess","modifyMember","BalanceStorage","index","status","execute","getMenuItem","changePasswordClick","changePasswordCancel","ref","changeBtnDisabled","bindCardClick","changeBindCardCancel","bindCardRef","changeRefundOk","changeRefundCancel","Component","contextTypes","onEvent","PropTypes","func","object","tags","indexOf","methodName","methodArgs","Action","fromJS","init","settlementControlEvent","onSettleSuccess","modalRouter","hide","callback","show","url","className","memberClass","onHide","handleOk","handleCancel","handleChange","RecordLoss","Success","Msg","Data","dt","Ts","error","catch","console","log","e","onCancel","UnRecordLoss","using","loadUserInfo","MemberType","IsStorage","GetMemberDTO","selectMemberStore","setCurMemberInfo","modalType","closeCk","Loading","destroyOnClose","disabled","bindCardFn","refundable","parseFloat","getLatestStorageAmount","cardId","inputRefundAmount","Number","reduce","total","cur","meMemberId","isRefundStorage","MemberName","confirmLoading","MeStorageCardUnbind","loadingBtn","newStyle","click"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { observer, stores } from \"mutants-microfx\"\r\nimport { Action } from 'mutants-appfx'\r\nimport { toJS } from 'mobx';\r\nimport './style.less';\r\nimport { Ticon, ModalWraper, Message,Loading,Input } from 'tplus-components-touch'\r\nimport { platform, localStore, enumController } from 'mutants-util';\r\nimport { formatPrecision, getFixedNumber } from '../../utils'\r\nimport ModifyPass from './modifyPass'\r\nimport ChangeMemberCard from './changeMemberCard'\r\nimport { PropTypes } from 'prop-types'\r\nimport MemberStore from '../api';\r\nimport BindCard from './bindCard'\r\nimport { Modal } from \"antd\"\r\n\r\nlet menus1 = [{\r\n key: 'storage',\r\n name: '储值',\r\n visible: true,\r\n icon: 'chuzhi',\r\n auth:'Storage',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'returnedStorage',\r\n name: '退储值',\r\n visible: true,\r\n icon: 'tuichuzhi',\r\n auth:'RefundStorage',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'changePassword',\r\n name: '修改密码',\r\n visible: true,\r\n icon: 'xiugaimima1',\r\n auth:'ModifyPassword',\r\n SHORTCUT_KEY: ''\r\n},\r\n// {\r\n// key: 'reportLoss',\r\n// name: '挂失',\r\n// visible: true,\r\n// icon: 'guashi',\r\n// auth:'RecordLoss'\r\n\r\n// },\r\n {\r\n key: 'cancelLoss',\r\n name: '取消挂失',\r\n visible: true,\r\n icon: 'quxiaoguashi',\r\n auth:'RecordLoss',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'resetPassword',\r\n name: '重置密码',\r\n visible: true,\r\n icon: 'chongzhimima',\r\n auth:'PosResetPwd',\r\n SHORTCUT_KEY: ''\r\n},{\r\n key: 'memberBindCard',\r\n name: '会员绑定',\r\n visible: true,\r\n icon: 'huiyuanbangding',\r\n auth:'BindStorageCard',\r\n SHORTCUT_KEY: ''\r\n},\r\n{\r\n key: 'memberUnBindCard',\r\n name: '解绑',\r\n visible: true,\r\n icon: 'jiebang',\r\n auth:'BindStorageCard',\r\n SHORTCUT_KEY: ''\r\n}\r\n]\r\nconst display = {\r\n finish: ['storage', 'changePassword', 'reportLoss', 'cancelLoss'],\r\n semi: ['openCard']\r\n}\r\n\r\nlet menus = [];\r\n@observer\r\nexport default class extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n let { title, subKey } = props;\r\n this.state = {\r\n menus: menus1,\r\n modifyPass: false,\r\n passwordTitle: '换卡',\r\n btnDissabled: true,\r\n warnContent: '',\r\n setPwdShortKey: '',\r\n bindCardShow: false, // 是否显示会员绑卡,默认否\r\n bindCardBtnDisabled: true, // 会员绑卡确定按钮disabled\r\n menuKey: null, // 用来判断是否是储值,设置密码的时候使用\r\n refundShow: false, // 是否显示退储值,默认否\r\n refundTitle: '退储值', // 退储值名称\r\n memberUnBindCardLoading: false, // 解绑按钮loadong\r\n refundBtnDisabled: false, // 退储值disabled\r\n }\r\n this.api = MemberStore;\r\n }\r\n\r\n static contextTypes = {\r\n onEvent: PropTypes.func,\r\n viewModel: PropTypes.object,\r\n stores: PropTypes.object\r\n }\r\n\r\n componentWillMount() {\r\n this.changeDisplay('finish')\r\n }\r\n\r\n componentDidMount() {\r\n let setting_setData = localStore.get(\"setting_setData\");\r\n if(setting_setData == null){ \r\n setting_setData = JSON.parse(localStorage.getItem(\"setting_setData\"));\r\n }\r\n if(setting_setData && setting_setData.length != 0){\r\n setting_setData.forEach((settingItem)=>{\r\n if(settingItem.ParamType && settingItem.ParamType === \"SHORTCUT_KEY\"){\r\n const { Name, Value} = settingItem || {};\r\n const { title, storeKey } = this.props;\r\n menus = (menus1);\r\n menus.forEach((item) => {\r\n if (item.auth === Name) {\r\n item.SHORTCUT_KEY = Value;\r\n }\r\n })\r\n if (Name === 'MemberSetPassword') {\r\n this.setState({\r\n setPwdShortKey: Value\r\n })\r\n }\r\n }\r\n })\r\n }\r\n setTimeout(() => { this.changeState() }, 0)\r\n }\r\n\r\n componentWillReceiveProps() {\r\n this.changeState()\r\n }\r\n\r\n filterMenus = (tags) => {\r\n const { title, storeKey } = this.props;\r\n menus = (menus1);\r\n return menus.filter((menu) => {\r\n return ~tags.indexOf(menu.key)\r\n })\r\n }\r\n\r\n changeDisplay(flag = 'finish') {\r\n const menus = this.filterMenus(display[flag])\r\n this.setState({ menus });\r\n }\r\n\r\n changeState() {\r\n let { member, memberEnumState } = this.props;\r\n const { title, storeKey } = this.props;\r\n let list = (menus1);;\r\n\r\n if (member && member.MemberState) {\r\n if(member.MemberState.Id == memberEnumState.notusing){\r\n this.changeDisplay('semi')\r\n return;\r\n }\r\n this.changeDisplay('finish')\r\n if (member.MemberState.Id == memberEnumState.loss) {\r\n list = menus.filter((menu) => {\r\n return menu.key !== 'reportLoss'&&menu.key !== 'openCard'\r\n })\r\n }else{\r\n list = menus.filter((menu) => {\r\n return menu.key !== 'cancelLoss'&&menu.key !== 'openCard'\r\n })\r\n }\r\n }\r\n this.setState({ menus: list })\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n return this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n async handleEvent(auth) {\r\n const { cardList = [], selected = 0 } = this.props;\r\n await this.controllerEvent('ValidateOperationName', { memberDto: cardList && cardList.length && cardList[selected], operationName: auth, card: 'card' });\r\n let viewM = this.context.viewModel.getViewItem('Voucher');\r\n if (viewM && viewM.AuthType === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n async storage() {\r\n const { cardList = [], selected = 0, } = this.props;\r\n if (cardList && cardList.length) {\r\n let cardInfo = cardList[selected];\r\n const {CardTypeEnum, WalletEnabled, FreePaymentPasswordStore, DueDate, CardStatusEnum} = cardInfo || {};\r\n if (CardTypeEnum === 'BALANCE_CARD') {\r\n if (FreePaymentPasswordStore || WalletEnabled) {\r\n this.storageInit();\r\n } else {\r\n this.setState({ modifyPass: true, passwordTitle: '设置密码', warnContent: '' });\r\n } \r\n } else {\r\n if (new Date(DueDate).getTime() < new Date().getTime()) {\r\n Message.warn('该储值卡已过期,不能储值!');\r\n return;\r\n }\r\n if (CardStatusEnum === 'DISABLED') {\r\n Message.warn('该储值卡未启用,不能储值!');\r\n return;\r\n } else if (CardStatusEnum === 'REFUNDED_CARD') {\r\n Message.warn('该储值卡已退卡,不能储值!');\r\n return;\r\n } else if(CardStatusEnum === 'REFUNDING_CARD') {\r\n Message.warn('该储值卡退卡中,不能储值!');\r\n return;\r\n } else if (CardStatusEnum === 'INVALIDATION') {\r\n Message.warn('该储值卡已失效,不能储值!');\r\n return;\r\n } else if (CardStatusEnum === 'EXPIRED') {\r\n Message.warn('该储值卡已过期,不能储值!');\r\n return;\r\n }\r\n this.storageInit(); \r\n }\r\n }\r\n }\r\n\r\n storageInit = () => {\r\n const { cardList = [], getCardList, selected = 0 } = this.props;\r\n const { StorageCardNo } = cardList[selected] || {};\r\n stores.memberStore.init({\r\n cardInfo: cardList[selected],\r\n settlementControlEvent: {\r\n onSettleSuccess: () => {\r\n stores.modalRouter.hide('/memberstore')\r\n getCardList(cardList && cardList.length > 1 ? cardList[0].MemberMobile : StorageCardNo)\r\n }\r\n },\r\n callback: () => {\r\n stores.modalRouter.show({\r\n url: '/memberstore',\r\n title: '储值',\r\n className: 'memberContainer1',\r\n memberClass:'memberClassWidth',\r\n onHide: () => {\r\n stores.modalRouter.hide('/memberstore')\r\n } \r\n })\r\n }\r\n })\r\n }\r\n\r\n //修改密码\r\n changePasswordClick = () => {\r\n if (this.modifyPass) this.modifyPass.handleOk()\r\n }\r\n // 修改密码\r\n changePassword() {\r\n const { cardList = [], selected = 0 } = this.props\r\n const {IsNeedPassword, CardTypeEnum} = cardList[selected] || {}\r\n if (CardTypeEnum !== 'BALANCE_CARD' && !IsNeedPassword) {\r\n Message.warn(\"此卡没启用密码!\");\r\n return;\r\n }\r\n this.setState({ modifyPass: true, passwordTitle: '修改密码' });\r\n }\r\n\r\n // 重置密码\r\n resetPassword() {\r\n const { cardList = [], selected = 0 } = this.props\r\n const {IsNeedPassword, CardTypeEnum} = cardList[selected] || {}\r\n if (CardTypeEnum !== 'BALANCE_CARD' && !IsNeedPassword) {\r\n Message.warn(\"此卡没启用密码!\");\r\n return;\r\n }\r\n this.setState({ modifyPass: true, passwordTitle: '重置密码' });\r\n }\r\n\r\n changePasswordCancel = () => {\r\n this.setState({ modifyPass: false })\r\n this.modifyPass.handleCancel();\r\n }\r\n\r\n // 注销卡\r\n reportLoss = () => {\r\n let { member, handleChange, memberEnumState } = this.props;\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '确定要挂失该会员卡吗?',\r\n onOk: async () => {\r\n this.api.RecordLoss(member).then(ret => {\r\n const { Success, Msg, Data } = ret;\r\n if (Success === true && Data) {\r\n const dt = JSON.parse(Data);\r\n member.Ts = dt.Ts;\r\n member.MemberState.Id = memberEnumState.loss;\r\n handleChange && handleChange(member);\r\n Message.success('挂失成功。')\r\n } else {\r\n Message.error(\"挂失失败:\" + Msg)\r\n }\r\n }).catch(e => {\r\n console.log('err', e);\r\n })\r\n },\r\n onCancel() {\r\n },\r\n onHide: () => { \r\n }\r\n })\r\n }\r\n //取消注销卡\r\n cancelLoss = () => {\r\n if(!this.api) return;\r\n let { member,handleChange, memberEnumState } = this.props;\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '确定要取消挂失该会员卡吗?',\r\n onOk: async () => {\r\n this.api.UnRecordLoss(member).then(ret => {\r\n const { Success, Msg, Data } = ret;\r\n if (Success === true && Data) {\r\n const dt = JSON.parse(Data);\r\n member.Ts = dt.Ts;\r\n member.MemberState.Id = memberEnumState.using;\r\n handleChange && handleChange(member);\r\n Message.success('取消挂失成功。')\r\n } else {\r\n Message.error(\"取消挂失败:\" + Msg)\r\n }\r\n }).catch(e => {\r\n console.log('err', e);\r\n })\r\n },\r\n onCancel() {\r\n },\r\n onHide: () => { \r\n }\r\n })\r\n }\r\n\r\n // 开卡\r\n openCard = () => {\r\n const { member, loadUserInfo, selected = 0, memberEnumState } = this.props;\r\n const { ID, MemberType: { IsStorage } = {} } = member || {};\r\n memberStore.GetMemberDTO(ID, false).then((ret) => {\r\n stores.selectMemberStore.setCurMemberInfo(ret)\r\n stores.modalRouter.show({\r\n url: '/AA/OPENCARD',\r\n title: '开卡',\r\n className: 'memberAddModal',\r\n modalType: 'big',\r\n onHide: () => stores.modalRouter.hide('/AA/OPENCARD'),\r\n closeCk: () => {\r\n member.MemberState.Id = memberEnumState.using;\r\n }\r\n })\r\n Loading.hide();\r\n })\r\n stores.modalRouter.show({\r\n url: '/AA/OPENCARD',\r\n title: '开卡',\r\n className: 'memberAddModal',\r\n modalType: 'big',\r\n destroyOnClose: true,\r\n onHide: () => stores.modalRouter.hide('/AA/OPENCARD'),\r\n closeCk: () => {\r\n member.MemberState.Id = memberEnumState.using;\r\n },\r\n onHide: () => { \r\n }\r\n })\r\n Loading.hide();\r\n } \r\n\r\n // 点击会员绑卡\r\n bindCard = () => {\r\n const { cardList = [], selected = 0 } = this.props\r\n const {ID} = cardList[selected] || {}\r\n if (!!ID) {\r\n Message.error('该储值卡已经绑定,不能再次进行绑定')\r\n return\r\n }\r\n this.setState({ bindCardShow: true})\r\n }\r\n\r\n // 点击关闭绑卡\r\n changeBindCardCancel = () => {\r\n this.setState({\r\n bindCardShow: false,\r\n bindCardBtnDisabled: true\r\n })\r\n }\r\n\r\n // 修改会员绑卡disabled\r\n changeBindCardBtnDisabled = (disabled) => {\r\n this.setState({\r\n bindCardBtnDisabled: disabled\r\n })\r\n }\r\n\r\n // 点击会员绑卡确定按钮\r\n bindCardClick = () => {\r\n if (this.bindCardRef) {\r\n const { storeKey } = this.props\r\n this.bindCardFn(this.bindCardRef.state)\r\n }\r\n }\r\n\r\n // MeStorageCard > gridTemplateUser > MeStorageCard.cardbatchExport\r\n // 绑卡/会员绑卡确定按钮后,如果是会员绑卡\r\n async bindCardFn (state) {\r\n const { value } = state\r\n const { getCardList, cardList = [], selected = 0} = this.props\r\n const {StorageCardNo} = cardList[selected] || {}\r\n const params = {\r\n cardNo: StorageCardNo,\r\n mobile: value,\r\n isStorageCardBindMember: true\r\n }\r\n this.changeBindCardBtnDisabled(true)\r\n try {\r\n const ret = await this.api.MeStorageCardBind(params)\r\n this.changeBindCardBtnDisabled(false)\r\n Message.success('绑定成功')\r\n getCardList(cardList && cardList.length > 1 ? cardList[0].MemberMobile : StorageCardNo)\r\n this.setState({\r\n bindCardShow: false\r\n })\r\n } catch (err) {\r\n this.changeBindCardBtnDisabled(false)\r\n }\r\n }\r\n\r\n // 点击退储值的取消按钮\r\n changeRefundCancel = () => {\r\n this.setState({\r\n refundShow: false,\r\n })\r\n }\r\n\r\n\r\n // 点击退储值的确定按钮\r\n changeRefundOk = async () => {\r\n const { cardList = [], selected = 0 } = this.props\r\n const {MeStorageCardId, BalanceStorage = 0, PresentAmount = 0, StorageCardNo, ID} = (cardList.length && cardList[selected]) || {};\r\n \r\n const refundable = parseFloat(getFixedNumber(BalanceStorage - PresentAmount))\r\n const storageAmount = getFixedNumber(0-(BalanceStorage - PresentAmount))\r\n const lastesStorageResult = await this.api.getLatestStorageAmount({cardId: MeStorageCardId, inputRefundAmount: refundable})\r\n const {isCanRefund = false, storageInfos = []} = lastesStorageResult.data || {}\r\n\r\n // 退款金额小于等于0,不允许退款\r\n if (Number(refundable) <= 0) {\r\n Message.error('无可退金额,不支持退款!')\r\n return\r\n }\r\n\r\n // 返回的isCanRefund如果是false,不支持原路退回,弹出退现金提示\r\n if (!isCanRefund) {\r\n this.returnedCash(`只能退现金,是否继续`, storageAmount)\r\n return\r\n }\r\n\r\n // 计算最后一次储值的总金额,\r\n const latestStorageAmount = storageInfos.reduce((total, cur) => total + cur.latestStorageAmount, 0)\r\n // 退款只支持退最后一次储值的金额,如果最后一次储值的金额小于可退金额,弹出提示。\r\n if (latestStorageAmount && latestStorageAmount < refundable) {\r\n this.returnedCash(`退款大于最后一次储值金额,无法原路退回,只可退现金!是否退款?`, storageAmount )\r\n return\r\n }\r\n \r\n this.submitRefundStorage(cardList[selected], storageAmount, lastesStorageResult.data)\r\n }\r\n // 点击退储值确定或者退现金之后,请求数据 isCash, 是否是现金结算\r\n async submitRefundStorage(cardInfo = {}, storageAmount, lastesStorageResult) {\r\n if (!cardInfo) return\r\n const store = stores.memberStore\r\n const { data = {} } = store\r\n const { MeStorageCardId, StorageCardNo, ID, PresentAmount = 0} = cardInfo\r\n const { getCardList, cardList = []} = this.props \r\n const { isCanRefund = false, storageInfos = [] } = lastesStorageResult || {}\r\n const params = {\r\n ...data,\r\n StorageDetails: [{\r\n Idmember: ID,\r\n ThisStorageAmount: storageAmount,\r\n StorageType: {},\r\n meStorageCardId: MeStorageCardId,\r\n isPresentGiftpack: data.StorageDetails[0].isPresentGiftpack,\r\n ThisPresentAmount: getFixedNumber(0-PresentAmount)\r\n }],\r\n redBlueFlagEnum: 'RED',\r\n storageAmount: storageAmount,\r\n tradeTypeEnum: 'REFUND_CARD'\r\n }\r\n\r\n // 如果isCanRefund是false的话,说明是需要退现金,入参的计算方式明细金额是需要退的总金额\r\n if (!isCanRefund) {\r\n const { finAccountId, paymentTypeId } = storageInfos[0] || {}\r\n params.StorageMutiSettleDetails = [{\r\n \"StorageAmount\": storageAmount,\r\n \"PaymentCode\": \"\",\r\n \"DynamicPropertyValues\": [],\r\n \"IdbankAccount\": finAccountId,\r\n \"Code\": 1,\r\n \"IdsettleStyle\": paymentTypeId,\r\n \"DynamicPropertyKeys\": [],\r\n \"DataSource\": {}\r\n }]\r\n } else {\r\n params.StorageMutiSettleDetails = storageInfos.map(item => {\r\n return {\r\n \"StorageAmount\": '-'+item.latestStorageAmount,\r\n \"PaymentCode\": \"\",\r\n \"DynamicPropertyValues\": [],\r\n \"IdbankAccount\": item.finAccountId,\r\n \"Code\": 1,\r\n \"IdsettleStyle\": item.paymentTypeId,\r\n \"DynamicPropertyKeys\": [],\r\n \"DataSource\": {},\r\n \"OrigPayAmount\":item.latestStorageAmount,\r\n \"OrigTradeNo\":item.outTradeNo\r\n }\r\n })\r\n }\r\n \r\n\r\n await this.setState({\r\n refundBtnDisabled: true\r\n })\r\n try {\r\n const ret = await this.api.ReturnedStorage(params)\r\n const { isSuccess, ex } = ret.data || {}\r\n if (isSuccess === true || isSuccess === 'true') {\r\n getCardList && getCardList(cardList && cardList.length > 1 ? cardList[0].MemberMobile : StorageCardNo)\r\n Message.success('退储值成功!')\r\n } else {\r\n this.returnedCash(`只能退现金,是否继续`, storageAmount)\r\n }\r\n \r\n await this.setState({\r\n refundBtnDisabled: false,\r\n refundShow: false\r\n })\r\n } catch (err) {\r\n await this.setState({\r\n refundBtnDisabled: false\r\n })\r\n }\r\n }\r\n // 退现金提示\r\n returnedCash (content, storageAmount) {\r\n const that = this\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content,\r\n okText: '现金',\r\n onOk: () => {\r\n const {cardList = [], selected} = that.props\r\n that.setState({\r\n refundShow: false\r\n })\r\n that.submitRefundStorage(cardList[selected], storageAmount, true)\r\n }\r\n })\r\n }\r\n // 点击退储值\r\n returnedStorage = () => {\r\n const { cardList = [], selected = 0 } = this.props\r\n const { Id } = cardList[selected] || {}\r\n cardList[selected].meMemberId = Id\r\n cardList[selected].isRefundStorage = 1 // 自己添加参数,用来判断是储值还是退储值\r\n stores.memberStore.init({\r\n cardInfo: cardList[selected],\r\n settlementControlEvent: {},\r\n callback: () => {\r\n this.setState({\r\n refundShow: true\r\n })\r\n }\r\n })\r\n }\r\n // 点击解绑\r\n memberUnBindCard = () => {\r\n const { cardList = [], selected = 0 } = this.props\r\n const {StorageCardNo, MemberMobile, MemberName, ID} = cardList[selected] || {}\r\n if (!ID) {\r\n Message.error('该卡未绑定会员')\r\n return\r\n }\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: `此卡属于${MemberName || MemberMobile}会员,确认解绑吗?`,\r\n confirmLoading: this.state.memberUnBindCardLoading,\r\n onOk: async () => {\r\n this.setState({\r\n memberUnBindCardLoading: true\r\n })\r\n this.api.MeStorageCardUnbind({StorageCardNo}).then(res => {\r\n const { getCardList } = this.props\r\n Message.success('解绑成功')\r\n getCardList(cardList && cardList.length > 1 ? cardList[0].MemberMobile : StorageCardNo)\r\n this.setState({\r\n memberUnBindCardLoading: false\r\n })\r\n }).catch(() => {\r\n this.setState({\r\n memberUnBindCardLoading: false\r\n })\r\n })\r\n },\r\n })\r\n }\r\n click(key, auth, name) {\r\n this.setState({\r\n warnContent: ''\r\n })\r\n this.handleEvent(auth).then(ret=>{\r\n if (key === 'storage') {\r\n this.setState({\r\n menuKey: 'storage'\r\n })\r\n } else {\r\n this.setState({\r\n menuKey: null\r\n })\r\n }\r\n if (ret === true) {\r\n const { isHorizontalSunMi } = platform || {};\r\n switch (key) {\r\n case 'storage': this.storage(); break;\r\n case 'changePassword': this.changePassword(); break;\r\n case 'reportLoss': this.reportLoss(); break;\r\n case 'cancelLoss': this.cancelLoss(); break;\r\n case 'openCard': this.openCard(); break;\r\n case 'resetPassword': this.resetPassword(); break;\r\n case 'memberBindCard': this.bindCard(key, name); break;\r\n case 'memberUnBindCard': this.memberUnBindCard(); break;\r\n case 'returnedStorage': this.returnedStorage(); break;\r\n }\r\n }\r\n })\r\n }\r\n\r\n changeBtnDisabled = (value) => {\r\n this.setState({\r\n btnDissabled: value\r\n })\r\n }\r\n\r\n getMenuItem = (index, menu) => {\r\n let {loadingBtn, cardList = [], selected = 0} = this.props;\r\n const { setPwdShortKey } = this.state || {};\r\n let newStyle =localStore && localStore.get('voucherDefaultPosMode')=='voucher';\r\n const { WalletEnabled, CardTypeEnum } = cardList && cardList.length && cardList[selected] || {};\r\n // 控制显示修改密码还是设置密码\r\n if (menu.auth === 'ModifyPassword') {\r\n if (CardTypeEnum === 'BALANCE_CARD') {\r\n return <div key={index} className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth)\r\n }}\r\n >\r\n {WalletEnabled ? <div><Ticon icon={menu.icon}></Ticon><span>修改密码</span><div className='menuHotkey'>{menu.SHORTCUT_KEY}</div></div> : \r\n <div><Ticon icon={menu.icon}></Ticon><span>设置密码</span><div className='menuHotkey'>{setPwdShortKey}</div></div>}\r\n </div>\r\n } else {\r\n return <div key={index} className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth)\r\n }}\r\n >\r\n <div><Ticon icon={menu.icon}></Ticon><span>修改密码</span><div className='menuHotkey'>{menu.SHORTCUT_KEY}</div></div>\r\n </div>\r\n }\r\n } else if (CardTypeEnum === 'BALANCE_CARD' && !WalletEnabled && menu.auth === 'PosResetPwd') {\r\n return\r\n }\r\n else {\r\n return (\r\n <div \r\n key={index} \r\n className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth, menu.name)\r\n }}\r\n >\r\n <Ticon icon={menu.icon}></Ticon><span>{menu.name}</span>\r\n <div className='menuHotkey'>{menu.SHORTCUT_KEY}</div>\r\n </div>\r\n )\r\n }\r\n }\r\n\r\n render() {\r\n const { menus, modifyPass, passwordTitle, btnDissabled, bindCardShow, bindCardBtnDisabled, refundShow, refundBtnDisabled, menuKey } = this.state;\r\n let { member = {}, authProcess, getCardList, selected = 0, modifyMember, cardList = []} = this.props;\r\n const {Id, BalanceStorage = 0, PresentAmount = 0, WalletEnabled, CardTypeEnum, CardStatusEnum, StorageCardNo } = (cardList.length && cardList[selected]) || {};\r\n return (\r\n <div className='member-menu'>\r\n {\r\n menus && menus.map((menu,index) => {\r\n let status = authProcess.execute(menu.auth);\r\n if (status) {\r\n if (menu.auth === 'BindStorageCard') {\r\n if (menu.key === 'memberBindCard' && CardTypeEnum !== 'BALANCE_CARD' && CardStatusEnum && CardStatusEnum !== 'BINDING') {\r\n return this.getMenuItem(index, menu);\r\n }\r\n if (menu.key === 'memberUnBindCard' && CardTypeEnum !== 'BALANCE_CARD' && CardStatusEnum && CardStatusEnum === 'BINDING') {\r\n return this.getMenuItem(index, menu);\r\n }\r\n } else {\r\n return this.getMenuItem(index, menu)\r\n }\r\n } else {\r\n if (menu.auth === 'ModifyPassword') {\r\n return this.getMenuItem(index, menu);\r\n } else if (menu.auth === 'returnedStorage') {\r\n return this.getMenuItem(index, menu);\r\n } else {\r\n return '';\r\n }\r\n }\r\n })\r\n }\r\n <ModalWraper\r\n title={CardTypeEnum === 'BALANCE_CARD' && !WalletEnabled ? '设置密码' : passwordTitle}\r\n show={modifyPass}\r\n ok={this.changePasswordClick}\r\n className='modify-password'\r\n modalType='mid'\r\n closeButton={true}\r\n exclueBoard={true}\r\n cancel={this.changePasswordCancel}\r\n btnDissabled={btnDissabled}\r\n >\r\n {\r\n passwordTitle === '换卡' ?\r\n <ChangeMemberCard cardList={cardList && cardList.length && cardList[selected]} modifyMember={modifyMember} member={member} ref={ref => this.modifyPass = ref} cancelModal={this.changePasswordCancel}></ChangeMemberCard>:\r\n <ModifyPass menuKey={menuKey} cardListCopy={cardList} cardList={cardList && cardList.length && cardList[selected]} changeBtnDisabled={this.changeBtnDisabled} loadUserInfo={getCardList} selected={selected} storageInit={this.storageInit} passwordTitle={\r\n CardTypeEnum === 'BALANCE_CARD' && !WalletEnabled ? '设置密码' : passwordTitle\r\n } modifyMember={modifyMember} ref={ref => this.modifyPass = ref} member={member} cancelModal={this.changePasswordCancel}></ModifyPass>\r\n }\r\n </ModalWraper>\r\n {/* 会员绑定 */}\r\n <ModalWraper \r\n title='会员绑定'\r\n show={bindCardShow}\r\n className='bind-card'\r\n closeButton={false}\r\n ok={this.bindCardClick}\r\n cancel={this.changeBindCardCancel}\r\n btnDissabled={bindCardBtnDisabled}\r\n >\r\n <BindCard\r\n ref={ref => this.bindCardRef = ref}\r\n bindCardClick={this.bindCardClick}\r\n changeBindCardBtnDisabled={this.changeBindCardBtnDisabled}\r\n />\r\n </ModalWraper>\r\n {/* 会员绑定 */}\r\n {/* 退储值 */}\r\n <ModalWraper \r\n title='退储值'\r\n show={refundShow}\r\n className='refund'\r\n modalType=\"mid\"\r\n closeButton={false}\r\n ok={this.changeRefundOk}\r\n cancel={this.changeRefundCancel}\r\n btnDissabled={refundBtnDisabled}\r\n >\r\n <div className='refund-container'>\r\n <ul className='refund-list'>\r\n <li className='refund-item'>\r\n <span className='title'>储值卡号:</span>\r\n <span className='value'>{StorageCardNo}</span>\r\n </li>\r\n <li className='refund-item'>\r\n <span className='title'>储值余额:</span>\r\n <span className='value'>{formatPrecision(BalanceStorage, 2)}</span>\r\n </li>\r\n <li className='refund-item'>\r\n <span className='title'>赠送金额:</span>\r\n <span className='value'>{formatPrecision(PresentAmount, 2)}</span>\r\n </li>\r\n <li className='refund-item'>\r\n <span className='title'>可退金额:</span>\r\n <span className='value special'>{ getFixedNumber(BalanceStorage - PresentAmount) }</span>\r\n </li>\r\n </ul> \r\n <p className='tips'>注:可退金额 = 储值余额-赠送金。(仅支持将最近一次储值金额原路退回到微信或支付宝,若超出时请退现金!)</p>\r\n </div> \r\n </ModalWraper>\r\n {/* 退储值 */}\r\n </div>\r\n )\r\n }\r\n}"]}
1
+ {"version":3,"sources":["tplus-member/member/memberMenuStorage/index.js"],"names":["menus1","key","name","visible","icon","auth","SHORTCUT_KEY","display","finish","semi","menus","observer","props","title","subKey","state","modifyPass","passwordTitle","btnDissabled","warnContent","setPwdShortKey","bindCardShow","bindCardBtnDisabled","menuKey","refundShow","refundTitle","memberUnBindCardLoading","refundBtnDisabled","api","MemberStore","changeDisplay","setting_setData","localStore","get","JSON","parse","localStorage","getItem","length","forEach","settingItem","ParamType","Name","Value","storeKey","item","setState","setTimeout","changeState","flag","filterMenus","member","memberEnumState","list","MemberState","Id","notusing","loss","filter","menu","cardList","selected","controllerEvent","memberDto","operationName","card","viewM","context","viewModel","getViewItem","AuthType","cardInfo","CardTypeEnum","WalletEnabled","FreePaymentPasswordStore","DueDate","CardStatusEnum","storageInit","Date","getTime","Message","warn","IsNeedPassword","value","getCardList","StorageCardNo","params","cardNo","mobile","isStorageCardBindMember","changeBindCardBtnDisabled","MeStorageCardBind","ret","success","MemberMobile","storageAmount","lastesStorageResult","store","stores","memberStore","data","MeStorageCardId","ID","PresentAmount","isCanRefund","storageInfos","StorageDetails","Idmember","ThisStorageAmount","StorageType","meStorageCardId","isPresentGiftpack","ThisPresentAmount","redBlueFlagEnum","tradeTypeEnum","finAccountId","paymentTypeId","latestStorageAmount","outTradeNo","StorageMutiSettleDetails","map","ReturnedStorage","isSuccess","ex","returnedCash","content","that","ModalWraper","confirm","okText","onOk","submitRefundStorage","handleEvent","then","platform","isHorizontalSunMi","storage","changePassword","reportLoss","cancelLoss","openCard","resetPassword","bindCard","memberUnBindCard","returnedStorage","authProcess","modifyMember","BalanceStorage","index","status","execute","getMenuItem","changePasswordClick","changePasswordCancel","ref","changeBtnDisabled","bindCardClick","changeBindCardCancel","bindCardRef","changeRefundOk","changeRefundCancel","Component","contextTypes","onEvent","PropTypes","func","object","tags","indexOf","methodName","methodArgs","Action","fromJS","init","settlementControlEvent","onSettleSuccess","modalRouter","hide","callback","show","url","className","memberClass","onHide","handleOk","handleCancel","handleChange","RecordLoss","Success","Msg","Data","dt","Ts","error","catch","console","log","e","onCancel","UnRecordLoss","using","loadUserInfo","MemberType","IsStorage","GetMemberDTO","selectMemberStore","setCurMemberInfo","modalType","closeCk","Loading","destroyOnClose","disabled","bindCardFn","refundable","parseFloat","getLatestStorageAmount","cardId","inputRefundAmount","Number","reduce","total","cur","meMemberId","isRefundStorage","MemberName","confirmLoading","MeStorageCardUnbind","loadingBtn","newStyle","click"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { observer, stores } from \"mutants-microfx\"\r\nimport { Action } from 'mutants-appfx'\r\nimport { toJS } from 'mobx';\r\nimport './style.less';\r\nimport { Ticon, ModalWraper, Message,Loading,Input } from 'tplus-components-touch'\r\nimport { platform, localStore, enumController } from 'mutants-util';\r\nimport { formatPrecision, getFixedNumber } from '../../utils'\r\nimport ModifyPass from './modifyPass'\r\nimport ChangeMemberCard from './changeMemberCard'\r\nimport { PropTypes } from 'prop-types'\r\nimport MemberStore from '../api';\r\nimport BindCard from './bindCard'\r\nimport { Modal } from \"antd\"\r\n\r\nlet menus1 = [{\r\n key: 'storage',\r\n name: '储值',\r\n visible: true,\r\n icon: 'chuzhi',\r\n auth:'Storage',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'returnedStorage',\r\n name: '退储值',\r\n visible: true,\r\n icon: 'tuichuzhi',\r\n auth:'RefundStorage',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'changePassword',\r\n name: '修改密码',\r\n visible: true,\r\n icon: 'xiugaimima1',\r\n auth:'ModifyPassword',\r\n SHORTCUT_KEY: ''\r\n},\r\n// {\r\n// key: 'reportLoss',\r\n// name: '挂失',\r\n// visible: true,\r\n// icon: 'guashi',\r\n// auth:'RecordLoss'\r\n\r\n// },\r\n {\r\n key: 'cancelLoss',\r\n name: '取消挂失',\r\n visible: true,\r\n icon: 'quxiaoguashi',\r\n auth:'RecordLoss',\r\n SHORTCUT_KEY: ''\r\n}, {\r\n key: 'resetPassword',\r\n name: '重置密码',\r\n visible: true,\r\n icon: 'chongzhimima',\r\n auth:'PosResetPwd',\r\n SHORTCUT_KEY: ''\r\n},{\r\n key: 'memberBindCard',\r\n name: '会员绑定',\r\n visible: true,\r\n icon: 'huiyuanbangding',\r\n auth:'BindStorageCard',\r\n SHORTCUT_KEY: ''\r\n},\r\n{\r\n key: 'memberUnBindCard',\r\n name: '解绑',\r\n visible: true,\r\n icon: 'jiebang',\r\n auth:'BindStorageCard',\r\n SHORTCUT_KEY: ''\r\n}\r\n]\r\nconst display = {\r\n finish: ['storage', 'changePassword', 'reportLoss', 'cancelLoss'],\r\n semi: ['openCard']\r\n}\r\n\r\nlet menus = [];\r\n@observer\r\nexport default class extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n let { title, subKey } = props;\r\n this.state = {\r\n menus: menus1,\r\n modifyPass: false,\r\n passwordTitle: '换卡',\r\n btnDissabled: true,\r\n warnContent: '',\r\n setPwdShortKey: '',\r\n bindCardShow: false, // 是否显示会员绑卡,默认否\r\n bindCardBtnDisabled: true, // 会员绑卡确定按钮disabled\r\n menuKey: null, // 用来判断是否是储值,设置密码的时候使用\r\n refundShow: false, // 是否显示退储值,默认否\r\n refundTitle: '退储值', // 退储值名称\r\n memberUnBindCardLoading: false, // 解绑按钮loadong\r\n refundBtnDisabled: false, // 退储值disabled\r\n }\r\n this.api = MemberStore;\r\n }\r\n\r\n static contextTypes = {\r\n onEvent: PropTypes.func,\r\n viewModel: PropTypes.object,\r\n stores: PropTypes.object\r\n }\r\n\r\n componentWillMount() {\r\n this.changeDisplay('finish')\r\n }\r\n\r\n componentDidMount() {\r\n let setting_setData = localStore.get(\"setting_setData\");\r\n if(setting_setData == null){ \r\n setting_setData = JSON.parse(localStorage.getItem(\"setting_setData\"));\r\n }\r\n if(setting_setData && setting_setData.length != 0){\r\n setting_setData.forEach((settingItem)=>{\r\n if(settingItem.ParamType && settingItem.ParamType === \"SHORTCUT_KEY\"){\r\n const { Name, Value} = settingItem || {};\r\n const { title, storeKey } = this.props;\r\n menus = (menus1);\r\n menus.forEach((item) => {\r\n if (item.auth === Name) {\r\n item.SHORTCUT_KEY = Value;\r\n }\r\n })\r\n if (Name === 'MemberSetPassword') {\r\n this.setState({\r\n setPwdShortKey: Value\r\n })\r\n }\r\n }\r\n })\r\n }\r\n setTimeout(() => { this.changeState() }, 0)\r\n }\r\n\r\n componentWillReceiveProps() {\r\n this.changeState()\r\n }\r\n\r\n filterMenus = (tags) => {\r\n const { title, storeKey } = this.props;\r\n menus = (menus1);\r\n return menus.filter((menu) => {\r\n return ~tags.indexOf(menu.key)\r\n })\r\n }\r\n\r\n changeDisplay(flag = 'finish') {\r\n const menus = this.filterMenus(display[flag])\r\n this.setState({ menus });\r\n }\r\n\r\n changeState() {\r\n let { member, memberEnumState } = this.props;\r\n const { title, storeKey } = this.props;\r\n let list = (menus1);;\r\n\r\n if (member && member.MemberState) {\r\n if(member.MemberState.Id == memberEnumState.notusing){\r\n this.changeDisplay('semi')\r\n return;\r\n }\r\n this.changeDisplay('finish')\r\n if (member.MemberState.Id == memberEnumState.loss) {\r\n list = menus.filter((menu) => {\r\n return menu.key !== 'reportLoss'&&menu.key !== 'openCard'\r\n })\r\n }else{\r\n list = menus.filter((menu) => {\r\n return menu.key !== 'cancelLoss'&&menu.key !== 'openCard'\r\n })\r\n }\r\n }\r\n this.setState({ menus: list })\r\n }\r\n\r\n controllerEvent = (methodName, methodArgs) => {\r\n return this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\r\n }\r\n\r\n async handleEvent(auth) {\r\n const { cardList = [], selected = 0 } = this.props;\r\n await this.controllerEvent('ValidateOperationName', { memberDto: cardList && cardList.length && cardList[selected], operationName: auth, card: 'card' });\r\n let viewM = this.context.viewModel.getViewItem('Voucher');\r\n if (viewM && viewM.AuthType === false) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n async storage() {\r\n const { cardList = [], selected = 0, } = this.props;\r\n if (cardList && cardList.length) {\r\n let cardInfo = cardList[selected];\r\n const {CardTypeEnum, WalletEnabled, FreePaymentPasswordStore, DueDate, CardStatusEnum} = cardInfo || {};\r\n if (CardTypeEnum === 'BALANCE_CARD') {\r\n if (FreePaymentPasswordStore || WalletEnabled) {\r\n this.storageInit();\r\n } else {\r\n this.setState({ modifyPass: true, passwordTitle: '设置密码', warnContent: '' });\r\n } \r\n } else {\r\n if (new Date(DueDate).getTime() < new Date().getTime()) {\r\n Message.warn('该储值卡已过期,不能储值!');\r\n return;\r\n }\r\n if (CardStatusEnum === 'DISABLED') {\r\n Message.warn('该储值卡未启用,不能储值!');\r\n return;\r\n } else if (CardStatusEnum === 'REFUNDED_CARD') {\r\n Message.warn('该储值卡已退卡,不能储值!');\r\n return;\r\n } else if(CardStatusEnum === 'REFUNDING_CARD') {\r\n Message.warn('该储值卡退卡中,不能储值!');\r\n return;\r\n } else if (CardStatusEnum === 'INVALIDATION') {\r\n Message.warn('该储值卡已失效,不能储值!');\r\n return;\r\n } else if (CardStatusEnum === 'EXPIRED') {\r\n Message.warn('该储值卡已过期,不能储值!');\r\n return;\r\n }\r\n this.storageInit(); \r\n }\r\n }\r\n }\r\n\r\n storageInit = () => {\r\n const { cardList = [], getCardList, selected = 0 } = this.props;\r\n const { StorageCardNo } = cardList[selected] || {};\r\n stores.memberStore.init({\r\n cardInfo: cardList[selected],\r\n settlementControlEvent: {\r\n onSettleSuccess: () => {\r\n stores.modalRouter.hide('/memberstore')\r\n getCardList(cardList && cardList.length > 1 ? cardList[0].MemberMobile : StorageCardNo)\r\n }\r\n },\r\n callback: () => {\r\n stores.modalRouter.show({\r\n url: '/memberstore',\r\n title: '储值',\r\n className: 'memberContainer1',\r\n memberClass:'memberClassWidth',\r\n onHide: () => {\r\n stores.modalRouter.hide('/memberstore')\r\n } \r\n })\r\n }\r\n })\r\n }\r\n\r\n //修改密码\r\n changePasswordClick = () => {\r\n if (this.modifyPass) this.modifyPass.handleOk()\r\n }\r\n // 修改密码\r\n changePassword() {\r\n const { cardList = [], selected = 0 } = this.props\r\n const {IsNeedPassword, CardTypeEnum} = cardList[selected] || {}\r\n if (CardTypeEnum !== 'BALANCE_CARD' && !IsNeedPassword) {\r\n Message.warn(\"此卡没启用密码!\");\r\n return;\r\n }\r\n this.setState({ modifyPass: true, passwordTitle: '修改密码' });\r\n }\r\n\r\n // 重置密码\r\n resetPassword() {\r\n const { cardList = [], selected = 0 } = this.props\r\n const {IsNeedPassword, CardTypeEnum} = cardList[selected] || {}\r\n if (CardTypeEnum !== 'BALANCE_CARD' && !IsNeedPassword) {\r\n Message.warn(\"此卡没启用密码!\");\r\n return;\r\n }\r\n this.setState({ modifyPass: true, passwordTitle: '重置密码' });\r\n }\r\n\r\n changePasswordCancel = () => {\r\n this.setState({ modifyPass: false })\r\n this.modifyPass.handleCancel();\r\n }\r\n\r\n // 注销卡\r\n reportLoss = () => {\r\n let { member, handleChange, memberEnumState } = this.props;\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '确定要挂失该会员卡吗?',\r\n onOk: async () => {\r\n this.api.RecordLoss(member).then(ret => {\r\n const { Success, Msg, Data } = ret;\r\n if (Success === true && Data) {\r\n const dt = JSON.parse(Data);\r\n member.Ts = dt.Ts;\r\n member.MemberState.Id = memberEnumState.loss;\r\n handleChange && handleChange(member);\r\n Message.success('挂失成功。')\r\n } else {\r\n Message.error(\"挂失失败:\" + Msg)\r\n }\r\n }).catch(e => {\r\n console.log('err', e);\r\n })\r\n },\r\n onCancel() {\r\n },\r\n onHide: () => { \r\n }\r\n })\r\n }\r\n //取消注销卡\r\n cancelLoss = () => {\r\n if(!this.api) return;\r\n let { member,handleChange, memberEnumState } = this.props;\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: '确定要取消挂失该会员卡吗?',\r\n onOk: async () => {\r\n this.api.UnRecordLoss(member).then(ret => {\r\n const { Success, Msg, Data } = ret;\r\n if (Success === true && Data) {\r\n const dt = JSON.parse(Data);\r\n member.Ts = dt.Ts;\r\n member.MemberState.Id = memberEnumState.using;\r\n handleChange && handleChange(member);\r\n Message.success('取消挂失成功。')\r\n } else {\r\n Message.error(\"取消挂失败:\" + Msg)\r\n }\r\n }).catch(e => {\r\n console.log('err', e);\r\n })\r\n },\r\n onCancel() {\r\n },\r\n onHide: () => { \r\n }\r\n })\r\n }\r\n\r\n // 开卡\r\n openCard = () => {\r\n const { member, loadUserInfo, selected = 0, memberEnumState } = this.props;\r\n const { ID, MemberType: { IsStorage } = {} } = member || {};\r\n memberStore.GetMemberDTO(ID, false).then((ret) => {\r\n stores.selectMemberStore.setCurMemberInfo(ret)\r\n stores.modalRouter.show({\r\n url: '/AA/OPENCARD',\r\n title: '开卡',\r\n className: 'memberAddModal',\r\n modalType: 'big',\r\n onHide: () => stores.modalRouter.hide('/AA/OPENCARD'),\r\n closeCk: () => {\r\n member.MemberState.Id = memberEnumState.using;\r\n }\r\n })\r\n Loading.hide();\r\n })\r\n stores.modalRouter.show({\r\n url: '/AA/OPENCARD',\r\n title: '开卡',\r\n className: 'memberAddModal',\r\n modalType: 'big',\r\n destroyOnClose: true,\r\n onHide: () => stores.modalRouter.hide('/AA/OPENCARD'),\r\n closeCk: () => {\r\n member.MemberState.Id = memberEnumState.using;\r\n },\r\n onHide: () => { \r\n }\r\n })\r\n Loading.hide();\r\n } \r\n\r\n // 点击会员绑卡\r\n bindCard = () => {\r\n const { cardList = [], selected = 0 } = this.props\r\n const {ID} = cardList[selected] || {}\r\n if (!!ID) {\r\n Message.error('该储值卡已经绑定,不能再次进行绑定')\r\n return\r\n }\r\n this.setState({ bindCardShow: true})\r\n }\r\n\r\n // 点击关闭绑卡\r\n changeBindCardCancel = () => {\r\n this.setState({\r\n bindCardShow: false,\r\n bindCardBtnDisabled: true\r\n })\r\n }\r\n\r\n // 修改会员绑卡disabled\r\n changeBindCardBtnDisabled = (disabled) => {\r\n this.setState({\r\n bindCardBtnDisabled: disabled\r\n })\r\n }\r\n\r\n // 点击会员绑卡确定按钮\r\n bindCardClick = () => {\r\n if (this.bindCardRef) {\r\n const { storeKey } = this.props\r\n this.bindCardFn(this.bindCardRef.state)\r\n }\r\n }\r\n\r\n // MeStorageCard > gridTemplateUser > MeStorageCard.cardbatchExport\r\n // 绑卡/会员绑卡确定按钮后,如果是会员绑卡\r\n async bindCardFn (state) {\r\n const { value } = state\r\n const { getCardList, cardList = [], selected = 0} = this.props\r\n const {StorageCardNo} = cardList[selected] || {}\r\n const params = {\r\n cardNo: StorageCardNo,\r\n mobile: value,\r\n isStorageCardBindMember: true\r\n }\r\n this.changeBindCardBtnDisabled(true)\r\n try {\r\n const ret = await this.api.MeStorageCardBind(params)\r\n this.changeBindCardBtnDisabled(false)\r\n Message.success('绑定成功')\r\n getCardList(cardList && cardList.length > 1 ? cardList[0].MemberMobile : StorageCardNo)\r\n this.setState({\r\n bindCardShow: false\r\n })\r\n } catch (err) {\r\n this.changeBindCardBtnDisabled(false)\r\n }\r\n }\r\n\r\n // 点击退储值的取消按钮\r\n changeRefundCancel = () => {\r\n this.setState({\r\n refundShow: false,\r\n })\r\n }\r\n\r\n\r\n // 点击退储值的确定按钮\r\n changeRefundOk = async () => {\r\n const { cardList = [], selected = 0 } = this.props\r\n const {MeStorageCardId, BalanceStorage = 0, PresentAmount = 0, StorageCardNo, ID} = (cardList.length && cardList[selected]) || {};\r\n \r\n const refundable = parseFloat(getFixedNumber(BalanceStorage - PresentAmount))\r\n const storageAmount = getFixedNumber(0-(BalanceStorage - PresentAmount))\r\n const lastesStorageResult = await this.api.getLatestStorageAmount({cardId: MeStorageCardId, inputRefundAmount: refundable})\r\n const {isCanRefund = false, storageInfos = []} = lastesStorageResult.data || {}\r\n\r\n // 退款金额小于等于0,不允许退款\r\n if (Number(refundable) <= 0) {\r\n Message.error('无可退金额,不支持退款!')\r\n return\r\n }\r\n\r\n // 返回的isCanRefund如果是false,不支持原路退回,弹出退现金提示\r\n if (!isCanRefund) {\r\n this.returnedCash(`只能退现金,是否继续`, storageAmount, lastesStorageResult.data)\r\n return\r\n }\r\n\r\n // 计算最后一次储值的总金额,\r\n const latestStorageAmount = storageInfos.reduce((total, cur) => total + cur.latestStorageAmount, 0)\r\n // 退款只支持退最后一次储值的金额,如果最后一次储值的金额小于可退金额,弹出提示。\r\n if (latestStorageAmount && latestStorageAmount < refundable) {\r\n this.returnedCash(`退款大于最后一次储值金额,无法原路退回,只可退现金!是否退款?`, storageAmount, lastesStorageResult.data )\r\n return\r\n }\r\n \r\n this.submitRefundStorage(cardList[selected], storageAmount, lastesStorageResult.data)\r\n }\r\n // 点击退储值确定或者退现金之后,请求数据 isCash, 是否是现金结算\r\n async submitRefundStorage(cardInfo = {}, storageAmount, lastesStorageResult) {\r\n if (!cardInfo) return\r\n const store = stores.memberStore\r\n const { data = {} } = store\r\n const { MeStorageCardId, StorageCardNo, ID, PresentAmount = 0} = cardInfo\r\n const { getCardList, cardList = []} = this.props \r\n const { isCanRefund = false, storageInfos = [] } = lastesStorageResult || {}\r\n const params = {\r\n ...data,\r\n StorageDetails: [{\r\n Idmember: ID,\r\n ThisStorageAmount: storageAmount,\r\n StorageType: {},\r\n meStorageCardId: MeStorageCardId,\r\n isPresentGiftpack: data.StorageDetails[0].isPresentGiftpack,\r\n ThisPresentAmount: getFixedNumber(0-PresentAmount)\r\n }],\r\n redBlueFlagEnum: 'RED',\r\n storageAmount: storageAmount,\r\n tradeTypeEnum: 'REFUND_CARD'\r\n }\r\n\r\n // 如果isCanRefund是false的话,说明是需要退现金,入参的计算方式明细金额是需要退的总金额\r\n if (!isCanRefund) {\r\n const { finAccountId, paymentTypeId, latestStorageAmount, outTradeNo } = storageInfos[0] || {}\r\n params.StorageMutiSettleDetails = [{\r\n \"StorageAmount\": storageAmount,\r\n \"PaymentCode\": \"\",\r\n \"DynamicPropertyValues\": [],\r\n \"IdbankAccount\": finAccountId,\r\n \"Code\": 1,\r\n \"IdsettleStyle\": paymentTypeId,\r\n \"DynamicPropertyKeys\": [],\r\n \"DataSource\": {},\r\n \"OrigPayAmount\":latestStorageAmount,\r\n \"OrigTradeNo\":outTradeNo\r\n }]\r\n } else {\r\n params.StorageMutiSettleDetails = storageInfos.map(item => {\r\n return {\r\n \"StorageAmount\": '-'+item.latestStorageAmount,\r\n \"PaymentCode\": \"\",\r\n \"DynamicPropertyValues\": [],\r\n \"IdbankAccount\": item.finAccountId,\r\n \"Code\": 1,\r\n \"IdsettleStyle\": item.paymentTypeId,\r\n \"DynamicPropertyKeys\": [],\r\n \"DataSource\": {},\r\n \"OrigPayAmount\":item.latestStorageAmount,\r\n \"OrigTradeNo\":item.outTradeNo\r\n }\r\n })\r\n }\r\n \r\n\r\n await this.setState({\r\n refundBtnDisabled: true\r\n })\r\n try {\r\n const ret = await this.api.ReturnedStorage(params)\r\n const { isSuccess, ex } = ret.data || {}\r\n if (isSuccess === true || isSuccess === 'true') {\r\n getCardList && getCardList(cardList && cardList.length > 1 ? cardList[0].MemberMobile : StorageCardNo)\r\n Message.success('退储值成功!')\r\n } else {\r\n this.returnedCash(`只能退现金,是否继续`, storageAmount, lastesStorageResult)\r\n }\r\n \r\n await this.setState({\r\n refundBtnDisabled: false,\r\n refundShow: false\r\n })\r\n } catch (err) {\r\n await this.setState({\r\n refundBtnDisabled: false\r\n })\r\n }\r\n }\r\n // 退现金提示\r\n returnedCash (content, storageAmount, lastesStorageResult) {\r\n const that = this\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content,\r\n okText: '现金',\r\n onOk: () => {\r\n const {cardList = [], selected} = that.props\r\n that.setState({\r\n refundShow: false\r\n })\r\n that.submitRefundStorage(cardList[selected], storageAmount, lastesStorageResult)\r\n }\r\n })\r\n }\r\n // 点击退储值\r\n returnedStorage = () => {\r\n const { cardList = [], selected = 0 } = this.props\r\n const { Id } = cardList[selected] || {}\r\n cardList[selected].meMemberId = Id\r\n cardList[selected].isRefundStorage = 1 // 自己添加参数,用来判断是储值还是退储值\r\n stores.memberStore.init({\r\n cardInfo: cardList[selected],\r\n settlementControlEvent: {},\r\n callback: () => {\r\n this.setState({\r\n refundShow: true\r\n })\r\n }\r\n })\r\n }\r\n // 点击解绑\r\n memberUnBindCard = () => {\r\n const { cardList = [], selected = 0 } = this.props\r\n const {StorageCardNo, MemberMobile, MemberName, ID} = cardList[selected] || {}\r\n if (!ID) {\r\n Message.error('该卡未绑定会员')\r\n return\r\n }\r\n ModalWraper.confirm({\r\n title: '提示',\r\n content: `此卡属于${MemberName || MemberMobile}会员,确认解绑吗?`,\r\n confirmLoading: this.state.memberUnBindCardLoading,\r\n onOk: async () => {\r\n this.setState({\r\n memberUnBindCardLoading: true\r\n })\r\n this.api.MeStorageCardUnbind({StorageCardNo}).then(res => {\r\n const { getCardList } = this.props\r\n Message.success('解绑成功')\r\n getCardList(cardList && cardList.length > 1 ? cardList[0].MemberMobile : StorageCardNo)\r\n this.setState({\r\n memberUnBindCardLoading: false\r\n })\r\n }).catch(() => {\r\n this.setState({\r\n memberUnBindCardLoading: false\r\n })\r\n })\r\n },\r\n })\r\n }\r\n click(key, auth, name) {\r\n this.setState({\r\n warnContent: ''\r\n })\r\n this.handleEvent(auth).then(ret=>{\r\n if (key === 'storage') {\r\n this.setState({\r\n menuKey: 'storage'\r\n })\r\n } else {\r\n this.setState({\r\n menuKey: null\r\n })\r\n }\r\n if (ret === true) {\r\n const { isHorizontalSunMi } = platform || {};\r\n switch (key) {\r\n case 'storage': this.storage(); break;\r\n case 'changePassword': this.changePassword(); break;\r\n case 'reportLoss': this.reportLoss(); break;\r\n case 'cancelLoss': this.cancelLoss(); break;\r\n case 'openCard': this.openCard(); break;\r\n case 'resetPassword': this.resetPassword(); break;\r\n case 'memberBindCard': this.bindCard(key, name); break;\r\n case 'memberUnBindCard': this.memberUnBindCard(); break;\r\n case 'returnedStorage': this.returnedStorage(); break;\r\n }\r\n }\r\n })\r\n }\r\n\r\n changeBtnDisabled = (value) => {\r\n this.setState({\r\n btnDissabled: value\r\n })\r\n }\r\n\r\n getMenuItem = (index, menu) => {\r\n let {loadingBtn, cardList = [], selected = 0} = this.props;\r\n const { setPwdShortKey } = this.state || {};\r\n let newStyle =localStore && localStore.get('voucherDefaultPosMode')=='voucher';\r\n const { WalletEnabled, CardTypeEnum } = cardList && cardList.length && cardList[selected] || {};\r\n // 控制显示修改密码还是设置密码\r\n if (menu.auth === 'ModifyPassword') {\r\n if (CardTypeEnum === 'BALANCE_CARD') {\r\n return <div key={index} className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth)\r\n }}\r\n >\r\n {WalletEnabled ? <div><Ticon icon={menu.icon}></Ticon><span>修改密码</span><div className='menuHotkey'>{menu.SHORTCUT_KEY}</div></div> : \r\n <div><Ticon icon={menu.icon}></Ticon><span>设置密码</span><div className='menuHotkey'>{setPwdShortKey}</div></div>}\r\n </div>\r\n } else {\r\n return <div key={index} className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth)\r\n }}\r\n >\r\n <div><Ticon icon={menu.icon}></Ticon><span>修改密码</span><div className='menuHotkey'>{menu.SHORTCUT_KEY}</div></div>\r\n </div>\r\n }\r\n } else if (CardTypeEnum === 'BALANCE_CARD' && !WalletEnabled && menu.auth === 'PosResetPwd') {\r\n return\r\n }\r\n else {\r\n return (\r\n <div \r\n key={index} \r\n className={`primary-color b-theme ${'hot-'+ menu.auth} ${loadingBtn === false ? 'member-menu-el' : 'member-menu-el disabled-member-select-btn '} ${newStyle && 'memberHeight'}`}\r\n onClick={() => {\r\n if (loadingBtn === false) this.click(menu.key, menu.auth, menu.name)\r\n }}\r\n >\r\n <Ticon icon={menu.icon}></Ticon><span>{menu.name}</span>\r\n <div className='menuHotkey'>{menu.SHORTCUT_KEY}</div>\r\n </div>\r\n )\r\n }\r\n }\r\n\r\n render() {\r\n const { menus, modifyPass, passwordTitle, btnDissabled, bindCardShow, bindCardBtnDisabled, refundShow, refundBtnDisabled, menuKey } = this.state;\r\n let { member = {}, authProcess, getCardList, selected = 0, modifyMember, cardList = []} = this.props;\r\n const {Id, BalanceStorage = 0, PresentAmount = 0, WalletEnabled, CardTypeEnum, CardStatusEnum, StorageCardNo } = (cardList.length && cardList[selected]) || {};\r\n return (\r\n <div className='member-menu'>\r\n {\r\n menus && menus.map((menu,index) => {\r\n let status = authProcess.execute(menu.auth);\r\n if (status) {\r\n if (menu.auth === 'BindStorageCard') {\r\n if (menu.key === 'memberBindCard' && CardTypeEnum !== 'BALANCE_CARD' && CardStatusEnum && CardStatusEnum !== 'BINDING') {\r\n return this.getMenuItem(index, menu);\r\n }\r\n if (menu.key === 'memberUnBindCard' && CardTypeEnum !== 'BALANCE_CARD' && CardStatusEnum && CardStatusEnum === 'BINDING') {\r\n return this.getMenuItem(index, menu);\r\n }\r\n } else {\r\n return this.getMenuItem(index, menu)\r\n }\r\n } else {\r\n if (menu.auth === 'ModifyPassword') {\r\n return this.getMenuItem(index, menu);\r\n } else if (menu.auth === 'returnedStorage') {\r\n return this.getMenuItem(index, menu);\r\n } else {\r\n return '';\r\n }\r\n }\r\n })\r\n }\r\n <ModalWraper\r\n title={CardTypeEnum === 'BALANCE_CARD' && !WalletEnabled ? '设置密码' : passwordTitle}\r\n show={modifyPass}\r\n ok={this.changePasswordClick}\r\n className='modify-password'\r\n modalType='mid'\r\n closeButton={true}\r\n exclueBoard={true}\r\n cancel={this.changePasswordCancel}\r\n btnDissabled={btnDissabled}\r\n >\r\n {\r\n passwordTitle === '换卡' ?\r\n <ChangeMemberCard cardList={cardList && cardList.length && cardList[selected]} modifyMember={modifyMember} member={member} ref={ref => this.modifyPass = ref} cancelModal={this.changePasswordCancel}></ChangeMemberCard>:\r\n <ModifyPass menuKey={menuKey} cardListCopy={cardList} cardList={cardList && cardList.length && cardList[selected]} changeBtnDisabled={this.changeBtnDisabled} loadUserInfo={getCardList} selected={selected} storageInit={this.storageInit} passwordTitle={\r\n CardTypeEnum === 'BALANCE_CARD' && !WalletEnabled ? '设置密码' : passwordTitle\r\n } modifyMember={modifyMember} ref={ref => this.modifyPass = ref} member={member} cancelModal={this.changePasswordCancel}></ModifyPass>\r\n }\r\n </ModalWraper>\r\n {/* 会员绑定 */}\r\n <ModalWraper \r\n title='会员绑定'\r\n show={bindCardShow}\r\n className='bind-card'\r\n closeButton={false}\r\n ok={this.bindCardClick}\r\n cancel={this.changeBindCardCancel}\r\n btnDissabled={bindCardBtnDisabled}\r\n >\r\n <BindCard\r\n ref={ref => this.bindCardRef = ref}\r\n bindCardClick={this.bindCardClick}\r\n changeBindCardBtnDisabled={this.changeBindCardBtnDisabled}\r\n />\r\n </ModalWraper>\r\n {/* 会员绑定 */}\r\n {/* 退储值 */}\r\n <ModalWraper \r\n title='退储值'\r\n show={refundShow}\r\n className='refund'\r\n modalType=\"mid\"\r\n closeButton={false}\r\n ok={this.changeRefundOk}\r\n cancel={this.changeRefundCancel}\r\n btnDissabled={refundBtnDisabled}\r\n >\r\n <div className='refund-container'>\r\n <ul className='refund-list'>\r\n <li className='refund-item'>\r\n <span className='title'>储值卡号:</span>\r\n <span className='value'>{StorageCardNo}</span>\r\n </li>\r\n <li className='refund-item'>\r\n <span className='title'>储值余额:</span>\r\n <span className='value'>{formatPrecision(BalanceStorage, 2)}</span>\r\n </li>\r\n <li className='refund-item'>\r\n <span className='title'>赠送金额:</span>\r\n <span className='value'>{formatPrecision(PresentAmount, 2)}</span>\r\n </li>\r\n <li className='refund-item'>\r\n <span className='title'>可退金额:</span>\r\n <span className='value special'>{ getFixedNumber(BalanceStorage - PresentAmount) }</span>\r\n </li>\r\n </ul> \r\n <p className='tips'>注:可退金额 = 储值余额-赠送金。(仅支持将最近一次储值金额原路退回到微信或支付宝,若超出时请退现金!)</p>\r\n </div> \r\n </ModalWraper>\r\n {/* 退储值 */}\r\n </div>\r\n )\r\n }\r\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tplus-member",
3
- "version": "3.26.28",
3
+ "version": "3.26.29",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {