tplus-member 3.39.1 → 3.41.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -855,14 +855,15 @@ var MemberStore = (_class = function () {
855
855
  while (1) {
856
856
  switch (_context19.prev = _context19.next) {
857
857
  case 0:
858
- _context19.next = 2;
858
+ params.storeId = (0, _tplusPoslogin.PosInitData)('storeID');
859
+ _context19.next = 3;
859
860
  return (0, _tplusApi.ccApi)(params, "/marketingtool/MeStorageCard/bind", false, false);
860
861
 
861
- case 2:
862
+ case 3:
862
863
  resp = _context19.sent;
863
864
  return _context19.abrupt('return', resp);
864
865
 
865
- case 4:
866
+ case 5:
866
867
  case 'end':
867
868
  return _context19.stop();
868
869
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/member/api.js"],"names":["MemberStore","curMemberInfo","searchValue","setCurMemberInfo","val","value","isBirth","selectMemberInfo","BirthDate","changeBirthdayShow","setTimeout","birthdayShow","precisionInfo","values","length","forEach","v","info","memberCareInfo","stores","user","options","get","obj","getLoginInfo","IdStore","StoreCode","Message","warn","SearchParams","CurrentPage","currentPage","PageSize","pageSize","Key","key","IsSingleMember","isSingleMember","data","Idmember","CameraType","minutes","orgId","accessToken","CiaToken","CloudServerHost","accountId","enterpriseUniqId","token","SignalRToken","PosId","storeID","appKey","CloudServerAppKey","params","axios","Rid","imageTime","count","undefined","SignalRServerHost","id","src","fileParams","ImagePath","param","voucherViewInfo","params1","platform","isNewRetailBCPos","meMemberId","member","ID","oldPassword","User","pwdEncrypt","oldPass","newPassword","Password","dataSource","resp","dto","oldPsw","idstore","Idstore","newPass","memberDTO","newPwd","MemberDTO","method","memberId","cardNo","observable","action","memberStore","selectMemberStore"],"mappings":"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","file":"api.js","sourcesContent":["import { tApi, ccApi, User } from 'tplus-api';\r\nimport { observable, action, useStrict, extendObservable, runInAction } from 'mobx';\r\nimport { registerStores, stores } from 'mutants-microfx';\r\nimport { platform } from 'mutants-util';\r\nimport { PosInitData } from 'tplus-poslogin';\r\nimport { Message } from 'tplus-components-touch';\r\nimport axios from 'axios'; // cloud server消息推送接口单独使用 不走统一配置\r\nimport { isBirthDate } from '../utils';\r\n\r\nuseStrict(true);\r\nclass MemberStore {\r\n\r\n @observable birthdayShow = false;\r\n @observable selectMemberInfo = {};\r\n @observable precisionInfo = {};\r\n @observable memberCareInfo\r\n @observable isClear\r\n\r\n curMemberInfo={} //开卡-fengtao\r\n searchValue='' //自动搜索会员-会员新增成功-fengtao\r\n\r\n\r\n setCurMemberInfo=(val)=>{\r\n this.curMemberInfo=val||{};\r\n }\r\n\r\n @action seletMember(value = {}, isBirth) {\r\n this.selectMemberInfo = value;\r\n //针对会员生日处理\r\n let { BirthDate } = value;\r\n if (isBirth && BirthDate && isBirthDate(BirthDate)) {\r\n this.changeBirthdayShow(true);\r\n setTimeout(() => { this.changeBirthdayShow(false) }, 3000)\r\n }\r\n }\r\n\r\n @action changeBirthdayShow(value = false) {\r\n this.birthdayShow = value;\r\n }\r\n\r\n @action clearSeletMember() {\r\n this.selectMemberInfo = {};\r\n }\r\n\r\n @action setPrecisionInfo(precisionInfo) {\r\n this.precisionInfo = precisionInfo;\r\n }\r\n\r\n @action setMemberKey(values = {}) {\r\n if (Object.keys(this.selectMemberInfo).length) {\r\n Object.keys(values).forEach(v => this.selectMemberInfo[v] = values[v]);\r\n }\r\n }\r\n\r\n @action changeMemberCare(info) {\r\n this.memberCareInfo = info;\r\n }\r\n\r\n @action clearMemberCare() {\r\n this.memberCareInfo = null;\r\n }\r\n\r\n getLoginInfo() {\r\n return stores.user.options.get('loginInfo');\r\n }\r\n async getSearchMember(obj) {\r\n const { IdStore, StoreCode } = this.getLoginInfo();\r\n if (!IdStore || !StoreCode) {\r\n Message.warn('门店相关信息缺失');\r\n return {};\r\n }\r\n const SearchParams = {\r\n CurrentPage: obj.currentPage,\r\n PageSize: obj.pageSize,\r\n Key: obj.key,\r\n IsSingleMember: obj.isSingleMember,\r\n IdStore: IdStore,\r\n StoreCode: StoreCode\r\n };\r\n const data = await tApi({\r\n SearchParams\r\n }, 'chanjet.AA.DR.INewRetailMember.SearchMember', false, false);\r\n return data;\r\n }\r\n\r\n async getGetUmemberDTO(Idmember) {\r\n const { IdStore, StoreCode } = this.getLoginInfo();\r\n return tApi({ Idmember, IdStore, StoreCode }, 'chanjet.AA.DR.INewRetailMember.GetUmemberDTO', false, false);\r\n }\r\n\r\n async getMemberRetailDetail(Idmember) {\r\n const { IdStore } = this.getLoginInfo();\r\n return tApi({ Idmember, IdStore }, 'chanjet.AA.DR.INewRetailMember.GetMemberRetailDetail', false, false);\r\n }\r\n\r\n async loadInStoreMember(CameraType) {\r\n const { IdStore, StoreCode } = this.getLoginInfo();\r\n const SearchParams = {\r\n CurrentPage: 1,\r\n PageSize: 999,\r\n CameraType,\r\n IdStore,\r\n StoreCode\r\n }\r\n const data = await tApi({\r\n SearchParams\r\n }, 'chanjet.AA.DR.INewRetailMember.LoadInStoreMember', false, false);\r\n return data;\r\n }\r\n\r\n async getInStoreMemberCount(minutes = 30) { // 到店会员数量\r\n const { orgId } = stores.user || {};\r\n const { CiaToken: accessToken, CloudServerHost, enterpriseUniqId: accountId, SignalRToken: token, PosId, storeID, CloudServerAppKey: appKey } = this.getLoginInfo();\r\n const params = { accountId, token, PosId, storeID, orgId, minutes, accessToken, appKey };\r\n\r\n return await axios.get(`${CloudServerHost}/ruiwei/ArrivalCount`, { params });\r\n }\r\n\r\n async getLastSnapImageList(Rid, imageTime = 30, count = 30) { // 到店会员头像列表\r\n Rid = Rid || undefined;\r\n const { orgId } = stores.user || {};\r\n const { CiaToken: accessToken, CloudServerHost, enterpriseUniqId: accountId, SignalRToken: token, PosId, storeID, CloudServerAppKey: appKey } = this.getLoginInfo();\r\n const params = { accountId, token, PosId, storeID, orgId, accessToken, appKey, imageTime, Rid, count };\r\n\r\n return await axios.get(`${CloudServerHost}/ruiwei/ArrivalPhoto`, { params });\r\n }\r\n\r\n async socketAuth() {\r\n const { orgId } = stores.user || {};\r\n const { SignalRServerHost, CiaToken, enterpriseUniqId: accountId, SignalRToken: token, PosId, storeID, CloudServerAppKey: appKey } = this.getLoginInfo();\r\n const params = { accountId, token, PosId, storeID, orgId, appKey, CiaToken };\r\n\r\n return await axios.get(`${SignalRServerHost}/api/auth/GetAccessToken`, { params });\r\n }\r\n\r\n async uploadMemberImage(id, src) {\r\n const fileParams = {\r\n Idmember: id,\r\n ImagePath: src\r\n }\r\n const data = await tApi({\r\n fileParams\r\n }, 'chanjet.AA.DR.INewRetailMember.UploadMemberImage', false, false);\r\n return data;\r\n }\r\n\r\n async getMemberAddViewInfo() {\r\n const param = {\r\n \"voucherName\": \"MemberAdd\"\r\n };\r\n const voucherViewInfo = await tApi({param}, 'chanjet.RE.INewRetailVoucherService.GetNewVoucherViewInfo', false, false);\r\n return voucherViewInfo;\r\n }\r\n\r\n async getStoreMemberStorageViewInfo() {\r\n const param = {\r\n \"voucherName\": \"StoreMemberStorage\"\r\n };\r\n const voucherViewInfo = await tApi({param}, 'chanjet.RE.INewRetailVoucherService.GetNewVoucherViewInfo', false, false);\r\n return voucherViewInfo;\r\n }\r\n\r\n //修改密码 \r\n async modifyMemberPass(obj, params1) {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n let params = {\r\n meMemberId: obj.member.ID,\r\n oldPassword: User.pwdEncrypt(obj.oldPass),\r\n newPassword: User.pwdEncrypt(obj.member.Password),\r\n dataSource: \"POS\"\r\n }\r\n let resp = await ccApi(params,\r\n \"/member/MeMemberWallet/setWalletPayPassword\",\r\n false,\r\n false,\r\n );\r\n return resp;\r\n } else {\r\n let params = {\r\n dto: obj.member,\r\n oldPsw: obj.oldPass\r\n }\r\n return tApi(params, 'chanjet.AA.DR.INewRetailMember.UpdatePsw', false, false);\r\n }\r\n }\r\n\r\n async updatePwd(obj) {\r\n let resp = await ccApi(obj,\r\n \"/marketingtool/MeStorageCard/updateStorageKey\",\r\n false,\r\n false,\r\n );\r\n return resp;\r\n }\r\n\r\n \r\n // 设置密码\r\n async setPwd(obj, params1) {\r\n let idstore = PosInitData('storeID');\r\n let params = {\r\n Idstore: idstore,\r\n meMemberId: obj.member.ID,\r\n oldPassword: null,\r\n newPassword: User.pwdEncrypt(obj.member.Password),\r\n dataSource: \"POS\"\r\n }\r\n let resp = await ccApi(params,\r\n \"/member/MeMemberWallet/setWalletPayPassword\",\r\n false,\r\n false,\r\n );\r\n return resp;\r\n }\r\n\r\n //重置密码\r\n async resetMemberPass(obj, params1) {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n let params = {\r\n meMemberId: obj.member.ID,\r\n oldPassword: null,\r\n newPassword: User.pwdEncrypt(obj.newPass),\r\n dataSource: \"POS\"\r\n }\r\n let resp = await ccApi(params,\r\n \"/member/MeMemberWallet/setWalletPayPassword\",\r\n false,\r\n false,\r\n );\r\n return resp;\r\n } else {\r\n let params = {\r\n memberDTO: obj.member,\r\n newPwd: obj.newPass\r\n }\r\n return tApi(params, 'chanjet.AA.DR.INewRetailMember.ChangePosPwd', false, false);\r\n }\r\n }\r\n\r\n //挂失\r\n async RecordLoss(member) {\r\n return tApi({ MemberDTO: member }, 'chanjet.AA.DR.INewRetailMember.RecordLoss', false, false);\r\n }\r\n\r\n //取消挂失\r\n async UnRecordLoss(member) {\r\n return tApi({ MemberDTO: member }, 'chanjet.AA.DR.INewRetailMember.UnRecordLoss', false, false);\r\n }\r\n // 最近购买\r\n async findMemberLastRetailDetail(params) {\r\n let resp = await ccApi(params,\r\n \"/member/fundConsume/findMemberLastRetailDetail\",\r\n false,\r\n false,\r\n { method: 'get' }\r\n );\r\n return resp;\r\n }\r\n\r\n // 查看会员的卡信息\r\n async getCardInfoByMemberId (memberId) {\r\n let resp = await ccApi({},\r\n `/marketingtool/MeStorageCard/getCardInfoByMemberId/${memberId}`,\r\n false,\r\n false,\r\n { method: 'get' }\r\n );\r\n return resp;\r\n }\r\n\r\n // 会员绑卡\r\n async MeStorageCardBind (params) {\r\n let resp = await ccApi(params,\r\n \"/marketingtool/MeStorageCard/bind\",\r\n false,\r\n false,\r\n );\r\n return resp;\r\n }\r\n \r\n // 储值卡列表\r\n async getCardInfoByCardNo (cardNo) {\r\n let resp = await ccApi({},\r\n `/marketingtool/MeStorageCard/getCardInfoByCardNo/${cardNo}`,\r\n false,\r\n false,\r\n { method: 'get' }\r\n );\r\n return resp;\r\n }\r\n\r\n // 会员解绑\r\n MeStorageCardUnbind (params) {\r\n return ccApi(params,\r\n `/marketingtool/MeStorageCard/unbind`,\r\n false,\r\n false,\r\n );\r\n }\r\n\r\n // 退储值\r\n async ReturnedStorage(params) {\r\n let resp = await ccApi(params,\r\n `/marketingtool/Storage/saveStorageRefundBillFromPos`,\r\n false,\r\n false\r\n );\r\n return resp;\r\n }\r\n\r\n // 最后一次储值金额\r\n async getLatestStorageAmount(params) {\r\n let resp = await ccApi(params,\r\n `/marketingtool/MeStorageCard/getLatestStorageAmount`,\r\n false,\r\n false,\r\n );\r\n return resp;\r\n }\r\n}\r\n\r\nconst memberStore = new MemberStore();\r\n\r\nexport default memberStore;\r\n\r\nregisterStores({ selectMemberStore: memberStore });\r\n"]}
1
+ {"version":3,"sources":["tplus-member/member/api.js"],"names":["MemberStore","curMemberInfo","searchValue","setCurMemberInfo","val","value","isBirth","selectMemberInfo","BirthDate","changeBirthdayShow","setTimeout","birthdayShow","precisionInfo","values","length","forEach","v","info","memberCareInfo","stores","user","options","get","obj","getLoginInfo","IdStore","StoreCode","Message","warn","SearchParams","CurrentPage","currentPage","PageSize","pageSize","Key","key","IsSingleMember","isSingleMember","data","Idmember","CameraType","minutes","orgId","accessToken","CiaToken","CloudServerHost","accountId","enterpriseUniqId","token","SignalRToken","PosId","storeID","appKey","CloudServerAppKey","params","axios","Rid","imageTime","count","undefined","SignalRServerHost","id","src","fileParams","ImagePath","param","voucherViewInfo","params1","platform","isNewRetailBCPos","meMemberId","member","ID","oldPassword","User","pwdEncrypt","oldPass","newPassword","Password","dataSource","resp","dto","oldPsw","idstore","Idstore","newPass","memberDTO","newPwd","MemberDTO","method","memberId","storeId","cardNo","observable","action","memberStore","selectMemberStore"],"mappings":"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","file":"api.js","sourcesContent":["import { tApi, ccApi, User } from 'tplus-api';\r\nimport { observable, action, useStrict, extendObservable, runInAction } from 'mobx';\r\nimport { registerStores, stores } from 'mutants-microfx';\r\nimport { platform } from 'mutants-util';\r\nimport { PosInitData } from 'tplus-poslogin';\r\nimport { Message } from 'tplus-components-touch';\r\nimport axios from 'axios'; // cloud server消息推送接口单独使用 不走统一配置\r\nimport { isBirthDate } from '../utils';\r\n\r\nuseStrict(true);\r\nclass MemberStore {\r\n\r\n @observable birthdayShow = false;\r\n @observable selectMemberInfo = {};\r\n @observable precisionInfo = {};\r\n @observable memberCareInfo\r\n @observable isClear\r\n\r\n curMemberInfo={} //开卡-fengtao\r\n searchValue='' //自动搜索会员-会员新增成功-fengtao\r\n\r\n\r\n setCurMemberInfo=(val)=>{\r\n this.curMemberInfo=val||{};\r\n }\r\n\r\n @action seletMember(value = {}, isBirth) {\r\n this.selectMemberInfo = value;\r\n //针对会员生日处理\r\n let { BirthDate } = value;\r\n if (isBirth && BirthDate && isBirthDate(BirthDate)) {\r\n this.changeBirthdayShow(true);\r\n setTimeout(() => { this.changeBirthdayShow(false) }, 3000)\r\n }\r\n }\r\n\r\n @action changeBirthdayShow(value = false) {\r\n this.birthdayShow = value;\r\n }\r\n\r\n @action clearSeletMember() {\r\n this.selectMemberInfo = {};\r\n }\r\n\r\n @action setPrecisionInfo(precisionInfo) {\r\n this.precisionInfo = precisionInfo;\r\n }\r\n\r\n @action setMemberKey(values = {}) {\r\n if (Object.keys(this.selectMemberInfo).length) {\r\n Object.keys(values).forEach(v => this.selectMemberInfo[v] = values[v]);\r\n }\r\n }\r\n\r\n @action changeMemberCare(info) {\r\n this.memberCareInfo = info;\r\n }\r\n\r\n @action clearMemberCare() {\r\n this.memberCareInfo = null;\r\n }\r\n\r\n getLoginInfo() {\r\n return stores.user.options.get('loginInfo');\r\n }\r\n async getSearchMember(obj) {\r\n const { IdStore, StoreCode } = this.getLoginInfo();\r\n if (!IdStore || !StoreCode) {\r\n Message.warn('门店相关信息缺失');\r\n return {};\r\n }\r\n const SearchParams = {\r\n CurrentPage: obj.currentPage,\r\n PageSize: obj.pageSize,\r\n Key: obj.key,\r\n IsSingleMember: obj.isSingleMember,\r\n IdStore: IdStore,\r\n StoreCode: StoreCode\r\n };\r\n const data = await tApi({\r\n SearchParams\r\n }, 'chanjet.AA.DR.INewRetailMember.SearchMember', false, false);\r\n return data;\r\n }\r\n\r\n async getGetUmemberDTO(Idmember) {\r\n const { IdStore, StoreCode } = this.getLoginInfo();\r\n return tApi({ Idmember, IdStore, StoreCode }, 'chanjet.AA.DR.INewRetailMember.GetUmemberDTO', false, false);\r\n }\r\n\r\n async getMemberRetailDetail(Idmember) {\r\n const { IdStore } = this.getLoginInfo();\r\n return tApi({ Idmember, IdStore }, 'chanjet.AA.DR.INewRetailMember.GetMemberRetailDetail', false, false);\r\n }\r\n\r\n async loadInStoreMember(CameraType) {\r\n const { IdStore, StoreCode } = this.getLoginInfo();\r\n const SearchParams = {\r\n CurrentPage: 1,\r\n PageSize: 999,\r\n CameraType,\r\n IdStore,\r\n StoreCode\r\n }\r\n const data = await tApi({\r\n SearchParams\r\n }, 'chanjet.AA.DR.INewRetailMember.LoadInStoreMember', false, false);\r\n return data;\r\n }\r\n\r\n async getInStoreMemberCount(minutes = 30) { // 到店会员数量\r\n const { orgId } = stores.user || {};\r\n const { CiaToken: accessToken, CloudServerHost, enterpriseUniqId: accountId, SignalRToken: token, PosId, storeID, CloudServerAppKey: appKey } = this.getLoginInfo();\r\n const params = { accountId, token, PosId, storeID, orgId, minutes, accessToken, appKey };\r\n\r\n return await axios.get(`${CloudServerHost}/ruiwei/ArrivalCount`, { params });\r\n }\r\n\r\n async getLastSnapImageList(Rid, imageTime = 30, count = 30) { // 到店会员头像列表\r\n Rid = Rid || undefined;\r\n const { orgId } = stores.user || {};\r\n const { CiaToken: accessToken, CloudServerHost, enterpriseUniqId: accountId, SignalRToken: token, PosId, storeID, CloudServerAppKey: appKey } = this.getLoginInfo();\r\n const params = { accountId, token, PosId, storeID, orgId, accessToken, appKey, imageTime, Rid, count };\r\n\r\n return await axios.get(`${CloudServerHost}/ruiwei/ArrivalPhoto`, { params });\r\n }\r\n\r\n async socketAuth() {\r\n const { orgId } = stores.user || {};\r\n const { SignalRServerHost, CiaToken, enterpriseUniqId: accountId, SignalRToken: token, PosId, storeID, CloudServerAppKey: appKey } = this.getLoginInfo();\r\n const params = { accountId, token, PosId, storeID, orgId, appKey, CiaToken };\r\n\r\n return await axios.get(`${SignalRServerHost}/api/auth/GetAccessToken`, { params });\r\n }\r\n\r\n async uploadMemberImage(id, src) {\r\n const fileParams = {\r\n Idmember: id,\r\n ImagePath: src\r\n }\r\n const data = await tApi({\r\n fileParams\r\n }, 'chanjet.AA.DR.INewRetailMember.UploadMemberImage', false, false);\r\n return data;\r\n }\r\n\r\n async getMemberAddViewInfo() {\r\n const param = {\r\n \"voucherName\": \"MemberAdd\"\r\n };\r\n const voucherViewInfo = await tApi({param}, 'chanjet.RE.INewRetailVoucherService.GetNewVoucherViewInfo', false, false);\r\n return voucherViewInfo;\r\n }\r\n\r\n async getStoreMemberStorageViewInfo() {\r\n const param = {\r\n \"voucherName\": \"StoreMemberStorage\"\r\n };\r\n const voucherViewInfo = await tApi({param}, 'chanjet.RE.INewRetailVoucherService.GetNewVoucherViewInfo', false, false);\r\n return voucherViewInfo;\r\n }\r\n\r\n //修改密码 \r\n async modifyMemberPass(obj, params1) {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n let params = {\r\n meMemberId: obj.member.ID,\r\n oldPassword: User.pwdEncrypt(obj.oldPass),\r\n newPassword: User.pwdEncrypt(obj.member.Password),\r\n dataSource: \"POS\"\r\n }\r\n let resp = await ccApi(params,\r\n \"/member/MeMemberWallet/setWalletPayPassword\",\r\n false,\r\n false,\r\n );\r\n return resp;\r\n } else {\r\n let params = {\r\n dto: obj.member,\r\n oldPsw: obj.oldPass\r\n }\r\n return tApi(params, 'chanjet.AA.DR.INewRetailMember.UpdatePsw', false, false);\r\n }\r\n }\r\n\r\n async updatePwd(obj) {\r\n let resp = await ccApi(obj,\r\n \"/marketingtool/MeStorageCard/updateStorageKey\",\r\n false,\r\n false,\r\n );\r\n return resp;\r\n }\r\n\r\n \r\n // 设置密码\r\n async setPwd(obj, params1) {\r\n let idstore = PosInitData('storeID');\r\n let params = {\r\n Idstore: idstore,\r\n meMemberId: obj.member.ID,\r\n oldPassword: null,\r\n newPassword: User.pwdEncrypt(obj.member.Password),\r\n dataSource: \"POS\"\r\n }\r\n let resp = await ccApi(params,\r\n \"/member/MeMemberWallet/setWalletPayPassword\",\r\n false,\r\n false,\r\n );\r\n return resp;\r\n }\r\n\r\n //重置密码\r\n async resetMemberPass(obj, params1) {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n let params = {\r\n meMemberId: obj.member.ID,\r\n oldPassword: null,\r\n newPassword: User.pwdEncrypt(obj.newPass),\r\n dataSource: \"POS\"\r\n }\r\n let resp = await ccApi(params,\r\n \"/member/MeMemberWallet/setWalletPayPassword\",\r\n false,\r\n false,\r\n );\r\n return resp;\r\n } else {\r\n let params = {\r\n memberDTO: obj.member,\r\n newPwd: obj.newPass\r\n }\r\n return tApi(params, 'chanjet.AA.DR.INewRetailMember.ChangePosPwd', false, false);\r\n }\r\n }\r\n\r\n //挂失\r\n async RecordLoss(member) {\r\n return tApi({ MemberDTO: member }, 'chanjet.AA.DR.INewRetailMember.RecordLoss', false, false);\r\n }\r\n\r\n //取消挂失\r\n async UnRecordLoss(member) {\r\n return tApi({ MemberDTO: member }, 'chanjet.AA.DR.INewRetailMember.UnRecordLoss', false, false);\r\n }\r\n // 最近购买\r\n async findMemberLastRetailDetail(params) {\r\n let resp = await ccApi(params,\r\n \"/member/fundConsume/findMemberLastRetailDetail\",\r\n false,\r\n false,\r\n { method: 'get' }\r\n );\r\n return resp;\r\n }\r\n\r\n // 查看会员的卡信息\r\n async getCardInfoByMemberId (memberId) {\r\n let resp = await ccApi({},\r\n `/marketingtool/MeStorageCard/getCardInfoByMemberId/${memberId}`,\r\n false,\r\n false,\r\n { method: 'get' }\r\n );\r\n return resp;\r\n }\r\n\r\n // 会员绑卡\r\n async MeStorageCardBind (params) {\r\n params.storeId = PosInitData('storeID');\r\n let resp = await ccApi(params,\r\n \"/marketingtool/MeStorageCard/bind\",\r\n false,\r\n false,\r\n );\r\n return resp;\r\n }\r\n \r\n // 储值卡列表\r\n async getCardInfoByCardNo (cardNo) {\r\n let resp = await ccApi({},\r\n `/marketingtool/MeStorageCard/getCardInfoByCardNo/${cardNo}`,\r\n false,\r\n false,\r\n { method: 'get' }\r\n );\r\n return resp;\r\n }\r\n\r\n // 会员解绑\r\n MeStorageCardUnbind (params) {\r\n return ccApi(params,\r\n `/marketingtool/MeStorageCard/unbind`,\r\n false,\r\n false,\r\n );\r\n }\r\n\r\n // 退储值\r\n async ReturnedStorage(params) {\r\n let resp = await ccApi(params,\r\n `/marketingtool/Storage/saveStorageRefundBillFromPos`,\r\n false,\r\n false\r\n );\r\n return resp;\r\n }\r\n\r\n // 最后一次储值金额\r\n async getLatestStorageAmount(params) {\r\n let resp = await ccApi(params,\r\n `/marketingtool/MeStorageCard/getLatestStorageAmount`,\r\n false,\r\n false,\r\n );\r\n return resp;\r\n }\r\n}\r\n\r\nconst memberStore = new MemberStore();\r\n\r\nexport default memberStore;\r\n\r\nregisterStores({ selectMemberStore: memberStore });\r\n"]}
@@ -94,7 +94,7 @@ var menus1 = [{
94
94
  name: '储值',
95
95
  visible: true,
96
96
  icon: 'chuzhi',
97
- auth: 'Storage',
97
+ auth: 'MemberStorage',
98
98
  SHORTCUT_KEY: ''
99
99
  }, {
100
100
  key: 'returnedStorage',
@@ -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","lastesStorageResult","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","CardStatusEnum","Message","warn","cardInfo","CardTypeEnum","WalletEnabled","FreePaymentPasswordStore","storageInit","justifyAuthority","data","IsNeedPassword","value","getCardList","StorageCardNo","params","cardNo","mobile","isStorageCardBindMember","changeBindCardBtnDisabled","MeStorageCardBind","ret","success","MemberMobile","enumController","getEnumOj","TradeType","dto","StorageMutiSettleDetails","pay","v","ThirdPaymentInfo","payment","VoucherType","Payment","REFUND","console","log","resolve","reject","nativeMs","setIpcRendererMethod","res","Code","type","msg","code","storageAmount","stores","memberStore","settlementMemberStore","MeStorageCardId","ID","PresentAmount","BalanceStorage","loadUserInfo","isCanRefund","canReturnAmount","storageInfos","Member","dtMember","isSelectedMember","StorageDetails","Idmember","ThisStorageAmount","StorageType","meStorageCardId","isPresentGiftpack","ThisPresentAmount","redBlueFlagEnum","tradeTypeEnum","finAccountId","paymentTypeId","latestStorageAmount","outTradeNo","StorageAmount","PaymentCode","DynamicPropertyValues","IdbankAccount","IdsettleStyle","DynamicPropertyKeys","DataSource","OrigPayAmount","OrigTradeNo","map","dynamic","thirdPaymentReturnInfo","getThirdPaymentInfo","thirdPayRefund","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","usedPresentAmount","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","e","onCancel","UnRecordLoss","using","MemberType","IsStorage","GetMemberDTO","selectMemberStore","setCurMemberInfo","modalType","closeCk","Loading","destroyOnClose","disabled","bindCardFn","refundable","parseFloat","Number","reduce","total","cur","tstore","obj","paymode","mode","paymodes","find","idSettleStyle","thridPayment","ThirdPaymentReturnInfo","getLatestStorageAmount","cardId","inputRefundAmount","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,nativeMs } 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\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 lastesStorageResult: {} // 最后一次储值的信息\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 justifyAuthority() {\r\n const { cardList = [], selected = 0, } = this.props;\r\n const {CardStatusEnum} = cardList[selected] || {};\r\n if (CardStatusEnum === 'DISABLED') {\r\n Message.warn('该储值卡未启用,不能进行该操作!');\r\n return false;\r\n } else if (CardStatusEnum === 'REFUNDED_CARD') {\r\n Message.warn('该储值卡已退卡,不能进行该操作!');\r\n return false;\r\n } else if(CardStatusEnum === 'REFUNDING_CARD') {\r\n Message.warn('该储值卡退卡中,不能进行该操作!');\r\n return false;\r\n } else if (CardStatusEnum === 'INVALIDATION') {\r\n Message.warn('该储值卡已失效,不能进行该操作!');\r\n return false;\r\n } else if (CardStatusEnum === 'EXPIRED') {\r\n Message.warn('该储值卡已过期,不能进行该操作!');\r\n return false;\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} = 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 let data = await this.justifyAuthority();\r\n if (data === false) {\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, loadUserInfo } = this.props;\r\n const { StorageCardNo, ID } = cardList[selected] || {};\r\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\r\n const isSelectedMember = !!dtMember.ID;\r\n stores.memberStore.init({\r\n cardInfo: cardList[selected],\r\n settlementControlEvent: {\r\n onSettleSuccess: () => {\r\n stores.modalRouter.hide('/memberstore')\r\n if (!!isSelectedMember && dtMember.ID === ID) {\r\n loadUserInfo(ID)\r\n }\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 async changePassword() {\r\n let data = await this.justifyAuthority();\r\n if (data === false) {\r\n return;\r\n }\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 async resetPassword() {\r\n let data = await this.justifyAuthority();\r\n if (data === false) {\r\n return;\r\n }\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, 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\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 = async () => {\r\n let data = await this.justifyAuthority();\r\n if (data === false) {\r\n return;\r\n }\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 = async () => {\r\n let data = await this.justifyAuthority();\r\n if (data === false) {\r\n return;\r\n }\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 {isCanRefund = false, canReturnAmount = 0, storageInfos = []} = this.state.lastesStorageResult || {}\r\n const refundable = parseFloat(getFixedNumber(canReturnAmount))\r\n const storageAmount = getFixedNumber(0-(canReturnAmount))\r\n\r\n // 退款金额小于等于0,不允许退款\r\n if (Number(canReturnAmount) <= 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)\r\n }\r\n\r\n // 获取二开支付信息,如果有的话返回。\r\n getThirdPaymentInfo = (item, tstore) => {\r\n const { paymentTypeId, thirdPaymentReturnInfo } = item || {};\r\n let obj = {};\r\n let paymode = tstore && tstore.paymode;\r\n if (paymode) {\r\n let mode = paymode && paymode.paymodes.find(v => v.idSettleStyle == paymentTypeId)\r\n obj = thirdPaymentReturnInfo ?\r\n {\r\n ThirdPaymentInfo: mode && mode.thridPayment || null,\r\n ThirdPaymentReturnInfo: thirdPaymentReturnInfo\r\n } : {};\r\n }\r\n return obj;\r\n }\r\n\r\n // 执行储值退款\r\n async thirdPayRefund(params) {\r\n try {\r\n const { TradeType } = enumController.getEnumOj();\r\n const dto = params.StorageMutiSettleDetails;\r\n const pay = dto && dto.filter(v => v.ThirdPaymentInfo);\r\n if (pay && pay.length > 0) {\r\n const payment = pay[0];\r\n const params = { VoucherType: 2, Payment: payment, TradeType: TradeType.REFUND, dto: dto };\r\n console.log('退储值刷卡参数:', JSON.stringify(params));\r\n let ret = await new Promise((resolve, reject) => {\r\n nativeMs.setIpcRendererMethod('ThirdPayment', { ...params }, res => {\r\n return resolve(res);\r\n })\r\n })\r\n console.log('退储值刷卡返回:', ret);\r\n ret = JSON.parse(ret);\r\n const { Code, Message } = ret || {};\r\n if (Code > 0) {\r\n return { type: false, msg: Message, code: Code };\r\n } else {\r\n return { type: true, msg: Message, code: Code };\r\n }\r\n }\r\n return { type: true};\r\n }\r\n catch (ex) {\r\n return { type: false,msg: ex, code: '9999' }\r\n }\r\n }\r\n\r\n // 点击退储值确定或者退现金之后,请求数据 isCash, 是否是现金结算\r\n async submitRefundStorage(cardInfo = {}, storageAmount) {\r\n if (!cardInfo) return;\r\n const { memberStore, settlementMemberStore } = stores || {};\r\n const { data = {} } = memberStore;\r\n const { MeStorageCardId, StorageCardNo, ID, PresentAmount = 0, BalanceStorage = 0} = cardInfo\r\n const { getCardList, cardList = [], loadUserInfo} = this.props \r\n const { isCanRefund = false, canReturnAmount = 0, storageInfos = [] } = this.state.lastesStorageResult || {}\r\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\r\n const isSelectedMember = !!dtMember.ID;\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-(BalanceStorage - canReturnAmount))\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 let dynamic = item.thirdPaymentReturnInfo ? this.getThirdPaymentInfo(item, settlementMemberStore) : {};\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 ...dynamic\r\n }\r\n })\r\n }\r\n\r\n // 二开支付处理\r\n let ret = await this.thirdPayRefund(params);\r\n const { type, code } = ret || {};\r\n if (type === false) {\r\n Message.warn(`刷卡支付失败,错误码:${code}`);\r\n return;\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 if (!!isSelectedMember && dtMember.ID === ID) {\r\n loadUserInfo(ID)\r\n }\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)\r\n }\r\n })\r\n }\r\n // 点击退储值\r\n returnedStorage = async () => {\r\n let data = await this.justifyAuthority();\r\n if (data === false) {\r\n return;\r\n }\r\n const { cardList = [], selected = 0 } = this.props\r\n const { Id, MeStorageCardId, BalanceStorage = 0, PresentAmount = 0 } = cardList[selected] || {}\r\n\r\n // 获取最后一次储值信息\r\n const refundable = parseFloat(getFixedNumber(BalanceStorage - PresentAmount))\r\n const lastesStorageResult = await this.api.getLatestStorageAmount({cardId: MeStorageCardId, inputRefundAmount: refundable})\r\n this.setState({\r\n lastesStorageResult: lastesStorageResult.data || {}\r\n })\r\n\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 = async () => {\r\n let data = await this.justifyAuthority();\r\n if (data === false) {\r\n return;\r\n }\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, lastesStorageResult = {} } = 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 const { canReturnAmount, usedPresentAmount } = lastesStorageResult\r\n\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 === 'UNBINDING') {\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} getCardList={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'>{getFixedNumber(PresentAmount + usedPresentAmount)}</span>\r\n </li>\r\n <li className='refund-item'>\r\n <span className='title'>可退金额:</span>\r\n <span className='value special'>{ getFixedNumber(canReturnAmount) }</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","lastesStorageResult","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","CardStatusEnum","Message","warn","cardInfo","CardTypeEnum","WalletEnabled","FreePaymentPasswordStore","storageInit","justifyAuthority","data","IsNeedPassword","value","getCardList","StorageCardNo","params","cardNo","mobile","isStorageCardBindMember","changeBindCardBtnDisabled","MeStorageCardBind","ret","success","MemberMobile","enumController","getEnumOj","TradeType","dto","StorageMutiSettleDetails","pay","v","ThirdPaymentInfo","payment","VoucherType","Payment","REFUND","console","log","resolve","reject","nativeMs","setIpcRendererMethod","res","Code","type","msg","code","storageAmount","stores","memberStore","settlementMemberStore","MeStorageCardId","ID","PresentAmount","BalanceStorage","loadUserInfo","isCanRefund","canReturnAmount","storageInfos","Member","dtMember","isSelectedMember","StorageDetails","Idmember","ThisStorageAmount","StorageType","meStorageCardId","isPresentGiftpack","ThisPresentAmount","redBlueFlagEnum","tradeTypeEnum","finAccountId","paymentTypeId","latestStorageAmount","outTradeNo","StorageAmount","PaymentCode","DynamicPropertyValues","IdbankAccount","IdsettleStyle","DynamicPropertyKeys","DataSource","OrigPayAmount","OrigTradeNo","map","dynamic","thirdPaymentReturnInfo","getThirdPaymentInfo","thirdPayRefund","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","usedPresentAmount","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","e","onCancel","UnRecordLoss","using","MemberType","IsStorage","GetMemberDTO","selectMemberStore","setCurMemberInfo","modalType","closeCk","Loading","destroyOnClose","disabled","bindCardFn","refundable","parseFloat","Number","reduce","total","cur","tstore","obj","paymode","mode","paymodes","find","idSettleStyle","thridPayment","ThirdPaymentReturnInfo","getLatestStorageAmount","cardId","inputRefundAmount","meMemberId","isRefundStorage","MemberName","confirmLoading","MeStorageCardUnbind","loadingBtn","newStyle","click"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AACA;;;;AACA;;AACA;;;;AACA;;;;;;AAEA,IAAIA,SAAS,CAAC;AACVC,SAAK,SADK;AAEVC,UAAM,IAFI;AAGVC,aAAS,IAHC;AAIVC,UAAM,QAJI;AAKVC,UAAK,eALK;AAMVC,kBAAc;AANJ,CAAD,EAOV;AACCL,SAAK,iBADN;AAECC,UAAM,KAFP;AAGCC,aAAS,IAHV;AAICC,UAAM,WAJP;AAKCC,UAAK,eALN;AAMCC,kBAAc;AANf,CAPU,EAcV;AACCL,SAAK,gBADN;AAECC,UAAM,MAFP;AAGCC,aAAS,IAHV;AAICC,UAAM,aAJP;AAKCC,UAAK,gBALN;AAMCC,kBAAc;AANf,CAdU;AAsBb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACC;AACGL,SAAK,YADR;AAEGC,UAAM,MAFT;AAGGC,aAAS,IAHZ;AAIGC,UAAM,cAJT;AAKGC,UAAK,YALR;AAMGC,kBAAc;AANjB,CA9BY,EAqCV;AACCL,SAAK,eADN;AAECC,UAAM,MAFP;AAGCC,aAAS,IAHV;AAICC,UAAM,cAJP;AAKCC,UAAK,aALN;AAMCC,kBAAc;AANf,CArCU,EA4CX;AACEL,SAAK,gBADP;AAEEC,UAAM,MAFR;AAGEC,aAAS,IAHX;AAIEC,UAAM,iBAJR;AAKEC,UAAK,iBALP;AAMEC,kBAAc;AANhB,CA5CW,EAoDb;AACIL,SAAK,kBADT;AAEIC,UAAM,IAFV;AAGIC,aAAS,IAHb;AAIIC,UAAM,SAJV;AAKIC,UAAK,iBALT;AAMIC,kBAAc;AANlB,CApDa,CAAb;AA6DA,IAAMC,UAAU;AACZC,YAAQ,CAAC,SAAD,EAAY,gBAAZ,EAA8B,YAA9B,EAA4C,YAA5C,CADI;AAEZC,UAAM,CAAC,UAAD;AAFM,CAAhB;;AAKA,IAAIC,QAAQ,EAAZ;;mBACCC,wB;;;AAGG,sBAAYC,KAAZ,EAAmB;AAAA;;AAAA,8IACTA,KADS;;AAAA;;AAAA,YAETC,KAFS,GAESD,KAFT,CAETC,KAFS;AAAA,YAEFC,MAFE,GAESF,KAFT,CAEFE,MAFE;;AAGf,cAAKC,KAAL,GAAa;AACTL,mBAAOV,MADE;AAETgB,wBAAY,KAFH;AAGTC,2BAAe,IAHN;AAITC,0BAAc,IAJL;AAKTC,yBAAa,EALJ;AAMTC,4BAAgB,EANP;AAOTC,0BAAc,KAPL,EAOY;AACrBC,iCAAqB,IARZ,EAQkB;AAC3BC,qBAAS,IATA,EASM;AACfC,wBAAY,KAVH,EAUU;AACnBC,yBAAa,KAXJ,EAWW;AACpBC,qCAAyB,KAZhB,EAYuB;AAChCC,+BAAmB,KAbV,EAaiB;AAC1BC,iCAAqB,EAdZ,CAce;AAdf,SAAb;AAgBA,cAAKC,GAAL,GAAWC,aAAX;AAnBe;AAoBlB;;;;6CAQoB;AACjB,iBAAKC,aAAL,CAAmB,QAAnB;AACH;;;4CAEmB;AAAA;;AAChB,gBAAIC,kBAAkBC,wBAAWC,GAAX,CAAe,iBAAf,CAAtB;AACA,gBAAGF,mBAAmB,IAAtB,EAA2B;AACvBA,kCAAkBG,KAAKC,KAAL,CAAWC,aAAaC,OAAb,CAAqB,iBAArB,CAAX,CAAlB;AACH;AACD,gBAAGN,mBAAmBA,gBAAgBO,MAAhB,IAA0B,CAAhD,EAAkD;AAC9CP,gCAAgBQ,OAAhB,CAAwB,UAACC,WAAD,EAAe;AACnC,wBAAGA,YAAYC,SAAZ,IAAyBD,YAAYC,SAAZ,KAA0B,cAAtD,EAAqE;AAAA,mCAC1CD,eAAe,EAD2B;AAAA,4BACzDE,IADyD,QACzDA,IADyD;AAAA,4BACnDC,KADmD,QACnDA,KADmD;;AAAA,qCAErC,OAAKhC,KAFgC;AAAA,4BAEzDC,KAFyD,UAEzDA,KAFyD;AAAA,4BAElDgC,QAFkD,UAElDA,QAFkD;;AAGjEnC,gCAASV,MAAT;AACAU,8BAAM8B,OAAN,CAAc,UAACM,IAAD,EAAU;AACpB,gCAAIA,KAAKzC,IAAL,KAAcsC,IAAlB,EAAwB;AACpBG,qCAAKxC,YAAL,GAAoBsC,KAApB;AACH;AACJ,yBAJD;AAKA,4BAAID,SAAS,mBAAb,EAAkC;AAC9B,mCAAKI,QAAL,CAAc;AACV3B,gDAAgBwB;AADN,6BAAd;AAGH;AACJ;AACJ,iBAhBD;AAiBH;AACDI,uBAAW,YAAM;AAAE,uBAAKC,WAAL;AAAoB,aAAvC,EAAyC,CAAzC;AACH;;;oDAE2B;AACxB,iBAAKA,WAAL;AACH;;;wCAU8B;AAAA,gBAAjBC,IAAiB,uEAAV,QAAU;;AAC3B,gBAAMxC,QAAQ,KAAKyC,WAAL,CAAiB5C,QAAQ2C,IAAR,CAAjB,CAAd;AACA,iBAAKH,QAAL,CAAc,EAAErC,YAAF,EAAd;AACH;;;sCAEa;AAAA,0BACwB,KAAKE,KAD7B;AAAA,gBACJwC,MADI,WACJA,MADI;AAAA,gBACIC,eADJ,WACIA,eADJ;AAAA,0BAEkB,KAAKzC,KAFvB;AAAA,gBAEFC,KAFE,WAEFA,KAFE;AAAA,gBAEKgC,QAFL,WAEKA,QAFL;;AAGV,gBAAIS,OAAQtD,MAAZ,CAAoB;;AAEpB,gBAAIoD,UAAUA,OAAOG,WAArB,EAAkC;AAC9B,oBAAGH,OAAOG,WAAP,CAAmBC,EAAnB,IAAyBH,gBAAgBI,QAA5C,EAAqD;AACjD,yBAAK1B,aAAL,CAAmB,MAAnB;AACA;AACH;AACD,qBAAKA,aAAL,CAAmB,QAAnB;AACA,oBAAIqB,OAAOG,WAAP,CAAmBC,EAAnB,IAAyBH,gBAAgBK,IAA7C,EAAmD;AAC/CJ,2BAAO5C,MAAMiD,MAAN,CAAa,UAACC,IAAD,EAAU;AAC1B,+BAAOA,KAAK3D,GAAL,KAAa,YAAb,IAA2B2D,KAAK3D,GAAL,KAAa,UAA/C;AACH,qBAFM,CAAP;AAGH,iBAJD,MAIK;AACDqD,2BAAO5C,MAAMiD,MAAN,CAAa,UAACC,IAAD,EAAU;AAC1B,+BAAOA,KAAK3D,GAAL,KAAa,YAAb,IAA2B2D,KAAK3D,GAAL,KAAa,UAA/C;AACH,qBAFM,CAAP;AAGH;AACJ;AACD,iBAAK8C,QAAL,CAAc,EAAErC,OAAO4C,IAAT,EAAd;AACH;;;;kHAMiBjD,I;;;;;;;0CAC0B,KAAKO,K,6BAArCiD,Q,EAAAA,Q,oCAAW,E,gDAAIC,Q,EAAAA,Q,oCAAW,C;;uCAC5B,KAAKC,eAAL,CAAqB,uBAArB,EAA8C,EAAEC,WAAWH,YAAYA,SAAStB,MAArB,IAA+BsB,SAASC,QAAT,CAA5C,EAAgEG,eAAe5D,IAA/E,EAAqF6D,MAAM,MAA3F,EAA9C,C;;;AACFC,qC,GAAQ,KAAKC,OAAL,CAAaC,SAAb,CAAuBC,WAAvB,CAAmC,SAAnC,C;;sCACRH,SAASA,MAAMI,QAAN,KAAmB,K;;;;;iEACrB,K;;;iEAEA,I;;;;;;;;;;;;;;;;;;;;;;;;;;0CAK8B,KAAK3D,K,6BAAtCiD,Q,EAAAA,Q,oCAAW,E,gDAAIC,Q,EAAAA,Q,oCAAW,C;wCACTD,SAASC,QAAT,KAAsB,E,EAAxCU,c,SAAAA,c;;sCACHA,mBAAmB,U;;;;;AACnBC,8DAAQC,IAAR,CAAa,kBAAb;kEACO,K;;;sCACAF,mBAAmB,e;;;;;AAC1BC,8DAAQC,IAAR,CAAa,kBAAb;kEACO,K;;;sCACDF,mBAAmB,gB;;;;;AACzBC,8DAAQC,IAAR,CAAa,kBAAb;kEACO,K;;;sCACAF,mBAAmB,c;;;;;AAC1BC,8DAAQC,IAAR,CAAa,kBAAb;kEACO,K;;;sCACAF,mBAAmB,S;;;;;AAC1BC,8DAAQC,IAAR,CAAa,kBAAb;kEACO,K;;;;;;;;;;;;;;;;;;;;;;;;;;0CAK8B,KAAK9D,K,6BAAtCiD,Q,EAAAA,Q,oCAAW,E,gDAAIC,Q,EAAAA,Q,oCAAW,C;;sCAC9BD,YAAYA,SAAStB,M;;;;;AACjBoC,wC,GAAWd,SAASC,QAAT,C;wCACiDa,YAAY,E,EAArEC,Y,SAAAA,Y,EAAcC,a,SAAAA,a,EAAeC,wB,SAAAA,wB;;sCAChCF,iBAAiB,c;;;;;AACjB,oCAAIE,4BAA4BD,aAAhC,EAA+C;AAC3C,yCAAKE,WAAL;AACH,iCAFD,MAEO;AACH,yCAAKhC,QAAL,CAAc,EAAE/B,YAAY,IAAd,EAAoBC,eAAe,MAAnC,EAA2CE,aAAa,EAAxD,EAAd;AACH;;;;;;uCAEgB,KAAK6D,gBAAL,E;;;AAAbC,oC;;sCACAA,SAAS,K;;;;;;;;AAGb,qCAAKF,WAAL;;;;;;;;;;;;;;;;;AAmCZ;;;;;AAIA;;;;;;;;;;uCAEqB,KAAKC,gBAAL,E;;;AAAbC,oC;;sCACAA,SAAS,K;;;;;;;;0CAG2B,KAAKrE,K,6BAArCiD,Q,EAAAA,Q,oCAAW,E,gDAAIC,Q,EAAAA,Q,oCAAW,C;wCACKD,SAASC,QAAT,KAAsB,E,EAAtDoB,c,SAAAA,c,EAAgBN,Y,SAAAA,Y;;sCACnBA,iBAAiB,cAAjB,IAAmC,CAACM,c;;;;;AACpCT,8DAAQC,IAAR,CAAa,UAAb;;;;AAGJ,qCAAK3B,QAAL,CAAc,EAAE/B,YAAY,IAAd,EAAoBC,eAAe,MAAnC,EAAd;;;;;;;;;;;;;;;;;AAGJ;;;;;;;;;;;;;uCAEqB,KAAK+D,gBAAL,E;;;AAAbC,oC;;sCACAA,SAAS,K;;;;;;;;0CAG2B,KAAKrE,K,6BAArCiD,Q,EAAAA,Q,oCAAW,E,gDAAIC,Q,EAAAA,Q,oCAAW,C;yCACKD,SAASC,QAAT,KAAsB,E,EAAtDoB,c,UAAAA,c,EAAgBN,Y,UAAAA,Y;;sCACnBA,iBAAiB,cAAjB,IAAmC,CAACM,c;;;;;AACpCT,8DAAQC,IAAR,CAAa,UAAb;;;;AAGJ,qCAAK3B,QAAL,CAAc,EAAE/B,YAAY,IAAd,EAAoBC,eAAe,MAAnC,EAAd;;;;;;;;;;;;;;;;;AAQJ;;AA4BA;;;AA8BA;;;AAoCA;;;AAeA;;;AAYA;;;AAOA;;;;;;AAQA;AACA;;oHACkBF,K;;;;;;;AACNoE,qC,GAAUpE,K,CAAVoE,K;0CAC4C,KAAKvE,K,EAAjDwE,W,WAAAA,W,6BAAavB,Q,EAAAA,Q,oCAAW,E,gDAAIC,Q,EAAAA,Q,oCAAW,C;yCACvBD,SAASC,QAAT,KAAsB,E,EAAvCuB,a,UAAAA,a;AACDC,sC,GAAS;AACXC,4CAAQF,aADG;AAEXG,4CAAQL,KAFG;AAGXM,6DAAyB;AAHd,iC;;AAKf,qCAAKC,yBAAL,CAA+B,IAA/B;;;uCAEsB,KAAK7D,GAAL,CAAS8D,iBAAT,CAA2BL,MAA3B,C;;;AAAZM,mC;;AACN,qCAAKF,yBAAL,CAA+B,KAA/B;AACAjB,8DAAQoB,OAAR,CAAgB,MAAhB;AACAT,4CAAYvB,YAAYA,SAAStB,MAAT,GAAkB,CAA9B,GAAkCsB,SAAS,CAAT,EAAYiC,YAA9C,GAA6DT,aAAzE;AACA,qCAAKtC,QAAL,CAAc;AACV1B,kDAAc;AADJ,iCAAd;;;;;;;;AAIA,qCAAKqE,yBAAL,CAA+B,KAA/B;;;;;;;;;;;;;;;;;AAIR;;;AAQA;;;AAgCA;;;;;;AAgBA;;oHACqBJ,M;;;;;;;;wDAESS,4BAAeC,SAAf,E,EAAdC,S,yBAAAA,S;AACFC,mC,GAAMZ,OAAOa,wB;AACbC,mC,GAAMF,OAAOA,IAAIvC,MAAJ,CAAW;AAAA,2CAAK0C,EAAEC,gBAAP;AAAA,iCAAX,C;;sCACfF,OAAOA,IAAI7D,MAAJ,GAAa,C;;;;;AACdgE,uC,GAAUH,IAAI,CAAJ,C;AACVd,uC,GAAS,EAAEkB,aAAa,CAAf,EAAkBC,SAASF,OAA3B,EAAoCN,WAAWA,UAAUS,MAAzD,EAAiER,KAAKA,GAAtE,E;;AACfS,wCAAQC,GAAR,CAAY,UAAZ,EAAwB,yBAAetB,OAAf,CAAxB;;uCACgB,sBAAY,UAACuB,OAAD,EAAUC,MAAV,EAAqB;AAC7CC,6DAASC,oBAAT,CAA8B,cAA9B,6BAAmD1B,OAAnD,GAA6D,eAAO;AAChE,+CAAOuB,QAAQI,GAAR,CAAP;AACH,qCAFD;AAGH,iCAJe,C;;;AAAZrB,mC;;AAKJe,wCAAQC,GAAR,CAAY,UAAZ,EAAwBhB,GAAxB;AACAA,sCAAMzD,KAAKC,KAAL,CAAWwD,GAAX,CAAN;yCAC0BA,OAAO,E,EAAzBsB,I,UAAAA,I,EAAMzC,Q,UAAAA,O;;sCACVyC,OAAO,C;;;;;kEACA,EAAEC,MAAM,KAAR,EAAeC,KAAK3C,QAApB,EAA6B4C,MAAMH,IAAnC,E;;;kEAEA,EAAEC,MAAM,IAAR,EAAcC,KAAK3C,QAAnB,EAA4B4C,MAAMH,IAAlC,E;;;kEAGR,EAAEC,MAAM,IAAR,E;;;;;kEAGA,EAAEA,MAAM,KAAR,EAAcC,iBAAd,EAAuBC,MAAM,MAA7B,E;;;;;;;;;;;;;;;;;AAIf;;;;;;;;oBAC0B1C,Q,uEAAW,E;oBAAI2C,a;;;;;;;;oCAChC3C,Q;;;;;;;;yCAC0C4C,0BAAU,E,EAAjDC,W,UAAAA,W,EAAaC,qB,UAAAA,qB;oDACCD,W,CAAdvC,I,EAAAA,I,qCAAO,E;AACPyC,+C,GAA6E/C,Q,CAA7E+C,e,EAAiBrC,a,GAA4DV,Q,CAA5DU,a,EAAesC,E,GAA6ChD,Q,CAA7CgD,E,0BAA6ChD,Q,CAAzCiD,a,EAAAA,a,yCAAgB,C,kDAAyBjD,Q,CAAtBkD,c,EAAAA,c,yCAAiB,C;2CAC5B,KAAKjH,K,EAAjDwE,W,YAAAA,W,+BAAavB,Q,EAAAA,Q,qCAAW,E,sBAAIiE,Y,YAAAA,Y;yCACoC,KAAK/G,KAAL,CAAWa,mBAAX,IAAkC,E,8BAAlGmG,W,EAAAA,W,sCAAc,K,sDAAOC,e,EAAAA,e,yCAAkB,C,uDAAGC,Y,EAAAA,Y,uCAAe,E;yCAChB,KAAK7D,OAAL,CAAaC,SAAb,IAA0B,E,uBAAnEY,I;0EAAkC,E;iEAA1BiD,M,EAAQC,Q,sCAAW,E;AAC7BC,gD,GAAmB,CAAC,CAACD,SAASR,E;AAC9BrC,sC,8BACCL,I;AACHoD,oDAAgB,CAAC;AACbC,kDAAUX,EADG;AAEbY,2DAAmBjB,aAFN;AAGbkB,qDAAa,EAHA;AAIbC,yDAAiBf,eAJJ;AAKbgB,2DAAmBzD,KAAKoD,cAAL,CAAoB,CAApB,EAAuBK,iBAL7B;AAMbC,2DAAmB,2BAAe,KAAGd,iBAAiBG,eAApB,CAAf;AANN,qCAAD,C;AAQhBY,qDAAiB,K;AACjBtB,mDAAeA,a;AACfuB,mDAAe;;AAGnB;;AACA,oCAAI,CAACd,WAAL,EAAkB;AAAA,6CAC2DE,aAAa,CAAb,KAAmB,EAD9E,EACNa,YADM,UACNA,YADM,EACQC,aADR,UACQA,aADR,EACuBC,mBADvB,UACuBA,mBADvB,EAC4CC,UAD5C,UAC4CA,UAD5C;;AAEd3D,2CAAOa,wBAAP,GAAkC,CAAC;AAC/B+C,uDAAe5B,aADgB;AAE/B6B,qDAAa,EAFkB;AAG/BC,+DAAuB,EAHQ;AAI/BC,uDAAeP,YAJgB;AAK/B5B,8CAAM,CALyB;AAM/BoC,uDAAeP,aANgB;AAO/BQ,6DAAqB,EAPU;AAQ/BC,oDAAY,EARmB;AAS/BC,uDAAeT,mBATgB;AAU/BU,qDAAaT;AAVkB,qCAAD,CAAlC;AAYH,iCAdD,MAcO;AACH3D,2CAAOa,wBAAP,GAAkC8B,aAAa0B,GAAb,CAAiB,gBAAQ;AACvD,4CAAIC,UAAU9G,KAAK+G,sBAAL,GAA8B,OAAKC,mBAAL,CAAyBhH,IAAzB,EAA+B2E,qBAA/B,CAA9B,GAAsF,EAApG;AACA;AACIyB,2DAAe,MAAMpG,KAAKkG,mBAD9B;AAEIG,yDAAa,EAFjB;AAGIC,mEAAuB,EAH3B;AAIIC,2DAAevG,KAAKgG,YAJxB;AAKI5B,kDAAM,CALV;AAMIoC,2DAAexG,KAAKiG,aANxB;AAOIQ,iEAAqB,EAPzB;AAQIC,wDAAY,EARhB;AASIC,2DAAe3G,KAAKkG,mBATxB;AAUIU,yDAAa5G,KAAKmG;AAVtB,2CAWOW,OAXP;AAaH,qCAfiC,CAAlC;AAgBH;;AAED;;uCACgB,KAAKG,cAAL,CAAoBzE,MAApB,C;;;AAAZM,mC;yCACmBA,OAAO,E,EAAtBuB,I,UAAAA,I,EAAME,I,UAAAA,I;;sCACVF,SAAS,K;;;;;AACT1C,8DAAQC,IAAR,8DAA2B2C,IAA3B;;;;;uCAIE,KAAKtE,QAAL,CAAc;AAChBpB,uDAAmB;AADH,iCAAd,C;;;;;uCAIgB,KAAKE,GAAL,CAASmI,eAAT,CAAyB1E,MAAzB,C;;;AAAZM,oC;yCACoBA,KAAIX,IAAJ,IAAY,E,EAA9BgF,S,UAAAA,S,EAAWC,E,UAAAA,E;;AACnB,oCAAID,cAAc,IAAd,IAAsBA,cAAc,MAAxC,EAAgD;AAC5C,wCAAI,CAAC,CAAC7B,gBAAF,IAAsBD,SAASR,EAAT,KAAgBA,EAA1C,EAA8C;AAC1CG,qDAAaH,EAAb;AACH;AACDvC,mDAAeA,YAAYvB,YAAYA,SAAStB,MAAT,GAAkB,CAA9B,GAAkCsB,SAAS,CAAT,EAAYiC,YAA9C,GAA6DT,aAAzE,CAAf;AACAZ,kEAAQoB,OAAR,CAAgB,QAAhB;AACH,iCAND,MAMO;AACH,yCAAKsE,YAAL,iEAAgC7C,aAAhC;AACH;;;uCAEK,KAAKvE,QAAL,CAAc;AAChBpB,uDAAmB,KADH;AAEhBH,gDAAY;AAFI,iCAAd,C;;;;;;;;;;uCAKA,KAAKuB,QAAL,CAAc;AAChBpB,uDAAmB;AADH,iCAAd,C;;;;;;;;;;;;;;;;AAKd;;;;qCACcyI,O,EAAS9C,a,EAAe;AAClC,gBAAM+C,OAAO,IAAb;AACAC,8CAAYC,OAAZ,CAAoB;AAChB1J,uBAAO,IADS;AAEhBuJ,gCAFgB;AAGhBI,wBAAQ,IAHQ;AAIhBC,sBAAM,gBAAM;AAAA,sCAC0BJ,KAAKzJ,KAD/B;AAAA,2DACDiD,QADC;AAAA,wBACDA,QADC,wCACU,EADV;AAAA,wBACcC,QADd,eACcA,QADd;;AAERuG,yBAAKtH,QAAL,CAAc;AACVvB,oCAAY;AADF,qBAAd;AAGA6I,yBAAKK,mBAAL,CAAyB7G,SAASC,QAAT,CAAzB,EAA6CwD,aAA7C;AACH;AAVe,aAApB;AAYH;AACD;;AA4BA;;;;8BAmCMrH,G,EAAKI,I,EAAMH,I,EAAM;AAAA;;AACnB,iBAAK6C,QAAL,CAAc;AACV5B,6BAAa;AADH,aAAd;AAGA,iBAAKwJ,WAAL,CAAiBtK,IAAjB,EAAuBuK,IAAvB,CAA4B,eAAK;AAC7B,oBAAI3K,QAAQ,SAAZ,EAAuB;AACnB,2BAAK8C,QAAL,CAAc;AACVxB,iCAAS;AADC,qBAAd;AAGH,iBAJD,MAIO;AACH,2BAAKwB,QAAL,CAAc;AACVxB,iCAAS;AADC,qBAAd;AAGH;AACD,oBAAIqE,QAAQ,IAAZ,EAAkB;AAAA,iCACgBiF,yBAAY,EAD5B;AAAA,wBACNC,iBADM,UACNA,iBADM;;AAEd,4BAAQ7K,GAAR;AACI,6BAAK,SAAL;AAAgB,mCAAK8K,OAAL,GAAgB;AAChC,6BAAK,gBAAL;AAAuB,mCAAKC,cAAL,GAAuB;AAC9C,6BAAK,YAAL;AAAmB,mCAAKC,UAAL,GAAmB;AACtC,6BAAK,YAAL;AAAmB,mCAAKC,UAAL,GAAmB;AACtC,6BAAK,UAAL;AAAiB,mCAAKC,QAAL,GAAiB;AAClC,6BAAK,eAAL;AAAsB,mCAAKC,aAAL,GAAsB;AAC5C,6BAAK,gBAAL;AAAuB,mCAAKC,QAAL,CAAcpL,GAAd,EAAmBC,IAAnB,EAA0B;AACjD,6BAAK,kBAAL;AAAyB,mCAAKoL,gBAAL,GAAyB;AAClD,6BAAK,iBAAL;AAAwB,mCAAKC,eAAL,GAAwB;AATpD;AAWH;AACJ,aAxBD;AAyBH;;;iCAoDQ;AAAA;;AAAA,yBAC2J,KAAKxK,KADhK;AAAA,gBACGL,KADH,UACGA,KADH;AAAA,gBACUM,UADV,UACUA,UADV;AAAA,gBACsBC,aADtB,UACsBA,aADtB;AAAA,gBACqCC,YADrC,UACqCA,YADrC;AAAA,gBACmDG,YADnD,UACmDA,YADnD;AAAA,gBACiEC,mBADjE,UACiEA,mBADjE;AAAA,gBACsFE,UADtF,UACsFA,UADtF;AAAA,gBACkGG,iBADlG,UACkGA,iBADlG;AAAA,gBACqHJ,OADrH,UACqHA,OADrH;AAAA,+CAC8HK,mBAD9H;AAAA,gBAC8HA,mBAD9H,yCACoJ,EADpJ;AAAA,2BAEqF,KAAKhB,KAF1F;AAAA,2CAECwC,MAFD;AAAA,gBAECA,MAFD,mCAEU,EAFV;AAAA,gBAEcoI,WAFd,YAEcA,WAFd;AAAA,gBAE2BpG,WAF3B,YAE2BA,WAF3B;AAAA,6CAEwCtB,QAFxC;AAAA,gBAEwCA,QAFxC,qCAEmD,CAFnD;AAAA,gBAEsD2H,YAFtD,YAEsDA,YAFtD;AAAA,6CAEoE5H,QAFpE;AAAA,gBAEoEA,QAFpE,qCAE+E,EAF/E;;AAAA,yBAG6GA,SAAStB,MAAT,IAAmBsB,SAASC,QAAT,CAApB,IAA2C,EAHvJ;AAAA,gBAGEN,EAHF,UAGEA,EAHF;AAAA,+CAGMqE,cAHN;AAAA,gBAGMA,cAHN,yCAGuB,CAHvB;AAAA,8CAG0BD,aAH1B;AAAA,gBAG0BA,aAH1B,wCAG0C,CAH1C;AAAA,gBAG6C/C,aAH7C,UAG6CA,aAH7C;AAAA,gBAG4DD,YAH5D,UAG4DA,YAH5D;AAAA,gBAG0EJ,cAH1E,UAG0EA,cAH1E;AAAA,gBAG0Fa,aAH1F,UAG0FA,aAH1F;;AAAA,gBAIG2C,eAJH,GAI0CpG,mBAJ1C,CAIGoG,eAJH;AAAA,gBAIoB0D,iBAJpB,GAI0C9J,mBAJ1C,CAIoB8J,iBAJpB;;;AAML,mBACI;AAAA;AAAA,kBAAK,WAAU,aAAf;AAEQhL,yBAASA,MAAMiJ,GAAN,CAAU,UAAC/F,IAAD,EAAM+H,KAAN,EAAgB;AAC/B,wBAAIC,SAASJ,YAAYK,OAAZ,CAAoBjI,KAAKvD,IAAzB,CAAb;AACA,wBAAIuL,MAAJ,EAAY;AACR,4BAAIhI,KAAKvD,IAAL,KAAc,iBAAlB,EAAqC;AACjC,gCAAIuD,KAAK3D,GAAL,KAAa,gBAAb,IAAiC2E,iBAAiB,cAAlD,IAAoEJ,cAApE,IAAsFA,mBAAmB,WAA7G,EAA0H;AACtH,uCAAO,OAAKsH,WAAL,CAAiBH,KAAjB,EAAwB/H,IAAxB,CAAP;AACH;AACD,gCAAIA,KAAK3D,GAAL,KAAa,kBAAb,IAAmC2E,iBAAiB,cAApD,IAAsEJ,cAAtE,IAAwFA,mBAAmB,SAA/G,EAA0H;AACtH,uCAAO,OAAKsH,WAAL,CAAiBH,KAAjB,EAAwB/H,IAAxB,CAAP;AACH;AACJ,yBAPD,MAOO;AACH,mCAAO,OAAKkI,WAAL,CAAiBH,KAAjB,EAAwB/H,IAAxB,CAAP;AACH;AACJ,qBAXD,MAWO;AACH,4BAAIA,KAAKvD,IAAL,KAAc,gBAAlB,EAAoC;AAChC,mCAAO,OAAKyL,WAAL,CAAiBH,KAAjB,EAAwB/H,IAAxB,CAAP;AACH,yBAFD,MAEO,IAAIA,KAAKvD,IAAL,KAAc,iBAAlB,EAAqC;AACxC,mCAAO,OAAKyL,WAAL,CAAiBH,KAAjB,EAAwB/H,IAAxB,CAAP;AACH,yBAFM,MAEA;AACH,mCAAO,EAAP;AACH;AACJ;AACJ,iBAtBQ,CAFjB;AA0BI;AAAC,qDAAD;AAAA;AACI,+BAAOgB,iBAAiB,cAAjB,IAAmC,CAACC,aAApC,GAAoD,MAApD,GAA6D5D,aADxE;AAEI,8BAAMD,UAFV;AAGI,4BAAI,KAAK+K,mBAHb;AAII,mCAAU,iBAJd;AAKI,mCAAU,KALd;AAMI,qCAAa,IANjB;AAOI,qCAAa,IAPjB;AAQI,gCAAQ,KAAKC,oBARjB;AASI,sCAAc9K;AATlB;AAYQD,sCAAkB,IAAlB,GACA,8BAAC,0BAAD,IAAkB,UAAU4C,YAAYA,SAAStB,MAArB,IAA+BsB,SAASC,QAAT,CAA3D,EAA+E,cAAc2H,YAA7F,EAA2G,QAAQrI,MAAnH,EAA2H,KAAK;AAAA,mCAAO,OAAKpC,UAAL,GAAkBiL,MAAzB;AAAA,yBAAhI,EAA8J,aAAa,KAAKD,oBAAhL,GADA,GAEA,8BAAC,oBAAD,IAAY,SAASzK,OAArB,EAA8B,cAAcsC,QAA5C,EAAsD,UAAUA,YAAYA,SAAStB,MAArB,IAA+BsB,SAASC,QAAT,CAA/F,EAAmH,mBAAmB,KAAKoI,iBAA3I,EAA8J,aAAa9G,WAA3K,EAAwL,UAAUtB,QAAlM,EAA4M,aAAa,KAAKiB,WAA9N,EAA2O,eACvOH,iBAAiB,cAAjB,IAAmC,CAACC,aAApC,GAAoD,MAApD,GAA6D5D,aADjE,EAEE,cAAcwK,YAFhB,EAE8B,KAAK;AAAA,mCAAO,OAAKzK,UAAL,GAAkBiL,MAAzB;AAAA,yBAFnC,EAEiE,QAAQ7I,MAFzE,EAEiF,aAAa,KAAK4I,oBAFnG;AAdR,iBA1BJ;AA8CI;AAAC,qDAAD;AAAA;AACI,+BAAM,0BADV;AAEI,8BAAM3K,YAFV;AAGI,mCAAU,WAHd;AAII,qCAAa,KAJjB;AAKI,4BAAI,KAAK8K,aALb;AAMI,gCAAQ,KAAKC,oBANjB;AAOI,sCAAc9K;AAPlB;AASI,kDAAC,kBAAD;AACI,6BAAK;AAAA,mCAAO,OAAK+K,WAAL,GAAmBJ,MAA1B;AAAA,yBADT;AAEI,uCAAe,KAAKE,aAFxB;AAGI,mDAA2B,KAAKzG;AAHpC;AATJ,iBA9CJ;AA+DI;AAAC,qDAAD;AAAA;AACI,+BAAM,oBADV;AAEI,8BAAMlE,UAFV;AAGI,mCAAU,QAHd;AAII,mCAAU,KAJd;AAKI,qCAAa,KALjB;AAMI,4BAAI,KAAK8K,cANb;AAOI,gCAAQ,KAAKC,kBAPjB;AAQI,sCAAc5K;AARlB;AAUI;AAAA;AAAA,0BAAK,WAAU,kBAAf;AACI;AAAA;AAAA,8BAAI,WAAU,aAAd;AACI;AAAA;AAAA,kCAAI,WAAU,aAAd;AACI;AAAA;AAAA,sCAAM,WAAU,OAAhB;AAAA;AAAA,iCADJ;AAEI;AAAA;AAAA,sCAAM,WAAU,OAAhB;AAAyB0D;AAAzB;AAFJ,6BADJ;AAKI;AAAA;AAAA,kCAAI,WAAU,aAAd;AACI;AAAA;AAAA,sCAAM,WAAU,OAAhB;AAAA;AAAA,iCADJ;AAEI;AAAA;AAAA,sCAAM,WAAU,OAAhB;AAAyB,gEAAgBwC,cAAhB,EAAgC,CAAhC;AAAzB;AAFJ,6BALJ;AASI;AAAA;AAAA,kCAAI,WAAU,aAAd;AACI;AAAA;AAAA,sCAAM,WAAU,OAAhB;AAAA;AAAA,iCADJ;AAEI;AAAA;AAAA,sCAAM,WAAU,OAAhB;AAAyB,+DAAeD,gBAAgB8D,iBAA/B;AAAzB;AAFJ,6BATJ;AAaI;AAAA;AAAA,kCAAI,WAAU,aAAd;AACI;AAAA;AAAA,sCAAM,WAAU,OAAhB;AAAA;AAAA,iCADJ;AAEI;AAAA;AAAA,sCAAM,WAAU,eAAhB;AAAkC,+DAAe1D,eAAf;AAAlC;AAFJ;AAbJ,yBADJ;AAmBI;AAAA;AAAA,8BAAG,WAAU,MAAb;AAAA;AAAA;AAnBJ;AAVJ;AA/DJ,aADJ;AAmGH;;;EAl0BwBwE,gB,WAwBlBC,Y,GAAe;AAClBC,aAASC,qBAAUC,IADD;AAElBvI,eAAWsI,qBAAUE,MAFH;AAGlBtF,YAAQoF,qBAAUE;AAHA,C;;;SAyCtB1J,W,GAAc,UAAC2J,IAAD,EAAU;AAAA,uBACQ,OAAKlM,KADb;AAAA,YACZC,KADY,YACZA,KADY;AAAA,YACLgC,QADK,YACLA,QADK;;AAEpBnC,gBAASV,MAAT;AACA,eAAOU,MAAMiD,MAAN,CAAa,UAACC,IAAD,EAAU;AAC1B,mBAAO,CAACkJ,KAAKC,OAAL,CAAanJ,KAAK3D,GAAlB,CAAR;AACH,SAFM,CAAP;AAGH,K;;SA+BD8D,e,GAAkB,UAACiJ,UAAD,EAAaC,UAAb,EAA4B;AAC1C,eAAO,OAAK7I,OAAL,CAAasI,OAAb,CAAqB,EAAE,mBAAmBQ,qBAAOC,MAAP,CAAc,OAAK/I,OAAL,CAAaC,SAA3B,EAAsC2I,UAAtC,CAArB,EAArB,EAA+F,iBAA/F,EAAkHC,UAAlH,CAAP;AACH,K;;SAuDDlI,W,GAAc,YAAM;AAAA,uBACmD,OAAKnE,KADxD;AAAA,yCACRiD,QADQ;AAAA,YACRA,QADQ,qCACG,EADH;AAAA,YACOuB,WADP,YACOA,WADP;AAAA,yCACoBtB,QADpB;AAAA,YACoBA,QADpB,qCAC+B,CAD/B;AAAA,YACkCgE,YADlC,YACkCA,YADlC;;AAAA,qBAEcjE,SAASC,QAAT,KAAsB,EAFpC;AAAA,YAERuB,aAFQ,UAERA,aAFQ;AAAA,YAEOsC,EAFP,UAEOA,EAFP;;AAAA,qBAGiC,OAAKvD,OAAL,CAAaC,SAAb,IAA0B,EAH3D;AAAA,iCAGRY,IAHQ;;AAAA,kDAG0B,EAH1B;AAAA,6CAGAiD,MAHA;AAAA,YAGQC,QAHR,sCAGmB,EAHnB;;AAIhB,YAAMC,mBAAmB,CAAC,CAACD,SAASR,EAApC;AACAJ,+BAAOC,WAAP,CAAmB4F,IAAnB,CAAwB;AACpBzI,sBAAUd,SAASC,QAAT,CADU;AAEpBuJ,oCAAwB;AACpBC,iCAAiB,2BAAM;AACnB/F,2CAAOgG,WAAP,CAAmBC,IAAnB,CAAwB,cAAxB;AACA,wBAAI,CAAC,CAACpF,gBAAF,IAAsBD,SAASR,EAAT,KAAgBA,EAA1C,EAA8C;AAC1CG,qCAAaH,EAAb;AACH;AACDvC,gCAAYvB,YAAYA,SAAStB,MAAT,GAAkB,CAA9B,GAAkCsB,SAAS,CAAT,EAAYiC,YAA9C,GAA6DT,aAAzE;AACH;AAPmB,aAFJ;AAWpBoI,sBAAU,oBAAM;AACZlG,uCAAOgG,WAAP,CAAmBG,IAAnB,CAAwB;AACpBC,yBAAK,cADe;AAEpB9M,2BAAO,IAFa;AAGpB+M,+BAAW,kBAHS;AAIpBC,iCAAY,kBAJQ;AAKpBC,4BAAQ,kBAAM;AACVvG,+CAAOgG,WAAP,CAAmBC,IAAnB,CAAwB,cAAxB;AACH;AAPmB,iBAAxB;AASH;AArBmB,SAAxB;AAuBH,K;;SAGDzB,mB,GAAsB,YAAM;AACxB,YAAI,OAAK/K,UAAT,EAAqB,OAAKA,UAAL,CAAgB+M,QAAhB;AACxB,K;;SA+BD/B,oB,GAAuB,YAAM;AACzB,eAAKjJ,QAAL,CAAc,EAAE/B,YAAY,KAAd,EAAd;AACA,eAAKA,UAAL,CAAgBgN,YAAhB;AACH,K;;SAGD/C,U,GAAa,YAAM;AAAA,uBACiC,OAAKrK,KADtC;AAAA,YACTwC,MADS,YACTA,MADS;AAAA,YACD6K,YADC,YACDA,YADC;AAAA,YACa5K,eADb,YACaA,eADb;;AAEfiH,0CAAYC,OAAZ,CAAoB;AAChB1J,mBAAO,IADS;AAEhBuJ,qBAAS,aAFO;AAGhBK;AAAA,sGAAM;AAAA;AAAA;AAAA;AAAA;AACF,2CAAK5I,GAAL,CAASqM,UAAT,CAAoB9K,MAApB,EAA4BwH,IAA5B,CAAiC,eAAO;AAAA,4CAC5BuD,OAD4B,GACLvI,GADK,CAC5BuI,OAD4B;AAAA,4CACnBC,GADmB,GACLxI,GADK,CACnBwI,GADmB;AAAA,4CACdC,IADc,GACLzI,GADK,CACdyI,IADc;;AAEpC,4CAAIF,YAAY,IAAZ,IAAoBE,IAAxB,EAA8B;AAC1B,gDAAMC,KAAKnM,KAAKC,KAAL,CAAWiM,IAAX,CAAX;AACAjL,mDAAOmL,EAAP,GAAYD,GAAGC,EAAf;AACAnL,mDAAOG,WAAP,CAAmBC,EAAnB,GAAwBH,gBAAgBK,IAAxC;AACAuK,4DAAgBA,aAAa7K,MAAb,CAAhB;AACAqB,0EAAQoB,OAAR,CAAgB,OAAhB;AACH,yCAND,MAMO;AACHpB,0EAAQ+J,KAAR,CAAc,UAAUJ,GAAxB;AACH;AACJ,qCAXD,EAWGK,KAXH,CAWS,aAAK;AACV9H,gDAAQC,GAAR,CAAY,KAAZ,EAAmB8H,CAAnB;AACH,qCAbD;;AADE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAN;;AAAA;AAAA;AAAA;AAAA,eAHgB;AAmBhBC,oBAnBgB,sBAmBL,CACV,CApBe;;AAqBhBb,oBAAQ,kBAAM,CACb;AAtBe,SAApB;AAwBH,K;;SAED5C,U,GAAa,YAAM;AACf,YAAG,CAAC,OAAKrJ,GAAT,EAAc;AADC,uBAEgC,OAAKjB,KAFrC;AAAA,YAETwC,MAFS,YAETA,MAFS;AAAA,YAEF6K,YAFE,YAEFA,YAFE;AAAA,YAEY5K,eAFZ,YAEYA,eAFZ;;AAGfiH,0CAAYC,OAAZ,CAAoB;AAChB1J,mBAAO,IADS;AAEhBuJ,qBAAS,eAFO;AAGhBK;AAAA,sGAAM;AAAA;AAAA;AAAA;AAAA;AACF,2CAAK5I,GAAL,CAAS+M,YAAT,CAAsBxL,MAAtB,EAA8BwH,IAA9B,CAAmC,eAAO;AAAA,4CAC9BuD,OAD8B,GACPvI,GADO,CAC9BuI,OAD8B;AAAA,4CACrBC,GADqB,GACPxI,GADO,CACrBwI,GADqB;AAAA,4CAChBC,IADgB,GACPzI,GADO,CAChByI,IADgB;;AAEtC,4CAAIF,YAAY,IAAZ,IAAoBE,IAAxB,EAA8B;AAC1B,gDAAMC,KAAKnM,KAAKC,KAAL,CAAWiM,IAAX,CAAX;AACAjL,mDAAOmL,EAAP,GAAYD,GAAGC,EAAf;AACAnL,mDAAOG,WAAP,CAAmBC,EAAnB,GAAwBH,gBAAgBwL,KAAxC;AACAZ,4DAAgBA,aAAa7K,MAAb,CAAhB;AACAqB,0EAAQoB,OAAR,CAAgB,SAAhB;AACH,yCAND,MAMO;AACHpB,0EAAQ+J,KAAR,CAAc,WAAWJ,GAAzB;AACH;AACJ,qCAXD,EAWGK,KAXH,CAWS,aAAK;AACV9H,gDAAQC,GAAR,CAAY,KAAZ,EAAmB8H,CAAnB;AACH,qCAbD;;AADE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAN;;AAAA;AAAA;AAAA;AAAA,eAHgB;AAmBhBC,oBAnBgB,sBAmBL,CACV,CApBe;;AAqBhBb,oBAAQ,kBAAM,CACb;AAtBe,SAApB;AAwBH,K;;SAGD3C,Q,GAAW,YAAM;AAAA,uBACqC,OAAKvK,KAD1C;AAAA,YACLwC,MADK,YACLA,MADK;AAAA,yCACGU,QADH;AAAA,YACGA,QADH,qCACc,CADd;AAAA,YACiBT,eADjB,YACiBA,eADjB;;AAAA,qBAEkCD,UAAU,EAF5C;AAAA,YAELuE,EAFK,UAELA,EAFK;AAAA,uCAEDmH,UAFC;;AAAA,8DAE2B,EAF3B;AAAA,YAEaC,SAFb,qBAEaA,SAFb;;AAGbvH,oBAAYwH,YAAZ,CAAyBrH,EAAzB,EAA6B,KAA7B,EAAoCiD,IAApC,CAAyC,UAAChF,GAAD,EAAS;AAC9C2B,mCAAO0H,iBAAP,CAAyBC,gBAAzB,CAA0CtJ,GAA1C;AACA2B,mCAAOgG,WAAP,CAAmBG,IAAnB,CAAwB;AACpBC,qBAAK,cADe;AAEpB9M,uBAAO,IAFa;AAGpB+M,2BAAW,gBAHS;AAIpBuB,2BAAW,KAJS;AAKpBrB,wBAAQ;AAAA,2BAAMvG,uBAAOgG,WAAP,CAAmBC,IAAnB,CAAwB,cAAxB,CAAN;AAAA,iBALY;AAMpB4B,yBAAS,mBAAM;AACXhM,2BAAOG,WAAP,CAAmBC,EAAnB,GAAwBH,gBAAgBwL,KAAxC;AACH;;AARmB,aAAxB;AAYAQ,0CAAQ7B,IAAR;AACH,SAfD;AAgBAjG,+BAAOgG,WAAP,CAAmBG,IAAnB;AACIC,iBAAK,cADT;AAEI9M,mBAAO,IAFX;AAGI+M,uBAAW,gBAHf;AAIIuB,uBAAW,KAJf;AAKIG,4BAAgB,IALpB;AAMIxB,oBAAQ;AAAA,uBAAMvG,uBAAOgG,WAAP,CAAmBC,IAAnB,CAAwB,cAAxB,CAAN;AAAA,aANZ;AAOI4B,qBAAS,mBAAM;AACXhM,uBAAOG,WAAP,CAAmBC,EAAnB,GAAwBH,gBAAgBwL,KAAxC;AACH;AATL,qBAUY,kBAAM,CACb,CAXL;AAaAQ,sCAAQ7B,IAAR;AACH,K;;SAGDnC,Q,4EAAW;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BACU,OAAKrG,gBAAL,EADV;;AAAA;AACHC,4BADG;;AAAA,8BAEHA,SAAS,KAFN;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,mCAKiC,OAAKrE,KALtC,+BAKCiD,QALD,EAKCA,QALD,qCAKY,EALZ,mDAKgBC,QALhB,EAKgBA,QALhB,qCAK2B,CAL3B;AAAA,iCAMMD,SAASC,QAAT,KAAsB,EAN5B,EAMA6D,EANA,UAMAA,EANA;;AAAA,4BAOF,CAACA,EAPC;AAAA;AAAA;AAAA;;AAQHlD,sDAAQ+J,KAAR,CAAc,mBAAd;AARG;;AAAA;AAWP,+BAAKzL,QAAL,CAAc,EAAE1B,cAAc,IAAhB,EAAd;;AAXO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,K;SAeX+K,oB,4EAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BACF,OAAKpH,gBAAL,EADE;;AAAA;AACfC,4BADe;;AAAA,8BAEfA,SAAS,KAFM;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAKnB,+BAAKlC,QAAL,CAAc;AACV1B,0CAAc,KADJ;AAEVC,iDAAqB;AAFX,yBAAd;;AALmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,K;;SAYvBoE,yB,GAA4B,UAAC6J,QAAD,EAAc;AACtC,eAAKxM,QAAL,CAAc;AACVzB,iCAAqBiO;AADX,SAAd;AAGH,K;;SAGDpD,a,GAAgB,YAAM;AAClB,YAAI,OAAKE,WAAT,EAAsB;AAAA,gBACVxJ,QADU,GACG,OAAKjC,KADR,CACViC,QADU;;AAElB,mBAAK2M,UAAL,CAAgB,OAAKnD,WAAL,CAAiBtL,KAAjC;AACH;AACJ,K;;SA4BDwL,kB,GAAqB,YAAM;AACvB,eAAKxJ,QAAL,CAAc;AACVvB,wBAAY;AADF,SAAd;AAGH,K;;SAID8K,c,4EAAiB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,mCAC2B,OAAK1L,KADhC,+BACLiD,QADK,EACLA,QADK,qCACM,EADN,mDACUC,QADV,EACUA,QADV,qCACqB,CADrB;AAAA,iCAEwED,SAAStB,MAAT,IAAmBsB,SAASC,QAAT,CAApB,IAA2C,EAFlH,EAEN4D,eAFM,UAENA,eAFM,iCAEWG,cAFX,EAEWA,cAFX,yCAE4B,CAF5B,wDAE+BD,aAF/B,EAE+BA,aAF/B,wCAE+C,CAF/C,yBAEkDvC,aAFlD,UAEkDA,aAFlD,EAEiEsC,EAFjE,UAEiEA,EAFjE;AAAA,iCAIyD,OAAK5G,KAAL,CAAWa,mBAAX,IAAkC,EAJ3F,8BAINmG,WAJM,EAINA,WAJM,sCAIQ,KAJR,sDAIeC,eAJf,EAIeA,eAJf,yCAIiC,CAJjC,uDAIoCC,YAJpC,EAIoCA,YAJpC,uCAImD,EAJnD;AAKPwH,kCALO,GAKMC,WAAW,2BAAe1H,eAAf,CAAX,CALN;AAMPV,qCANO,GAMS,2BAAe,IAAGU,eAAlB,CANT;;AAQb;;AARa,8BAST2H,OAAO3H,eAAP,KAA2B,CATlB;AAAA;AAAA;AAAA;;AAUTvD,sDAAQ+J,KAAR,CAAc,cAAd;AAVS;;AAAA;AAAA,4BAeRzG,WAfQ;AAAA;AAAA;AAAA;;AAgBT,+BAAKoC,YAAL,iEAAgC7C,aAAhC;AAhBS;;AAAA;;AAoBb;AACM0B,2CArBO,GAqBef,aAAa2H,MAAb,CAAoB,UAACC,KAAD,EAAQC,GAAR;AAAA,mCAAgBD,QAAQC,IAAI9G,mBAA5B;AAAA,yBAApB,EAAqE,CAArE,CArBf;AAsBb;;AAtBa,8BAuBTA,uBAAuBA,sBAAsByG,UAvBpC;AAAA;AAAA;AAAA;;AAwBT,+BAAKtF,YAAL,+LAAqD7C,aAArD;AAxBS;;AAAA;;AA4Bb,+BAAKoD,mBAAL,CAAyB7G,SAASC,QAAT,CAAzB,EAA6CwD,aAA7C;;AA5Ba;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,K;;SAgCjBwC,mB,GAAsB,UAAChH,IAAD,EAAOiN,MAAP,EAAkB;AAAA,qBACcjN,QAAQ,EADtB;AAAA,YAC5BiG,aAD4B,UAC5BA,aAD4B;AAAA,YACbc,sBADa,UACbA,sBADa;;AAEpC,YAAImG,MAAM,EAAV;AACA,YAAIC,UAAUF,UAAUA,OAAOE,OAA/B;AACA,YAAIA,OAAJ,EAAa;AACT,gBAAIC,OAAOD,WAAWA,QAAQE,QAAR,CAAiBC,IAAjB,CAAsB;AAAA,uBAAK/J,EAAEgK,aAAF,IAAmBtH,aAAxB;AAAA,aAAtB,CAAtB;AACAiH,kBAAMnG,yBACF;AACIvD,kCAAkB4J,QAAQA,KAAKI,YAAb,IAA6B,IADnD;AAEIC,wCAAwB1G;AAF5B,aADE,GAIE,EAJR;AAKH;AACD,eAAOmG,GAAP;AACH,K;;SA+IDzE,e,4EAAkB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BACG,OAAKvG,gBAAL,EADH;;AAAA;AACVC,4BADU;;AAAA,8BAEVA,SAAS,KAFC;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,mCAK0B,OAAKrE,KAL/B,+BAKNiD,QALM,EAKNA,QALM,qCAKK,EALL,mDAKSC,QALT,EAKSA,QALT,qCAKoB,CALpB;AAAA,iCAMyDD,SAASC,QAAT,KAAsB,EAN/E,EAMNN,EANM,UAMNA,EANM,EAMFkE,eANE,UAMFA,eANE,iCAMeG,cANf,EAMeA,cANf,yCAMgC,CANhC,wDAMmCD,aANnC,EAMmCA,aANnC,wCAMmD,CANnD;;AAQd;;AACM6H,kCATQ,GASKC,WAAW,2BAAe7H,iBAAiBD,aAAhC,CAAX,CATL;AAAA;AAAA,+BAUoB,OAAK/F,GAAL,CAAS2O,sBAAT,CAAgC,EAACC,QAAQ/I,eAAT,EAA0BgJ,mBAAmBjB,UAA7C,EAAhC,CAVpB;;AAAA;AAUR7N,2CAVQ;;AAWd,+BAAKmB,QAAL,CAAc;AACVnB,iDAAqBA,oBAAoBqD,IAApB,IAA4B;AADvC,yBAAd;;AAIApB,iCAASC,QAAT,EAAmB6M,UAAnB,GAAgCnN,EAAhC;AACAK,iCAASC,QAAT,EAAmB8M,eAAnB,GAAqC,CAArC,CAhBc,CAgByB;AACvCrJ,+CAAOC,WAAP,CAAmB4F,IAAnB,CAAwB;AACpBzI,sCAAUd,SAASC,QAAT,CADU;AAEpBuJ,oDAAwB,EAFJ;AAGpBI,sCAAU,oBAAM;AACZ,uCAAK1K,QAAL,CAAc;AACVvB,gDAAY;AADF,iCAAd;AAGH;AAPmB,yBAAxB;;AAjBc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,K;SA4BlB8J,gB,4EAAmB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BACE,OAAKtG,gBAAL,EADF;;AAAA;AACXC,4BADW;;AAAA,8BAEXA,SAAS,KAFE;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA,mCAKyB,OAAKrE,KAL9B,+BAKPiD,QALO,EAKPA,QALO,qCAKI,EALJ,mDAKQC,QALR,EAKQA,QALR,qCAKmB,CALnB;AAAA,iCAMwCD,SAASC,QAAT,KAAsB,EAN9D,EAMRuB,aANQ,UAMRA,aANQ,EAMOS,YANP,UAMOA,YANP,EAMsB+K,UANtB,UAMsBA,UANtB,EAMkClJ,EANlC,UAMkCA,EANlC;;AAAA,4BAOVA,EAPU;AAAA;AAAA;AAAA;;AAQXlD,sDAAQ+J,KAAR,CAAc,SAAd;AARW;;AAAA;AAWflE,0DAAYC,OAAZ,CAAoB;AAChB1J,mCAAO,IADS;AAEhBuJ,mEAAgByG,cAAc/K,YAA9B,4DAFgB;AAGhBgL,4CAAgB,OAAK/P,KAAL,CAAWW,uBAHX;AAIhB+I;AAAA,sHAAM;AAAA;AAAA;AAAA;AAAA;AACF,2DAAK1H,QAAL,CAAc;AACVrB,iFAAyB;AADf,qDAAd;AAGA,2DAAKG,GAAL,CAASkP,mBAAT,CAA6B,EAAC1L,4BAAD,EAA7B,EAA8CuF,IAA9C,CAAmD,eAAO;AAAA,4DAC9CxF,WAD8C,GAC9B,OAAKxE,KADyB,CAC9CwE,WAD8C;;AAEtDX,sFAAQoB,OAAR,CAAgB,MAAhB;AACAT,oEAAYvB,YAAYA,SAAStB,MAAT,GAAkB,CAA9B,GAAkCsB,SAAS,CAAT,EAAYiC,YAA9C,GAA6DT,aAAzE;AACA,+DAAKtC,QAAL,CAAc;AACVrB,qFAAyB;AADf,yDAAd;AAGH,qDAPD,EAOG+M,KAPH,CAOS,YAAM;AACX,+DAAK1L,QAAL,CAAc;AACVrB,qFAAyB;AADf,yDAAd;AAGH,qDAXD;;AAJE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCAAN;;AAAA;AAAA;AAAA;AAAA;AAJgB,yBAApB;;AAXe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,K;;SAiEnBwK,iB,GAAoB,UAAC/G,KAAD,EAAW;AAC3B,eAAKpC,QAAL,CAAc;AACV7B,0BAAciE;AADJ,SAAd;AAGH,K;;SAED2G,W,GAAc,UAACH,KAAD,EAAQ/H,IAAR,EAAiB;AAAA,uBACqB,OAAKhD,KAD1B;AAAA,YACtBoQ,UADsB,YACtBA,UADsB;AAAA,yCACVnN,QADU;AAAA,YACVA,QADU,qCACC,EADD;AAAA,yCACKC,QADL;AAAA,YACKA,QADL,qCACgB,CADhB;;AAAA,qBAEA,OAAK/C,KAAL,IAAc,EAFd;AAAA,YAEnBK,cAFmB,UAEnBA,cAFmB;;AAG3B,YAAI6P,WAAUhP,2BAAcA,wBAAWC,GAAX,CAAe,uBAAf,KAAyC,SAArE;;AAH2B,qBAIa2B,YAAYA,SAAStB,MAArB,IAA+BsB,SAASC,QAAT,CAA/B,IAAqD,EAJlE;AAAA,YAInBe,aAJmB,UAInBA,aAJmB;AAAA,YAIJD,YAJI,UAIJA,YAJI;AAK3B;;;AACA,YAAIhB,KAAKvD,IAAL,KAAc,gBAAlB,EAAoC;AAChC,gBAAIuE,iBAAiB,cAArB,EAAqC;AACjC,uBAAO;AAAA;AAAA,sBAAK,KAAK+G,KAAV,EAAiB,uCAAoC,SAAQ/H,KAAKvD,IAAjD,YAA0D2Q,eAAe,KAAf,GAAuB,gBAAvB,GAA0C,4CAApG,WAAoJC,YAAY,cAAhK,CAAjB;AACH,iCAAS,mBAAM;AACX,gCAAID,eAAe,KAAnB,EAA0B,OAAKE,KAAL,CAAWtN,KAAK3D,GAAhB,EAAqB2D,KAAKvD,IAA1B;AAC7B;AAHE;AAKEwE,oCAAgB;AAAA;AAAA;AAAK,sDAAC,2BAAD,IAAO,MAAMjB,KAAKxD,IAAlB,GAAL;AAAqC;AAAA;AAAA;AAAA;AAAA,yBAArC;AAAsD;AAAA;AAAA,8BAAK,WAAU,YAAf;AAA6BwD,iCAAKtD;AAAlC;AAAtD,qBAAhB,GACD;AAAA;AAAA;AAAK,sDAAC,2BAAD,IAAO,MAAMsD,KAAKxD,IAAlB,GAAL;AAAqC;AAAA;AAAA;AAAA;AAAA,yBAArC;AAAsD;AAAA;AAAA,8BAAK,WAAU,YAAf;AAA6BgB;AAA7B;AAAtD;AAND,iBAAP;AAQH,aATD,MASO;AACH,uBAAO;AAAA;AAAA,sBAAK,KAAKuK,KAAV,EAAiB,uCAAoC,SAAQ/H,KAAKvD,IAAjD,YAA0D2Q,eAAe,KAAf,GAAuB,gBAAvB,GAA0C,4CAApG,WAAoJC,YAAY,cAAhK,CAAjB;AACH,iCAAS,mBAAM;AACX,gCAAID,eAAe,KAAnB,EAA0B,OAAKE,KAAL,CAAWtN,KAAK3D,GAAhB,EAAqB2D,KAAKvD,IAA1B;AAC7B;AAHE;AAKC;AAAA;AAAA;AAAK,sDAAC,2BAAD,IAAO,MAAMuD,KAAKxD,IAAlB,GAAL;AAAqC;AAAA;AAAA;AAAA;AAAA,yBAArC;AAAsD;AAAA;AAAA,8BAAK,WAAU,YAAf;AAA6BwD,iCAAKtD;AAAlC;AAAtD;AALD,iBAAP;AAOH;AACJ,SAnBD,MAmBO,IAAIsE,iBAAiB,cAAjB,IAAmC,CAACC,aAApC,IAAqDjB,KAAKvD,IAAL,KAAc,aAAvE,EAAsF;AACzF;AACH,SAFM,MAGA;AACH,mBACA;AAAA;AAAA;AACI,yBAAKsL,KADT;AAEI,2DAAoC,SAAQ/H,KAAKvD,IAAjD,YAA0D2Q,eAAe,KAAf,GAAuB,gBAAvB,GAA0C,4CAApG,WAAoJC,YAAY,cAAhK,CAFJ;AAGI,6BAAS,mBAAM;AACX,4BAAID,eAAe,KAAnB,EAA0B,OAAKE,KAAL,CAAWtN,KAAK3D,GAAhB,EAAqB2D,KAAKvD,IAA1B,EAAgCuD,KAAK1D,IAArC;AAC7B;AALL;AAOI,8CAAC,2BAAD,IAAO,MAAM0D,KAAKxD,IAAlB,GAPJ;AAOoC;AAAA;AAAA;AAAOwD,yBAAK1D;AAAZ,iBAPpC;AAQI;AAAA;AAAA,sBAAK,WAAU,YAAf;AAA6B0D,yBAAKtD;AAAlC;AARJ,aADA;AAYH;AACJ,K","file":"index.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { observer, stores,nativeMs } 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\n\r\nlet menus1 = [{\r\n key: 'storage',\r\n name: '储值',\r\n visible: true,\r\n icon: 'chuzhi',\r\n auth:'MemberStorage',\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 lastesStorageResult: {} // 最后一次储值的信息\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 justifyAuthority() {\r\n const { cardList = [], selected = 0, } = this.props;\r\n const {CardStatusEnum} = cardList[selected] || {};\r\n if (CardStatusEnum === 'DISABLED') {\r\n Message.warn('该储值卡未启用,不能进行该操作!');\r\n return false;\r\n } else if (CardStatusEnum === 'REFUNDED_CARD') {\r\n Message.warn('该储值卡已退卡,不能进行该操作!');\r\n return false;\r\n } else if(CardStatusEnum === 'REFUNDING_CARD') {\r\n Message.warn('该储值卡退卡中,不能进行该操作!');\r\n return false;\r\n } else if (CardStatusEnum === 'INVALIDATION') {\r\n Message.warn('该储值卡已失效,不能进行该操作!');\r\n return false;\r\n } else if (CardStatusEnum === 'EXPIRED') {\r\n Message.warn('该储值卡已过期,不能进行该操作!');\r\n return false;\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} = 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 let data = await this.justifyAuthority();\r\n if (data === false) {\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, loadUserInfo } = this.props;\r\n const { StorageCardNo, ID } = cardList[selected] || {};\r\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\r\n const isSelectedMember = !!dtMember.ID;\r\n stores.memberStore.init({\r\n cardInfo: cardList[selected],\r\n settlementControlEvent: {\r\n onSettleSuccess: () => {\r\n stores.modalRouter.hide('/memberstore')\r\n if (!!isSelectedMember && dtMember.ID === ID) {\r\n loadUserInfo(ID)\r\n }\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 async changePassword() {\r\n let data = await this.justifyAuthority();\r\n if (data === false) {\r\n return;\r\n }\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 async resetPassword() {\r\n let data = await this.justifyAuthority();\r\n if (data === false) {\r\n return;\r\n }\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, 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\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 = async () => {\r\n let data = await this.justifyAuthority();\r\n if (data === false) {\r\n return;\r\n }\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 = async () => {\r\n let data = await this.justifyAuthority();\r\n if (data === false) {\r\n return;\r\n }\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 {isCanRefund = false, canReturnAmount = 0, storageInfos = []} = this.state.lastesStorageResult || {}\r\n const refundable = parseFloat(getFixedNumber(canReturnAmount))\r\n const storageAmount = getFixedNumber(0-(canReturnAmount))\r\n\r\n // 退款金额小于等于0,不允许退款\r\n if (Number(canReturnAmount) <= 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)\r\n }\r\n\r\n // 获取二开支付信息,如果有的话返回。\r\n getThirdPaymentInfo = (item, tstore) => {\r\n const { paymentTypeId, thirdPaymentReturnInfo } = item || {};\r\n let obj = {};\r\n let paymode = tstore && tstore.paymode;\r\n if (paymode) {\r\n let mode = paymode && paymode.paymodes.find(v => v.idSettleStyle == paymentTypeId)\r\n obj = thirdPaymentReturnInfo ?\r\n {\r\n ThirdPaymentInfo: mode && mode.thridPayment || null,\r\n ThirdPaymentReturnInfo: thirdPaymentReturnInfo\r\n } : {};\r\n }\r\n return obj;\r\n }\r\n\r\n // 执行储值退款\r\n async thirdPayRefund(params) {\r\n try {\r\n const { TradeType } = enumController.getEnumOj();\r\n const dto = params.StorageMutiSettleDetails;\r\n const pay = dto && dto.filter(v => v.ThirdPaymentInfo);\r\n if (pay && pay.length > 0) {\r\n const payment = pay[0];\r\n const params = { VoucherType: 2, Payment: payment, TradeType: TradeType.REFUND, dto: dto };\r\n console.log('退储值刷卡参数:', JSON.stringify(params));\r\n let ret = await new Promise((resolve, reject) => {\r\n nativeMs.setIpcRendererMethod('ThirdPayment', { ...params }, res => {\r\n return resolve(res);\r\n })\r\n })\r\n console.log('退储值刷卡返回:', ret);\r\n ret = JSON.parse(ret);\r\n const { Code, Message } = ret || {};\r\n if (Code > 0) {\r\n return { type: false, msg: Message, code: Code };\r\n } else {\r\n return { type: true, msg: Message, code: Code };\r\n }\r\n }\r\n return { type: true};\r\n }\r\n catch (ex) {\r\n return { type: false,msg: ex, code: '9999' }\r\n }\r\n }\r\n\r\n // 点击退储值确定或者退现金之后,请求数据 isCash, 是否是现金结算\r\n async submitRefundStorage(cardInfo = {}, storageAmount) {\r\n if (!cardInfo) return;\r\n const { memberStore, settlementMemberStore } = stores || {};\r\n const { data = {} } = memberStore;\r\n const { MeStorageCardId, StorageCardNo, ID, PresentAmount = 0, BalanceStorage = 0} = cardInfo\r\n const { getCardList, cardList = [], loadUserInfo} = this.props \r\n const { isCanRefund = false, canReturnAmount = 0, storageInfos = [] } = this.state.lastesStorageResult || {}\r\n const { data: { Member: dtMember = {} } = {} } = this.context.viewModel || {};\r\n const isSelectedMember = !!dtMember.ID;\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-(BalanceStorage - canReturnAmount))\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 let dynamic = item.thirdPaymentReturnInfo ? this.getThirdPaymentInfo(item, settlementMemberStore) : {};\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 ...dynamic\r\n }\r\n })\r\n }\r\n\r\n // 二开支付处理\r\n let ret = await this.thirdPayRefund(params);\r\n const { type, code } = ret || {};\r\n if (type === false) {\r\n Message.warn(`刷卡支付失败,错误码:${code}`);\r\n return;\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 if (!!isSelectedMember && dtMember.ID === ID) {\r\n loadUserInfo(ID)\r\n }\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)\r\n }\r\n })\r\n }\r\n // 点击退储值\r\n returnedStorage = async () => {\r\n let data = await this.justifyAuthority();\r\n if (data === false) {\r\n return;\r\n }\r\n const { cardList = [], selected = 0 } = this.props\r\n const { Id, MeStorageCardId, BalanceStorage = 0, PresentAmount = 0 } = cardList[selected] || {}\r\n\r\n // 获取最后一次储值信息\r\n const refundable = parseFloat(getFixedNumber(BalanceStorage - PresentAmount))\r\n const lastesStorageResult = await this.api.getLatestStorageAmount({cardId: MeStorageCardId, inputRefundAmount: refundable})\r\n this.setState({\r\n lastesStorageResult: lastesStorageResult.data || {}\r\n })\r\n\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 = async () => {\r\n let data = await this.justifyAuthority();\r\n if (data === false) {\r\n return;\r\n }\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, lastesStorageResult = {} } = 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 const { canReturnAmount, usedPresentAmount } = lastesStorageResult\r\n\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 === 'UNBINDING') {\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} getCardList={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'>{getFixedNumber(PresentAmount + usedPresentAmount)}</span>\r\n </li>\r\n <li className='refund-item'>\r\n <span className='title'>可退金额:</span>\r\n <span className='value special'>{ getFixedNumber(canReturnAmount) }</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}"]}
@@ -101,6 +101,9 @@ var StorageAmountChangedProcessorBlock = exports.StorageAmountChangedProcessorBl
101
101
  case "PRESENT_AMOUNT":
102
102
  presentAmount = (presentAmount * 100 + parseFloat(mtRight.rightValue) * 100) / 100;
103
103
  break;
104
+ case "PRESENT_AMOUNT_FOR_CALC":
105
+ presentAmount = (presentAmount * 100 + parseFloat(storageAmount) * 100) / 100;
106
+ break;
104
107
  case "INTEGRAL":
105
108
  integral = (integral * 100 + parseFloat(mtRight.rightValue) * 100) / 100;
106
109
  break;
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-member/viewDoMain/StorageAmountChangedProcessorBlock.js"],"names":["StorageAmountChangedProcessorBlock","storageAmount","posStorageRule","isPresentGiftpack","minStorageAmount","storageGiftpackMethodEnum","Message","warn","storageAmountList","storageAmountSpecList","forEach","push","element","presentSettingEnum","indexOf","giftBagList","storageGiftList","resultMap","getcanUseGiftBagList","canUseGiftBagList","filter","item","presentConditionTypeEnum","presentConditionValue","presentGiftBagList","sort","a","b","length","maxAmount","giftBag","presentAmount","couponQuantity","integral","growthValue","mtActivity","mtRightList","mtRight","getRightTypeEnum","mtRightCouponList","coupon","quantity","parseFloat","rightValue","rightsStr","amount","RightsStr","MtActivitys"],"mappings":"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","file":"StorageAmountChangedProcessorBlock.js","sourcesContent":["import { Message } from 'tplus-components-touch';\r\n\r\n/**\r\n * 储值金额改变时的处理逻辑\r\n */\r\n\r\nexport class StorageAmountChangedProcessorBlock {\r\n\r\n static execute(storageAmount,posStorageRule) {\r\n //是否赠送礼包\r\n let isPresentGiftpack=posStorageRule.isPresentGiftpack;\r\n //最低储值金额\r\n let minStorageAmount=posStorageRule.minStorageAmount;\r\n let storageGiftpackMethodEnum=posStorageRule.storageGiftpackMethodEnum;\r\n if(storageAmount !== '' && storageAmount<minStorageAmount){\r\n Message.warn('本次储值金额不能低于最低储值金额¥' + minStorageAmount);\r\n return 'noIsMinAmount';\r\n }\r\n if(!isPresentGiftpack){\r\n return;\r\n }\r\n let storageAmountList = [];\r\n posStorageRule.storageAmountSpecList.forEach(element =>{\r\n storageAmountList.push(element.storageAmount);\r\n })\r\n if(posStorageRule.presentSettingEnum=='FIXED_STORAGE' && storageAmount && storageAmountList.indexOf(storageAmount)==-1)\r\n {\r\n return;\r\n }\r\n\r\n let giftBagList=posStorageRule.storageGiftList;\r\n let resultMap = [];\r\n //储值金额为空返回所有面额及对应的礼包\r\n if(!storageAmount){\r\n posStorageRule.storageAmountSpecList.forEach(element =>{\r\n resultMap.push(this.getcanUseGiftBagList(element.storageAmount,giftBagList,storageGiftpackMethodEnum));\r\n })\r\n }\r\n //返回当前储值金额对应的礼包 \r\n else{\r\n resultMap.push(this.getcanUseGiftBagList(storageAmount,giftBagList,storageGiftpackMethodEnum));\r\n }\r\n return resultMap;\r\n }\r\n\r\n static getcanUseGiftBagList(storageAmount,giftBagList,storageGiftpackMethodEnum){\r\n let resultMap;\r\n let canUseGiftBagList=giftBagList.filter(item=>item.presentConditionTypeEnum==\"GWP_AS_ORDER\" \r\n && item.presentConditionValue<=storageAmount);\r\n let presentGiftBagList= [];\r\n if(storageGiftpackMethodEnum=='BY_MAX_ONLY'){\r\n canUseGiftBagList.sort((a, b) => {\r\n return b.presentConditionValue - a.presentConditionValue;\r\n })\r\n if(canUseGiftBagList.length && canUseGiftBagList[0]){\r\n let maxAmount=canUseGiftBagList[0].presentConditionValue;\r\n presentGiftBagList=canUseGiftBagList.filter(giftBag=>giftBag.presentConditionValue===maxAmount);\r\n }\r\n }else if(storageGiftpackMethodEnum=='BY_CUMULATIVE_PRESENT'){\r\n presentGiftBagList=canUseGiftBagList;\r\n }\r\n let presentAmount=0,couponQuantity=0,integral=0,growthValue=0;\r\n presentGiftBagList.length && presentGiftBagList.forEach(mtActivity => {\r\n mtActivity && mtActivity.mtRightList && mtActivity.mtRightList.forEach(mtRight => {\r\n switch(mtRight.getRightTypeEnum){\r\n case\"COUPON\":\r\n mtRight.mtRightCouponList.forEach(coupon =>{\r\n couponQuantity=couponQuantity+coupon.quantity;\r\n });\r\n break;\r\n case\"PRESENT_AMOUNT\":\r\n presentAmount=(presentAmount*100+parseFloat(mtRight.rightValue)*100)/100;\r\n break;\r\n case\"INTEGRAL\":\r\n integral=(integral*100+parseFloat(mtRight.rightValue)*100)/100;\r\n break;\r\n case\"GROWTH_VALUE\":\r\n growthValue=(growthValue*100+parseFloat(mtRight.rightValue)*100)/100;\r\n break;\r\n }\r\n });\r\n });\r\n let rightsStr='';\r\n if(parseFloat(presentAmount)>0){\r\n rightsStr=rightsStr+presentAmount+\"元赠送金;\";\r\n }\r\n if(parseFloat(couponQuantity)>0){\r\n rightsStr=rightsStr+couponQuantity+\"张优惠券;\";\r\n }\r\n if(parseFloat(integral)>0){\r\n rightsStr=rightsStr+integral+\"积分;\";\r\n }\r\n if(parseFloat(growthValue)>0){\r\n rightsStr=rightsStr+growthValue+\"成长值;\";\r\n }\r\n resultMap = {\r\n presentAmount,\r\n amount: storageAmount,\r\n RightsStr: rightsStr,\r\n MtActivitys: presentGiftBagList\r\n }\r\n return resultMap;\r\n }\r\n }"]}
1
+ {"version":3,"sources":["tplus-member/viewDoMain/StorageAmountChangedProcessorBlock.js"],"names":["StorageAmountChangedProcessorBlock","storageAmount","posStorageRule","isPresentGiftpack","minStorageAmount","storageGiftpackMethodEnum","Message","warn","storageAmountList","storageAmountSpecList","forEach","push","element","presentSettingEnum","indexOf","giftBagList","storageGiftList","resultMap","getcanUseGiftBagList","canUseGiftBagList","filter","item","presentConditionTypeEnum","presentConditionValue","presentGiftBagList","sort","a","b","length","maxAmount","giftBag","presentAmount","couponQuantity","integral","growthValue","mtActivity","mtRightList","mtRight","getRightTypeEnum","mtRightCouponList","coupon","quantity","parseFloat","rightValue","rightsStr","amount","RightsStr","MtActivitys"],"mappings":"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","file":"StorageAmountChangedProcessorBlock.js","sourcesContent":["import { Message } from 'tplus-components-touch';\r\n\r\n/**\r\n * 储值金额改变时的处理逻辑\r\n */\r\n\r\nexport class StorageAmountChangedProcessorBlock {\r\n\r\n static execute(storageAmount,posStorageRule) {\r\n //是否赠送礼包\r\n let isPresentGiftpack=posStorageRule.isPresentGiftpack;\r\n //最低储值金额\r\n let minStorageAmount=posStorageRule.minStorageAmount;\r\n let storageGiftpackMethodEnum=posStorageRule.storageGiftpackMethodEnum;\r\n if(storageAmount !== '' && storageAmount<minStorageAmount){\r\n Message.warn('本次储值金额不能低于最低储值金额¥' + minStorageAmount);\r\n return 'noIsMinAmount';\r\n }\r\n if(!isPresentGiftpack){\r\n return;\r\n }\r\n let storageAmountList = [];\r\n posStorageRule.storageAmountSpecList.forEach(element =>{\r\n storageAmountList.push(element.storageAmount);\r\n })\r\n if(posStorageRule.presentSettingEnum=='FIXED_STORAGE' && storageAmount && storageAmountList.indexOf(storageAmount)==-1)\r\n {\r\n return;\r\n }\r\n\r\n let giftBagList=posStorageRule.storageGiftList;\r\n let resultMap = [];\r\n //储值金额为空返回所有面额及对应的礼包\r\n if(!storageAmount){\r\n posStorageRule.storageAmountSpecList.forEach(element =>{\r\n resultMap.push(this.getcanUseGiftBagList(element.storageAmount,giftBagList,storageGiftpackMethodEnum));\r\n })\r\n }\r\n //返回当前储值金额对应的礼包 \r\n else{\r\n resultMap.push(this.getcanUseGiftBagList(storageAmount,giftBagList,storageGiftpackMethodEnum));\r\n }\r\n return resultMap;\r\n }\r\n\r\n static getcanUseGiftBagList(storageAmount,giftBagList,storageGiftpackMethodEnum){\r\n let resultMap;\r\n let canUseGiftBagList=giftBagList.filter(item=>item.presentConditionTypeEnum==\"GWP_AS_ORDER\" \r\n && item.presentConditionValue<=storageAmount);\r\n let presentGiftBagList= [];\r\n if(storageGiftpackMethodEnum=='BY_MAX_ONLY'){\r\n canUseGiftBagList.sort((a, b) => {\r\n return b.presentConditionValue - a.presentConditionValue;\r\n })\r\n if(canUseGiftBagList.length && canUseGiftBagList[0]){\r\n let maxAmount=canUseGiftBagList[0].presentConditionValue;\r\n presentGiftBagList=canUseGiftBagList.filter(giftBag=>giftBag.presentConditionValue===maxAmount);\r\n }\r\n }else if(storageGiftpackMethodEnum=='BY_CUMULATIVE_PRESENT'){\r\n presentGiftBagList=canUseGiftBagList;\r\n }\r\n let presentAmount=0,couponQuantity=0,integral=0,growthValue=0;\r\n presentGiftBagList.length && presentGiftBagList.forEach(mtActivity => {\r\n mtActivity && mtActivity.mtRightList && mtActivity.mtRightList.forEach(mtRight => {\r\n switch(mtRight.getRightTypeEnum){\r\n case\"COUPON\":\r\n mtRight.mtRightCouponList.forEach(coupon =>{\r\n couponQuantity=couponQuantity+coupon.quantity;\r\n });\r\n break;\r\n case\"PRESENT_AMOUNT\":\r\n presentAmount=(presentAmount*100+parseFloat(mtRight.rightValue)*100)/100;\r\n break;\r\n case\"PRESENT_AMOUNT_FOR_CALC\":\r\n presentAmount=(presentAmount*100+parseFloat(storageAmount)*100)/100;\r\n break;\r\n case\"INTEGRAL\":\r\n integral=(integral*100+parseFloat(mtRight.rightValue)*100)/100;\r\n break;\r\n case\"GROWTH_VALUE\":\r\n growthValue=(growthValue*100+parseFloat(mtRight.rightValue)*100)/100;\r\n break;\r\n }\r\n });\r\n });\r\n let rightsStr='';\r\n if(parseFloat(presentAmount)>0){\r\n rightsStr=rightsStr+presentAmount+\"元赠送金;\";\r\n }\r\n if(parseFloat(couponQuantity)>0){\r\n rightsStr=rightsStr+couponQuantity+\"张优惠券;\";\r\n }\r\n if(parseFloat(integral)>0){\r\n rightsStr=rightsStr+integral+\"积分;\";\r\n }\r\n if(parseFloat(growthValue)>0){\r\n rightsStr=rightsStr+growthValue+\"成长值;\";\r\n }\r\n resultMap = {\r\n presentAmount,\r\n amount: storageAmount,\r\n RightsStr: rightsStr,\r\n MtActivitys: presentGiftBagList\r\n }\r\n return resultMap;\r\n }\r\n }"]}
package/package.json CHANGED
@@ -1,28 +1,29 @@
1
- {
2
- "name": "tplus-member",
3
- "version": "3.39.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": "~5.0.1",
20
- "tplus-components": "~3.39.1",
21
- "tplus-components-touch": "~3.39.1",
22
- "tplus-poslogin": "~3.39.1",
23
- "tplus-setting-touch": "~3.39.1"
24
- },
25
- "dependencies": {
26
- "antd": "4.10.3"
27
- }
28
- }
1
+ {
2
+ "name": "tplus-member",
3
+ "version": "3.41.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": "~5.0.1",
20
+ "tplus-components": "~3.41.1",
21
+ "tplus-components-touch": "~3.41.1",
22
+ "tplus-portaltouch": "~3.41.1",
23
+ "tplus-poslogin": "~3.41.1",
24
+ "tplus-setting-touch": "~3.41.1"
25
+ },
26
+ "dependencies": {
27
+ "antd": "4.10.3"
28
+ }
29
+ }