tplus-components-touch 3.54.1 → 3.54.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/dist/components/cloudPrint/printTemplate/template.js +52 -0
  2. package/dist/components/cloudPrint/printTemplate/template.js.map +1 -0
  3. package/dist/components/collection/index.js +483 -0
  4. package/dist/components/collection/index.js.map +1 -0
  5. package/dist/components/collection/searchView/index.js +296 -0
  6. package/dist/components/collection/searchView/index.js.map +1 -0
  7. package/dist/components/collection/searchView/index.less +1 -1
  8. package/dist/components/commonForm/addressPicker/index.js +241 -0
  9. package/dist/components/commonForm/addressPicker/index.js.map +1 -0
  10. package/dist/components/commonForm/autoComplete/index.js +260 -0
  11. package/dist/components/commonForm/autoComplete/index.js.map +1 -0
  12. package/dist/components/commonForm/datePicker/index.js +92 -0
  13. package/dist/components/commonForm/datePicker/index.js.map +1 -0
  14. package/dist/components/commonForm/formControl/index.js +144 -0
  15. package/dist/components/commonForm/formControl/index.js.map +1 -0
  16. package/dist/components/commonForm/index.js +231 -0
  17. package/dist/components/commonForm/index.js.map +1 -0
  18. package/dist/components/commonForm/inputNumber/index.js +272 -0
  19. package/dist/components/commonForm/inputNumber/index.js.map +1 -0
  20. package/dist/components/commonForm/radio/index.js +132 -0
  21. package/dist/components/commonForm/radio/index.js.map +1 -0
  22. package/dist/components/deliverySearch/api.js +355 -0
  23. package/dist/components/deliverySearch/api.js.map +1 -0
  24. package/dist/components/deliverySearch/index.js +1222 -0
  25. package/dist/components/deliverySearch/index.js.map +1 -0
  26. package/dist/components/form/index.js +310 -0
  27. package/dist/components/form/index.js.map +1 -0
  28. package/dist/components/hardwareAPI/index.js +215 -0
  29. package/dist/components/hardwareAPI/index.js.map +1 -0
  30. package/dist/components/hotKey/config.js +306 -0
  31. package/dist/components/hotKey/config.js.map +1 -0
  32. package/dist/components/hotKey/hotKeyModal.js +479 -0
  33. package/dist/components/hotKey/hotKeyModal.js.map +1 -0
  34. package/dist/components/hotKey/index.js +790 -0
  35. package/dist/components/hotKey/index.js.map +1 -0
  36. package/dist/components/hotKey/localConfig.js +1242 -0
  37. package/dist/components/hotKey/localConfig.js.map +1 -0
  38. package/dist/components/hotKey/utils.js +135 -0
  39. package/dist/components/hotKey/utils.js.map +1 -0
  40. package/dist/components/input/index.js +254 -0
  41. package/dist/components/input/index.js.map +1 -0
  42. package/dist/components/input/scanInput.js +98 -0
  43. package/dist/components/input/scanInput.js.map +1 -0
  44. package/dist/components/input/tplusInput/index.js +81 -0
  45. package/dist/components/input/tplusInput/index.js.map +1 -0
  46. package/dist/components/input/tplusInput/inputContent.js +128 -0
  47. package/dist/components/input/tplusInput/inputContent.js.map +1 -0
  48. package/dist/components/input/tplusInput/inputs.js +151 -0
  49. package/dist/components/input/tplusInput/inputs.js.map +1 -0
  50. package/dist/components/input/utils/index.js +26 -0
  51. package/dist/components/input/utils/index.js.map +1 -0
  52. package/dist/components/inventorySearch/api.js +214 -0
  53. package/dist/components/inventorySearch/api.js.map +1 -0
  54. package/dist/components/inventorySearch/index.js +303 -0
  55. package/dist/components/inventorySearch/index.js.map +1 -0
  56. package/dist/components/inventorySearch/store.js +363 -0
  57. package/dist/components/inventorySearch/store.js.map +1 -0
  58. package/dist/components/inventorySearch/tab.js +280 -0
  59. package/dist/components/inventorySearch/tab.js.map +1 -0
  60. package/dist/components/keyboard/index.js +259 -0
  61. package/dist/components/keyboard/index.js.map +1 -0
  62. package/dist/components/keyboard/letterKeyboard.js +227 -0
  63. package/dist/components/keyboard/letterKeyboard.js.map +1 -0
  64. package/dist/components/keyboard/numKeyboard.js +469 -0
  65. package/dist/components/keyboard/numKeyboard.js.map +1 -0
  66. package/dist/components/keyboard/numKeyboardScan.js +208 -0
  67. package/dist/components/keyboard/numKeyboardScan.js.map +1 -0
  68. package/dist/components/keyboard/numberButton_input.js +305 -0
  69. package/dist/components/keyboard/numberButton_input.js.map +1 -0
  70. package/dist/components/keyboard/numkeyboardPassword.js +477 -0
  71. package/dist/components/keyboard/numkeyboardPassword.js.map +1 -0
  72. package/dist/components/keyboard/onlyKeyboard.js +90 -0
  73. package/dist/components/keyboard/onlyKeyboard.js.map +1 -0
  74. package/dist/components/keyboard/onlyLetterButton.js +187 -0
  75. package/dist/components/keyboard/onlyLetterButton.js.map +1 -0
  76. package/dist/components/keyboard/onlyLetterButton2.js +235 -0
  77. package/dist/components/keyboard/onlyLetterButton2.js.map +1 -0
  78. package/dist/components/keyboard/onlyNumberButton.js +128 -0
  79. package/dist/components/keyboard/onlyNumberButton.js.map +1 -0
  80. package/dist/components/keyboard/onlyNumberButton2.js +115 -0
  81. package/dist/components/keyboard/onlyNumberButton2.js.map +1 -0
  82. package/dist/components/keyboard/textKeyboard.js +50 -0
  83. package/dist/components/keyboard/textKeyboard.js.map +1 -0
  84. package/dist/components/layout/hamburger.js +29 -0
  85. package/dist/components/layout/hamburger.js.map +1 -0
  86. package/dist/components/layout/index.js +31 -0
  87. package/dist/components/layout/index.js.map +1 -0
  88. package/dist/components/layout/layout.js +182 -0
  89. package/dist/components/layout/layout.js.map +1 -0
  90. package/dist/components/layout/sider.js +167 -0
  91. package/dist/components/layout/sider.js.map +1 -0
  92. package/dist/components/loading/index.js +198 -0
  93. package/dist/components/loading/index.js.map +1 -0
  94. package/dist/components/loading/loadingContent.js +188 -0
  95. package/dist/components/loading/loadingContent.js.map +1 -0
  96. package/dist/components/loading/utils.js +29 -0
  97. package/dist/components/loading/utils.js.map +1 -0
  98. package/dist/components/message/index.js +309 -0
  99. package/dist/components/message/index.js.map +1 -0
  100. package/dist/components/modal/index.js +93 -0
  101. package/dist/components/modal/index.js.map +1 -0
  102. package/dist/components/modalVertical/index.js +325 -0
  103. package/dist/components/modalVertical/index.js.map +1 -0
  104. package/dist/components/modalWraper/index.js +485 -0
  105. package/dist/components/modalWraper/index.js.map +1 -0
  106. package/dist/components/modalWraper/utils.js +48 -0
  107. package/dist/components/modalWraper/utils.js.map +1 -0
  108. package/dist/components/notification/index.js +118 -0
  109. package/dist/components/notification/index.js.map +1 -0
  110. package/dist/components/overflowTip/index.js +269 -0
  111. package/dist/components/overflowTip/index.js.map +1 -0
  112. package/dist/components/page/index.js +49 -0
  113. package/dist/components/page/index.js.map +1 -0
  114. package/dist/components/password/ModifyPass.js +426 -0
  115. package/dist/components/password/ModifyPass.js.map +1 -0
  116. package/dist/components/password/api.js +100 -0
  117. package/dist/components/password/api.js.map +1 -0
  118. package/dist/components/password/confirmPwd.js +212 -0
  119. package/dist/components/password/confirmPwd.js.map +1 -0
  120. package/dist/components/password/store.js +282 -0
  121. package/dist/components/password/store.js.map +1 -0
  122. package/dist/components/presale/pickup.js +479 -0
  123. package/dist/components/presale/pickup.js.map +1 -0
  124. package/dist/components/product/detail.js +148 -0
  125. package/dist/components/product/detail.js.map +1 -0
  126. package/dist/components/product/getCard.js +145 -0
  127. package/dist/components/product/getCard.js.map +1 -0
  128. package/dist/components/progressState/EmptyAndErrorView.js +142 -0
  129. package/dist/components/progressState/EmptyAndErrorView.js.map +1 -0
  130. package/dist/components/progressState/ProgressState.js +158 -0
  131. package/dist/components/progressState/ProgressState.js.map +1 -0
  132. package/dist/components/progressState/index.js +14 -0
  133. package/dist/components/progressState/index.js.map +1 -0
  134. package/dist/components/scan/index.js +219 -0
  135. package/dist/components/scan/index.js.map +1 -0
  136. package/dist/components/select/index.js +28 -0
  137. package/dist/components/select/index.js.map +1 -0
  138. package/dist/components/settlement/asyncModal.js +207 -0
  139. package/dist/components/settlement/asyncModal.js.map +1 -0
  140. package/dist/components/settlement/index.js +25 -0
  141. package/dist/components/settlement/index.js.map +1 -0
  142. package/dist/components/settlement/moreCzkTable/index.js +156 -0
  143. package/dist/components/settlement/moreCzkTable/index.js.map +1 -0
  144. package/dist/components/settlement/prototypeTable/index.js +353 -0
  145. package/dist/components/settlement/prototypeTable/index.js.map +1 -0
  146. package/dist/components/settlement/prototypeTable/utils.js +14 -0
  147. package/dist/components/settlement/prototypeTable/utils.js.map +1 -0
  148. package/dist/components/settlement/settlement.js +5377 -0
  149. package/dist/components/settlement/settlement.js.map +1 -0
  150. package/dist/components/settlement/settlement.less +17 -0
  151. package/dist/components/settlement/settlementApi.js +512 -0
  152. package/dist/components/settlement/settlementApi.js.map +1 -0
  153. package/dist/components/settlement/settlementStore.js +3005 -0
  154. package/dist/components/settlement/settlementStore.js.map +1 -0
  155. package/dist/components/settlement/utils.js +249 -0
  156. package/dist/components/settlement/utils.js.map +1 -0
  157. package/dist/components/socket/index.js +221 -0
  158. package/dist/components/socket/index.js.map +1 -0
  159. package/dist/components/spin/index.js +95 -0
  160. package/dist/components/spin/index.js.map +1 -0
  161. package/dist/components/test/index.js +330 -0
  162. package/dist/components/test/index.js.map +1 -0
  163. package/dist/components/ticon/iconfont/iconfont.js +36 -0
  164. package/dist/components/ticon/iconfont/iconfont.js.map +1 -0
  165. package/dist/components/ticon/index.js +60 -0
  166. package/dist/components/ticon/index.js.map +1 -0
  167. package/dist/components/touchScroll/index.js +186 -0
  168. package/dist/components/touchScroll/index.js.map +1 -0
  169. package/dist/components/touchTable/AuthProcess.js +42 -0
  170. package/dist/components/touchTable/AuthProcess.js.map +1 -0
  171. package/dist/components/touchTable/generateWater.js +59 -0
  172. package/dist/components/touchTable/generateWater.js.map +1 -0
  173. package/dist/components/touchTable/index.js +1146 -0
  174. package/dist/components/touchTable/index.js.map +1 -0
  175. package/dist/components/touchTable/utils.js +27 -0
  176. package/dist/components/touchTable/utils.js.map +1 -0
  177. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tplus-components-touch/components/settlement/settlementStore.js"],"names":["t","i18n","getFixedT","SettlementStore","paymode","PayMode","params","localStore","get","cloudPrintArguments","setNewStyle","SettlementApi","event","type","isIntegralExchange","setPaymodes","updateEvent","context","amounthandler","datasource","storeinfo","bquick","amount","data","payModeKey","creditSalesVoucher","saleTotalTaxAmount","custVendorId","brefund","setAmount","dto","viewModel","amountHandler","dataSource","storeInfo","global","DealSingleRowAmountSettingProcessorBlock","execute","enumController","getEnumOj","PayStyle","isQuickCash","xianjin","DealAmountSettingProcessorBlock","member","Member","isNotFullBook","isNotFullOnlyBook","value","TotalTaxAmount","getLoginInfo","PreSellOrBook","PercentageWhenBook","IdbusiType","DistributionMode","Id","bookMaxValue","PrepaidAmount","BuyerPayFreight","stores","drawerStore","thisWaitPaidAmount","totalWaitPaidAmount","ArrearsAmount","returnAmount","Math","abs","CreditUsageAmount","OnlinePaymentAmount","clean","boriginReturn","JSON","getCellValue","initByOriginReturn","newStyle","setModes","paymodes","p","thePaymodes","mode","paymentType","addPay","length","changeValue","paymethodId","platform","isNewRetailBCPos","console","log","checkList","RetailPaymentDetails","detail","themode","IdsettleStyle","SettleStyle","Code","hyczk","ModalWraper","info","title","content","okText","okType","newmode","genNewMode","Amount","authCode","PaymentCode","steadCashIntegral","SteadCashIntegral","overchargesAmount","OverchargesAmount","thirdPaymentReturnInfo","ThirdPaymentReturnInfo","currentMode","djq","RetailCouponDetails","displayText","promoRuleId","dateMount","promoMethodEnum","discountPct","promoId","id","addDjq","CouponCode","CouponTitle","ReductionAmount","EnableAmount","LastTS","Idmember","push","RetailStorageDetails","balanceAmount","storageCardNo","meStorageCardId","DynamicPropertyKeys","forEach","ele","index","DynamicPropertyValues","BalanceStorage","StoragePaymentAmount","StorageCardNo","MeStorageCardId","Password","balance","calcReserved","key","bookType","currentFocus","jfdx","m","splice","addPayDirectly","CalculdateIntegralSteadCash","IntegralSteadCashParams","memberId","BalanceTaxAmount","then","result","integralCashOverOrderAmount","isIntegralCashOverOrderAmount","user","options","v","returnType","errinfo","isOnlyEnabled","getCardInfoByCardNo","CardTypeEnum","updateCardInfo","handleCzkData","validateRetailStorageCard","result1","data1","parse","enable","Message","warn","disableReason","promoCouponCode","name","IsEnable","nominalAmount","doorsill","checked","IsRepelWithPoints","UMemberID","expired","couponCategoryEnum","unCheck","count","code","djqs","calcDjqValue","append","afterSetCurrentMode","parseFloat","Minus","setExchangable","MaxAmount","perIntegral","cashAmount","checkReceived","maxamount","notwithm","isQuick","receivable","max","ID","counter","exchangeRate","calDirection","thridPayment","value2","value3","order","card","virtualPay","setMaxAmount","sum","q","Add","getViewItem","availableAmount","shouldSetValue","blur","isNaN","pay","pos","undefined","StorageMutiSettleDetails","giveChange","StorageAmount","GiveChange","idSettleStyle","IdbankAccount","idBankAccount","DataSource","findStorageBillValidate","bTest","resolve","status","paylist","filter","ret","returnMsg","repeatStorageModal","state","saveMember","ret1","saveCreditSales","offlineSys","generatorCode","save","ret2","retailSequenceUpload","error","thirdPayRefund","TradeType","IPMSG","window","localStorage","retailPaymentDetails","idCurrency","UserCode","UserId","UserName","VoucherDate","IdShiftVoucher","Shift","ShiftCode","Idstore","POSCode","WipeChange","query","longitude","latitude","payList","ThirdPaymentInfo","payment","tradeType","PAY","REFUND","thirdPay","resp","DoNameList","DO_STORAGE_PRINT","dtoParams","msg","INewRetailMemberStorageSave","handlePrint","czkSum","IsOrigReturn","OrigAmount","Idcurrency","ExchangeRate","Name","IdMember","PromotionId","PromotionRuleId","PromoCouponAllocatedId","RetailTypeEnum","prepaidAmount","reduce","c","item","fullPayment","RetailDetails","TaxAmount","isFull","checkIntegralExchangeReturn","ReturnSourceId","cut","RetailOms","retailPosSettle","cip","setDtoID","billID","vType","trade","cto","removeThirdPayDto","VoucherType","Payment","reject","nativeMs","setIpcRendererMethod","res","Result","setTimeout","duration","QuerySettleResult","RetailCode","Flag","val","exp","Date","setTime","endOf","valueOf","document","cookie","toGMTString","cookies","split","cookieObj","cook1","getAllCookies","cook2","message","memberStorageId","hasOwnProperty","cardTypeEnum","cardStatusEnum","checkPaymentPasswordParams","checkPaymentPasswordId","md5Password","User","pwdEncrypt","pwd","cardType","password","checkPaymentPassword","setCookie","CheckoutMemberPassword","Success","total","cur","String","isNullOrEmpty","nextInput","querySelector","select","getCouponList","Differentiate","couponApplyRule","CouponApplyRule","SHOWN_BY_CUSTOMER","coupon_code","promoVoucher","clearDjqs","reCalculationDjqs","boName","voucherId","onlinePaymentAmount","promoLinks","totalAmountWithTax","redBlueFlagEnum","meMemberId","storeFactorId","voucherDetailList","detailDTO","uuid","detailBoName","voucherDetailId","productId","Idinventory","uomId","Idunit","productSpecId","ProductSpecId","isManualFreeGift","IsPresent","isListPriceIncludingTax","TaxFlag","IsManualChangePrice","bookingQuantity","BookingQuantity","listPrice","netAmountWithTax","Multiply","Quantity","taxRate","TaxRate","quantity","amountWithTax","RetailAmount","PromotionDetails","promotion","IdSalesPromotionDTO","findUsefulCouponPromoList","element","couponCode","tieredAmountResult","fromDate","condValue","promoDiscount","COUPON","SN","calcDjqCheckValue","getSettleGift","executeRightsForPos","getRefWareHouseList","checkCoupon","sn","request","Uid","uid","StoreCode","Inventories","d","IdInventory","Inventory","IdUnit","FreeItem0","FreeItem1","FreeItem2","FreeItem3","FreeItem4","FreeItem5","FreeItem6","FreeItem7","FreeItem8","FreeItem9","InventoryClassCodes","InventoryClass","CheckCoupon","Title","ReduceAmount","StartAmount","confirm","className","zIndex","onOk","onCancel","GetNewIntegralExchange","param","refVoucherId","expireIntegral","cancelable","observable","action","voucherDefaultPosMode","newPass","newPassConfirm","idstore","setWalletPayPassword","oldPassword","newPassword","successful","_this","IdStore","GetUmemberDTO","updateMemberStorageCardNo","WalletEnabled","getCardInfoByMemberId","ctMode","cardNo","_counter","onlineamount","settle","hotKey","a","o","received","walletEnabled","CardStatusEnum","isNeedPassword","IsNeedPassword","rawbalance","freePaymentPasswordStore","FreePaymentPasswordStore","q1","useLimitPerOrder","qList","i","min","djq1","addDjqs","setCouponNum","ceil","v1","floor","isHorizontalPad","isHorizontalSunMi","isMobileEnvironment","modes","voucherStore","getPaymodes","settleLists","SettleStyles","isDefault","IsDefaultSettleStyle","QuickSettleStyles","orderBy","offlineDisable","IdSettleStyle","IdBankAccount","Currency","CalDirection","VirtualPay","couponNum","MemberType","CardCode","needPwd","IsNeedPwd","NeedModifyPassword","bonusPoints","BalanceIntegral","exchangable"],"mappings":"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","file":"settlementStore.js","sourcesContent":["import { observable, computed, action, autorun, runInAction } from 'mobx'\nimport { stores, i18n, localStore, nativeMs } from 'mutants-microfx';\nimport _find from 'lodash/find';\nimport _remove from 'lodash/remove';\nimport _each from 'lodash/each';\nimport _map from 'lodash/map';\nimport _join from 'lodash/join';\nimport _trim from 'lodash/trim';\nimport _filter from 'lodash/filter';\nimport _findIndex from 'lodash/findIndex';\nimport _findLastIndex from 'lodash/findLastIndex';\nimport _findKey from 'lodash/findKey';\nimport { PosInitData } from 'tplus-poslogin';\nimport { getFixedNumber, stopPropagation } from './utils'\nimport {ccApi,tApi, User} from 'tplus-api';\nimport _clonedeep from 'lodash/cloneDeep';\nimport Message from '../message';\nimport { platform,enumController } from 'mutants-util';\nimport { printDispatch,DoNameList,ModalWraper } from 'tplus-components-touch'\nimport moment from \"moment\";\nimport _reduce from 'lodash/reduce';\nimport { Card } from 'antd';\nimport SettlementApi from './settlementApi';\n\nconst t = i18n.getFixedT(null, 'newretail');\n\nexport default class SettlementStore {\n paymode = null\n dto=null\n dtoParams = null\n member=null\n brefund=false\n context\n bquick=false;\n amountHandler\n dataSource\n storeInfo\n updateEvent\n type //type 1:储值;2:赊销; 不传或0是普通开单\n boriginReturn=false\n @observable newStyle=true //type==2\n billID\n isFull = true; // 预售都是全款;预订是否全款,在点击确认支付时计算订金和商品金额计算得出\n creditSalesVoucher = []; // 赊销-欠款单据\n saleTotalTaxAmount = 0; //赊销-销售合计\n custVendorId //赊销-客户id\n constructor(){\n this.paymode= new PayMode()\n let params = localStore && localStore.get('cloudPrintArguments');\n if (params) this.cloudPrintArguments = params;\n this.setNewStyle();\n this.SettlementApi = SettlementApi\n }\n\n @action\n setNewStyle = () => {\n const voucherDefaultPosMode = localStore && localStore.get('voucherDefaultPosMode') || 'touch'\n this.newStyle = voucherDefaultPosMode=='voucher';\n }\n\n initPaymodes(event,type,isIntegralExchange){\n this.isIntegralExchange = isIntegralExchange;\n this.paymode.setPaymodes(type,isIntegralExchange);\n this.updateEvent=event;\n }\n\n init({context,amounthandler,datasource,storeinfo,bquick,amount,type,data,payModeKey, creditSalesVoucher, saleTotalTaxAmount, custVendorId}){\n this.setNewStyle();\n this.type=type;\n //type 1:储值;2:赊销\n if(type == 1){\n this.brefund=this.paymode.setAmount( amount ,0 );\n this.dto=data;\n } else if(type == 2){\n this.brefund=this.paymode.setAmount( amount ,0 );\n this.dto=context.viewModel.data;\n this.creditSalesVoucher = creditSalesVoucher;\n this.saleTotalTaxAmount = saleTotalTaxAmount;\n this.custVendorId = custVendorId;\n } else {\n this.context=context;\n this.amountHandler=amounthandler;\n this.dataSource=datasource;\n this.storeInfo=storeinfo;\n this.dto=context.viewModel.data;\n runInAction(()=>{\n // 单品金额抹零\n if (global.DealSingleRowAmountSettingProcessorBlock) {\n global.DealSingleRowAmountSettingProcessorBlock.execute(this.dto);\n }\n const { PayStyle } = enumController.getEnumOj();\n const isQuickCash = bquick && payModeKey == PayStyle.xianjin;\n\n // 成交金额抹零\n if (global.DealAmountSettingProcessorBlock) {\n global.DealAmountSettingProcessorBlock.execute(this.dto,isQuickCash);\n }\n });\n // this.member=context.stores && context.stores.memberStore && context.stores.memberStore.member;\n this.member=this.dto.Member;//stores.selectMemberStore.selectMemberInfo;\n\n this.paymode.isNotFullBook = false;\n this.paymode.isNotFullOnlyBook = false;\n //预订按比例收取订金处理\n let value = this.dto.TotalTaxAmount;\n const { PreSellOrBook, PercentageWhenBook } = this.getLoginInfo();\n const { IdbusiType, DistributionMode } = this.dto || {};\n if(IdbusiType == 38 && PreSellOrBook == 'BOOK' && PercentageWhenBook < 100 && (!DistributionMode.Id || DistributionMode.Id == 'ON_SITE_PICKUP')){\n this.paymode.bookMaxValue = value;\n this.paymode.isNotFullBook = true;\n this.paymode.isNotFullOnlyBook = true;\n value = value * PercentageWhenBook / 100;\n }\n if (IdbusiType == 38 && PreSellOrBook == 'BOOK'){\n runInAction(()=>{\n this.dto.PrepaidAmount = value;\n });\n }\n //预订计算快递或同城配送运费\n if (IdbusiType == 38 && PreSellOrBook != 'DISABLED' && (DistributionMode.Id == 'ELECTRONIC' || DistributionMode.Id == 'CITY_DISTRIBUTE')){\n value += this.dto.BuyerPayFreight || 0;\n }\n //预订取货应补款金额\n if (IdbusiType == 39){\n value = stores.drawerStore.thisWaitPaidAmount;\n if(stores.drawerStore.totalWaitPaidAmount > 0){\n this.paymode.isNotFullBook = true;\n this.paymode.bookMaxValue = stores.drawerStore.totalWaitPaidAmount;\n }\n }\n if (IdbusiType === 42) {\n const { TotalTaxAmount, ArrearsAmount } = this.dto;\n let returnAmount = Math.abs(TotalTaxAmount) - ArrearsAmount;\n value = amount;\n runInAction(() => {\n this.dto.CreditUsageAmount = getFixedNumber((returnAmount >0 ? -(Math.abs(TotalTaxAmount)-returnAmount) : TotalTaxAmount), 2);\n })\n }\n\n this.brefund=this.paymode.setAmount( value ,this.dto.OnlinePaymentAmount );\n }\n this.paymode.clean();\n\n //this.dto.TotalTaxAmount<0;\n this.bquick=!!bquick;\n this.boriginReturn=JSON.getCellValue(this.dto, \"IsOriginalReturn\");\n if(this.boriginReturn){\n this.initByOriginReturn();\n }\n if(this.newStyle){\n this.setModes();\n }\n }\n\n setModes(){\n _each(this.paymode.paymodes,(p)=>{\n if(_findIndex(this.paymode.thePaymodes,(mode)=>{return p.paymentType==mode.paymentType})==-1){\n this.addPay(p.paymentType);\n }\n });\n if(!this.boriginReturn && this.paymode.thePaymodes.length>0){\n this.changeValue(this.paymode.thePaymodes[0].paymethodId,0,true);\n }\n }\n\n amountChanged(amount){\n if(this.type==1){\n this.brefund=this.paymode.setAmount( amount ,0 );\n }\n\n }\n\n @action queryPwd = (newPass, newPassConfirm) => {\n if (!newPass || !newPassConfirm) {\n return Message.warn('您还有未填写项');\n }\n if (newPass !== newPassConfirm) {\n return Message.warn('您两次输入的密码不一致');\n }\n let idstore = PosInitData('storeID');\n return this.SettlementApi.setWalletPayPassword({\n Idstore: idstore,\n meMemberId: this.paymode.currentMode.memberId,\n oldPassword: null,\n newPassword: User.pwdEncrypt(newPassConfirm),\n dataSource:\"POS\"\n }).then((resp) => {\n if (resp.successful) {\n return true;\n }\n });\n }\n\n @action\n initByOriginReturn(){\n const { PayStyle } = enumController.getEnumOj();\n const { isNewRetailBCPos } = platform || {};\n console.log(this.dto, 'dto==========');\n this.paymode.checkList = [];\n _each(this.dto.RetailPaymentDetails,(detail)=>{\n let themode=_find(this.paymode.paymodes,{'idSettleStyle':detail.IdsettleStyle});\n if (detail.SettleStyle.Code === PayStyle.hyczk && !themode) {\n ModalWraper.info({\n title: '温馨提示',\n content: '没有储值结算方式,请在后台添加储值余额结算方式。',\n okText:'确定',\n okType:'primary'\n });\n }\n if(themode && themode.paymentType && themode.paymentType!=PayStyle.hyczk){\n let newmode={\n ...this.genNewMode(themode.paymentType,false,detail.Amount),\n authCode:detail.PaymentCode,\n steadCashIntegral:detail.SteadCashIntegral,\n overchargesAmount:detail.OverchargesAmount,\n boriginReturn:true,\n thirdPaymentReturnInfo: detail.ThirdPaymentReturnInfo\n };\n this.paymode.currentMode=newmode;\n if(themode.paymentType==PayStyle.djq){\n _each(this.dto.RetailCouponDetails,(djq)=>{\n if (isNewRetailBCPos) {\n const { displayText, promoRuleId, dateMount, promoMethodEnum, discountPct, promoId, id } = djq || {};\n this.addDjq(djq.CouponCode, djq.CouponTitle, true, null,djq.ReductionAmount, djq.EnableAmount, djq.LastTS, true, false,\n this.dto.Idmember,\n dateMount,\n displayText,\n promoMethodEnum,\n discountPct,\n promoId,\n promoRuleId,\n null,\n id,\n true);\n return;\n }\n this.addDjq(djq.CouponCode, djq.CouponTitle, true, null, djq.ReductionAmount, djq.EnableAmount, djq.LastTS, true, false,);\n })\n }\n this.paymode.thePaymodes.push(newmode)\n }\n })\n _each(this.dto.RetailStorageDetails,(detail)=>{\n let balanceAmount = null;\n let storageCardNo = null;\n let meStorageCardId = null;\n detail.DynamicPropertyKeys.forEach((ele, index) => {\n if (ele === \"mestoragecard\") {\n balanceAmount = detail.DynamicPropertyValues[index].BalanceStorage - detail.StoragePaymentAmount;\n storageCardNo = detail.DynamicPropertyValues[index].StorageCardNo;\n meStorageCardId = detail.DynamicPropertyValues[index].MeStorageCardId;\n }\n })\n let newmode={\n ...this.genNewMode(PayStyle.hyczk,false,detail.StoragePaymentAmount),\n member:new Member(detail.Member ? detail.Member :null),\n authCode:detail.Password ? detail.Password: null,\n balance:balanceAmount,\n boriginReturn:true,\n meStorageCardId: meStorageCardId ? meStorageCardId : detail.MeStorageCardId,\n storageCardNo: storageCardNo ? storageCardNo : detail.StorageCardNo\n };\n this.paymode.thePaymodes.push(newmode)\n })\n this.paymode.calcReserved();\n }\n\n clean(){\n this.bquick=false;\n this.paymode.clean();\n }\n\n @action quickSettle(key){\n this.addPay(key,null, true);\n }\n\n //outer call\n //(type===PayStyle.hyczk || type===PayStyle.jfczk || type===PayStyle.jfdx || type===PayStyle.djq)\n @action changeFocusAndAddPay(type, bookType){\n const { PayStyle } = enumController.getEnumOj();\n this.paymode.currentFocus=type;\n if(this.paymode.currentMode){\n if(type==PayStyle.jfdx){\n if(this.newStyle){\n let index=_findIndex(this.paymode.thePaymodes,(m)=>{return m.paymentType==PayStyle.jfdx});\n this.paymode.thePaymodes.splice(index,1,this.paymode.currentMode);\n this.paymode.calcReserved();\n }else{\n this.addPayDirectly(this.paymode.currentMode);\n }\n\n //抵现积分\n this.SettlementApi.CalculdateIntegralSteadCash({IntegralSteadCashParams:{\n Idmember:this.paymode.currentMode.memberId,\n TotalTaxAmount:this.paymode.amount,\n BalanceTaxAmount: this.paymode.currentMode.value,\n }}).then((result)=>{\n // this.paymode.currentMode.steadCashIntegral=result.Integral;\n // this.paymode.currentMode.perIntegral=result.perIntegral;\n // this.paymode.currentMode.cashAmount=result.cashAmount;\n this.paymode.currentMode.integralCashOverOrderAmount=result.isIntegralCashOverOrderAmount;\n this.paymode.currentMode.overchargesAmount=result.Amount-this.paymode.currentMode.value;\n });\n }else{\n this.addPayDirectly(this.paymode.currentMode);\n }\n }else{\n this.addPay(type, bookType);\n }\n }\n\n // 设置密码后更新会员信息\n @action updateMemberInfo = async (_this) => {\n const { IdStore, StoreCode } = this.getLoginInfo();\n const resp = await this.SettlementApi.GetUmemberDTO({ Idmember: this.member.ID, IdStore, StoreCode });\n _this.member = resp;\n _this.paymode.updateMemberStorageCardNo(resp.StorageCardNo, resp.WalletEnabled);\n return Promise.resolve(resp);\n }\n\n // 查看会员卡信息\n @action updateCurrentMode = async (memberId, returnType) => {\n let isOnlyEnabled = returnType ? false : true; //非原单退货为false,其他true\n // 查看会员卡信息\n let result = await this.SettlementApi.getCardInfoByMemberId(memberId, isOnlyEnabled)\n if (result && result.data.length) {\n if (result.data.length === 1) {\n this.paymode.updateCardInfo(result.data[0]);\n return result.data;\n } else {\n if (result.data && result.data.length === 1) {\n this.paymode.updateCardInfo(result.data[0]);\n return result.data;\n } else if (result.data && result.data.length > 1) {\n return result.data;\n } else {\n Message.warn('没有可用储值卡!');\n return false;\n }\n }\n }\n }\n\n @action updateCardInfo = async () => {\n const ctMode = this.paymode && this.paymode.currentMode;\n let cardNo = ctMode && ctMode.storageCardNo;\n let result = await this.SettlementApi.getCardInfoByCardNo(cardNo)\n this.paymode.updateCardInfo(result && result.data);\n }\n\n getLoginInfo() {\n return stores.user.options.get('loginInfo');\n }\n\n handleCzkData = (m) => {\n if(!m || !m.StorageCardNo){\n runInAction(()=>{this.paymode.currentMode.errinfo=\"无效的会员卡号\";});\n }\n else{\n runInAction(()=>{\n this.paymode.currentMode.errinfo=\"\";\n this.paymode.currentMode.memberId = m.ID;\n this.paymode.currentMode.value=getFixedNumber(this.brefund?this.paymode.receivable:Math.max(this.paymode.receivable,0));\n this.updateEvent();\n let message='';\n const sum = _reduce(this.paymode.thePaymodes, (total, cur) => total + cur.value, 0)\n // 对于卡不用判断会员的一些信息\n // if (global.CheckMemberStorageProcessorBlock ) {\n // message= CheckMemberStorageProcessorBlock.execute(m);\n // }\n if (!String.isNullOrEmpty(message)) {\n this.paymode.currentMode.errinfo=message;\n }\n else if(this.checkReceived(this.paymode.currentMode,\"balance\")){\n this.paymode.currentMode.errinfo=\"余额不足\";\n }else if(this.paymode.amount>0 && parseFloat(this.paymode.amount) !== sum && this.paymode.currentMode.value==0){\n this.paymode.currentMode.errinfo=\"实收金额必须录入\";\n } else {\n // 查询成功后将焦点移入下一个输入框\n setTimeout(() => {\n const nextInput = document.querySelector('.czk .received .input');\n nextInput && nextInput.select();\n }, 300)\n }\n });\n }\n }\n loadCzk(v, returnType) {\n if (_trim(v) === \"\") {\n runInAction(() => {\n this.paymode.currentMode.errinfo = \"请输入储值卡\";\n });\n return;\n }\n let isOnlyEnabled = returnType ? false : true; //非原单退货为false,其他true\n return this.SettlementApi.getCardInfoByCardNo(v, isOnlyEnabled)\n .then(async (result) => {\n let data = result.data;\n let m = (data && data.length && data[0]);\n if (result && result.data.length) {\n if (result.data.length === 1) {\n if (m.CardTypeEnum === 'BALANCE_CARD') {\n this.paymode.updateCardInfo(m);\n this.handleCzkData(m);\n return result.data;\n } else {\n // 校验储值卡是否可用\n await this.SettlementApi.validateRetailStorageCard({dto:this.dto,meStorageCardId:m.MeStorageCardId})\n .then((result1) => {\n let data1 = result1.data ? JSON.parse(result1.data)[0] : {};\n if (data1.enable) {\n this.paymode.updateCardInfo(m);\n this.handleCzkData(m)\n return result1.data;\n } else {\n Message.warn(data1.disableReason);\n }\n })\n }\n } else {\n if (result.data && result.data.length === 1) {\n this.paymode.updateCardInfo(result.data[0]);\n return result.data;\n } else if (result.data && result.data.length > 1) {\n return result.data;\n } else {\n Message.warn('没有可用储值卡!');\n return false;\n }\n }\n }\n })\n }\n getCouponList = coupon_code => {\n const { PayStyle, Differentiate } = enumController.getEnumOj();\n const couponApplyRule = PosInitData('CouponApplyRule');\n const { CouponApplyRule } = enumController.getEnumOj();\n if((couponApplyRule == CouponApplyRule.SHOWN_BY_CUSTOMER && !!coupon_code) || couponApplyRule != CouponApplyRule.SHOWN_BY_CUSTOMER){\n let dto = this.dto;\n let promoVoucher = {};\n this.paymode.clearDjqs();\n this.paymode.reCalculationDjqs();\n promoVoucher.coupon_code = coupon_code || \"\";\n promoVoucher.boName = \"Retail\";\n promoVoucher.voucherId = dto.ID;\n let onlinePaymentAmount=0;\n if(dto.OnlinePaymentAmount)\n {\n onlinePaymentAmount=dto.OnlinePaymentAmount;\n }\n promoVoucher.promoLinks = _filter(this.paymode.currentMode.djqs,djq=>djq.checked);\n promoVoucher.totalAmountWithTax =Math.Minus(dto.TotalTaxAmount,onlinePaymentAmount);\n promoVoucher.redBlueFlagEnum = \"BLUE\";\n promoVoucher.meMemberId = dto.Idmember;\n promoVoucher.storeFactorId = dto.Idstore;\n promoVoucher.voucherDetailList = [];\n dto.RetailDetails.forEach(item => {\n let detailDTO = {};\n detailDTO.uuid = item.Code;\n detailDTO.detailBoName = \"RetailDetail\";\n detailDTO.voucherDetailId = item.ID;\n detailDTO.productId = item.Idinventory;\n detailDTO.uomId = item.Idunit;\n detailDTO.productSpecId=item.ProductSpecId;\n detailDTO.isManualFreeGift = item.IsPresent;\n detailDTO.isListPriceIncludingTax = item.TaxFlag || true;\n detailDTO.IsManualChangePrice = item.IsManualChangePrice;\n // if(detailDTO.IsManualChangePrice)//如果是手工改价\n // {\n // detailDTO.listPrice = item.TaxPrice;\n // detailDTO.netAmountWithTax = item.TaxAmount;\n // }\n // else\n // {\n let bookingQuantity=0;\n if(item.BookingQuantity)\n {\n bookingQuantity=item.BookingQuantity;\n }\n detailDTO.listPrice = JSON.getCellValue(item, \"listPrice\");\n detailDTO.netAmountWithTax = Math.Multiply(detailDTO.listPrice,Math.Minus(item.Quantity,bookingQuantity));//item.TaxAmount;\n //}\n detailDTO.taxRate = item.TaxRate;\n detailDTO.quantity = item.Quantity;\n\n detailDTO.amountWithTax = item.RetailAmount;\n // 促销 start\n if(item.PromotionDetails && item.PromotionDetails.length != 0){\n let promoLinks = [];\n item.PromotionDetails.forEach((promotion)=>{\n promoLinks.push({\n promoId:promotion.IdSalesPromotionDTO,\n promoRuleId:promotion.PromotionRuleId\n })\n })\n if(promoLinks.length != 0) detailDTO.promoLinks = promoLinks;\n }\n // 促销 end\n promoVoucher.voucherDetailList.push(detailDTO);\n });\n return this.SettlementApi.findUsefulCouponPromoList(promoVoucher)\n .then((result)=>{\n if(result && result.length != 0 ){\n result.forEach((element)=>{\n const { couponCode, name, tieredAmountResult, fromDate , dateMount , promoMethodEnum , discountPct, nominalAmount,promoId,id} = element || {};\n const { condValue, promoDiscount,displayText,promoRuleId, couponCategoryEnum } = tieredAmountResult\n if (result.IsRepelWithPoints && _find(this.paymode.thePaymodes, (themode) => { return themode.paymentType == PayStyle.jfdx; })) {\n Message.error(`${Differentiate.COUPON}(${result.SN})不可与积分一起使用`);\n }\n else {\n let IsEnable = (couponCategoryEnum === 'RIGUP' || couponCategoryEnum === 'UN_MATCH' || couponCategoryEnum === \"PREPARING\" || couponCategoryEnum === 'PROMO_LIMITED' || couponCategoryEnum === 'COUPON_CONFLICT') ? false : true ;\n this.addDjq(\n couponCode,\n name,\n IsEnable,\n promoMethodEnum == \"CASH_COUPON\" && nominalAmount,\n promoDiscount,\n condValue,\n null,\n false,\n !result.IsRepelWithPoints,\n dto.Idmember,\n dateMount,\n displayText,\n promoMethodEnum,\n discountPct,\n promoId,\n promoRuleId,\n couponCategoryEnum,\n id,\n true, 1)\n }\n })\n if(promoVoucher.coupon_code){\n this.paymode.calcDjqCheckValue(this.paymode.currentMode.djqs[0], this.dto, 'single')\n }\n }else{\n if (promoVoucher.coupon_code) {\n Message.info(`${Differentiate.COUPON}号不存在!`);\n this.getCouponList();\n } else {\n Message.info(`没有找到可使用的${Differentiate.COUPON}!`)\n }\n }\n })\n }\n }\n\n getSettleGift = () => {\n return this.SettlementApi.executeRightsForPos(this.billID)\n }\n\n getRefWareHouseList = () => {\n return this.SettlementApi.getRefWareHouseList();\n }\n\n checkCoupon = async (sn) => {\n let { isNewRetailBCPos } = platform || {};\n if (isNewRetailBCPos) {\n return await this.getCouponList(sn, 'sinlge');\n } else {\n const { PayStyle, Differentiate } = enumController.getEnumOj();\n const params = {request:{\n Uid:this.paymode.currentMode.member.uid || '',\n SN:sn,\n StoreCode:this.dto.Idstore,\n Inventories:_map(_filter(this.dto.RetailDetails,(d)=>{return d.Quantity>0 && !d.IsPresent}),(detail)=>{return {\n IdInventory:detail.Inventory.ID,\n IdUnit:detail.Idunit,\n Code:detail.Inventory.Code,\n FreeItem0:JSON.getCellValue(detail,\"freeitem0\"),\n FreeItem1:JSON.getCellValue(detail,\"freeitem1\"),\n FreeItem2:JSON.getCellValue(detail,\"freeitem2\"),\n FreeItem3:JSON.getCellValue(detail,\"freeitem3\"),\n FreeItem4:JSON.getCellValue(detail,\"freeitem4\"),\n FreeItem5:JSON.getCellValue(detail,\"freeitem5\"),\n FreeItem6:JSON.getCellValue(detail,\"freeitem6\"),\n FreeItem7:JSON.getCellValue(detail,\"freeitem7\"),\n FreeItem8:JSON.getCellValue(detail,\"freeitem8\"),\n FreeItem9:JSON.getCellValue(detail,\"freeitem9\"),\n }}),\n // inventoryCodes:_join(_map(this.dto.RetailDetails,(detail)=>{return detail.Inventory.Code;}),','),\n InventoryClassCodes:_join(_map(_filter(this.dto.RetailDetails,(d)=>{return d.Quantity>0}),(detail)=>{return (detail.Inventory.InventoryClass||{Code:''}).Code;}),','),\n Amount:this.paymode.amount\n }}\n return this.SettlementApi.CheckCoupon(params)\n .then((result)=>{\n if(_find(this.paymode.currentMode.djqs,(djq)=>{return djq.code==result.SN})){\n Message.info(`${Differentiate.COUPON}已添加`);\n }else if(result.IsRepelWithPoints && _find(this.paymode.thePaymodes,(themode)=>{return themode.paymentType==PayStyle.jfdx;})){\n Message.error(`${Differentiate.COUPON}(${result.SN})不可与积分一起使用`);\n }\n else{\n this.addDjq(\n result.SN,\n result.Title,\n result.ReduceAmount,\n result.StartAmount,\n result.LastTS,\n false,\n !result.IsRepelWithPoints,\n result.UMemberID)\n }\n\n })\n }\n }\n @action addDjq(\n promoCouponCode,\n name,\n IsEnable,\n nominalAmount,\n amount,\n doorsill,\n LastTS,\n checked,\n IsRepelWithPoints,\n UMemberID,\n expired,\n displayText,\n promoMethodEnum,\n discountPct,\n promoId,\n promoRuleId,\n couponCategoryEnum,\n id,\n unCheck,count\n ){\n let djq={\n code: promoCouponCode,\n promoCouponCode,\n name,\n IsEnable,\n nominalAmount,\n amount,\n doorsill,//:\"无门槛\"\n LastTS,\n checked,\n IsRepelWithPoints,\n UMemberID,\n expired, //还剩多少过期\n displayText,\n promoMethodEnum,\n discountPct,\n promoId,\n promoRuleId,\n couponCategoryEnum,\n id,\n count: (count === 1 && (couponCategoryEnum === 'RIGUP' || couponCategoryEnum === 'UN_MATCH' || couponCategoryEnum === \"PREPARING\" || couponCategoryEnum === 'PROMO_LIMITED' || couponCategoryEnum === 'COUPON_CONFLICT') ? 1 : null)\n };\n this.paymode.currentMode.djqs.push(\n djq\n );\n // let copyData = _clonedeep(this.data[targetIndex]);\n !unCheck && !this.boriginReturn && this.paymode.calcDjqValue(djq);\n }\n\n setCurrentMode(id,type,append){\n const { PayStyle } = enumController.getEnumOj();\n const mode=_find(this.paymode.thePaymodes,{paymethodId:id});\n if(mode){\n this.paymode.currentMode=mode;\n if(this.newStyle){\n this.afterSetCurrentMode(type);\n }\n }else{\n this.paymode.currentMode=this.genNewMode(type,append);\n this.afterSetCurrentMode(type);\n }\n }\n\n afterSetCurrentMode(type){\n const { PayStyle } = enumController.getEnumOj();\n if(type==PayStyle.djq){\n this.paymode.calcDjqValue();\n }else if(type==PayStyle.jfdx){\n //获取可兑换的金额\n if(this.newStyle){\n const themode=_find(this.paymode.thePaymodes,{paymentType:PayStyle.jfdx});\n if(themode && parseFloat(themode.value||0)!=0){\n this.paymode.currentMode.value=themode.value;\n }\n }\n\n //积分抵现不包含运费\n let BuyerPayFreight = this.dto.BuyerPayFreight;\n let DistributionMode = this.dto.DistributionMode;\n let IdbusiType = this.dto.IdbusiType;\n const { PreSellOrBook, PercentageWhenBook } = this.getLoginInfo();\n let value = 0;\n if((DistributionMode.Id == 'ELECTRONIC' || DistributionMode.Id == 'CITY_DISTRIBUTE') && BuyerPayFreight && BuyerPayFreight > 0){\n value = getFixedNumber(Math.Minus(this.paymode.amount, BuyerPayFreight))\n } else if (IdbusiType == 38 && PreSellOrBook == 'BOOK' && PercentageWhenBook < 100 && (!DistributionMode.Id || DistributionMode.Id == 'ON_SITE_PICKUP')){\n //预订场景下:现场提货,且订金比例非100%时,积分抵现按全款计算(因为只有全款才能使用积分抵现)\n value = this.paymode.bookMaxValue;\n } else {\n value = this.paymode.amount;\n }\n\n this.SettlementApi.CalculdateIntegralSteadCash({IntegralSteadCashParams:{\n Idmember:this.paymode.currentMode.memberId,\n TotalTaxAmount:value,\n BalanceTaxAmount:value,\n }}).then((result)=>{\n this.paymode.currentMode.member.setExchangable(result.MaxAmount);\n this.paymode.currentMode.perIntegral=result.perIntegral;\n this.paymode.currentMode.cashAmount=result.cashAmount;\n this.paymode.currentMode.integralCashOverOrderAmount=result.isIntegralCashOverOrderAmount;\n this.updateEvent();\n if(this.checkReceived(this.paymode.currentMode,\"exchangable\")){\n runInAction(()=>{this.paymode.currentMode.errinfo='余额不足'})\n }\n });\n\n }\n }\n\n checkReceived(mode,name){\n return !this.brefund && parseFloat(mode.value)>parseFloat(mode.maxamount || mode.member[name]||0);\n }\n\n genNewMode(type,notwithm,v,isQuick){\n const { PayStyle } = enumController.getEnumOj();\n let value=getFixedNumber(v || (this.brefund?this.paymode.receivable:Math.max(this.paymode.receivable,0)));\n let themode=_find(this.paymode.paymodes,{'paymentType':type});\n let memberId = (this.member && this.member.ID ? this.member.ID : null);\n const mode = observable({\n paymethodId:this.paymode.counter,\n name:themode.name,\n exchangeRate:themode.exchangeRate,\n calDirection:themode.calDirection,\n thridPayment: themode.thridPayment,\n value,\n value2:getFixedNumber(themode.calDirection==\"88\"?value / themode.exchangeRate:(value * themode.exchangeRate)),\n value3:value,\n order:this.paymode.thePaymodes.length+1,\n paymentType:type,\n djqs:[],\n card: null,\n memberId: !notwithm?memberId:null,\n member:new Member(!notwithm?this.member:null),\n authCode:'',\n steadCashIntegral:null,\n errinfo:'',\n maxamount:this.paymode.amount,\n virtualPay: themode.virtualPay\n });\n if(type==PayStyle.hyczk){\n if(!mode.storageCardNo){\n runInAction(()=>{mode.errinfo='未录入手机号或储值卡号'})\n }else if(this.checkReceived(mode,\"balance\")){\n runInAction(()=>{mode.errinfo='余额不足'})\n }\n\n }\n if(type==PayStyle.hyczk || type==PayStyle.jfdx || type==PayStyle.djq){\n this.setMaxAmount(type,mode);\n }\n console.log(`当前操作结算方式信息:${mode}`);\n return mode;\n }\n\n setMaxAmount(type,mode){\n const { PayStyle } = enumController.getEnumOj();\n let sum=0;\n if(type==PayStyle.hyczk){\n _each(_filter(this.paymode.thePaymodes,(m)=>{return m.paymentType==type;}),(q)=>{\n sum=Math.Add(sum,q.value);\n });\n }else if(type==PayStyle.djq || type==PayStyle.jfdx){\n _each(_filter(this.paymode.thePaymodes,(m)=>{return m.paymentType==PayStyle.djq || m.paymentType==PayStyle.jfdx;}),(q)=>{\n sum=Math.Add(sum,q.value);\n });\n }\n\n this.amountHandler && this.amountHandler(type).then(()=>{\n runInAction(()=>{\n\n //预售储值结算应包含运费\n let BuyerPayFreight = this.dto.BuyerPayFreight;\n let DistributionMode = this.dto.DistributionMode;\n let value = 0;\n if((DistributionMode.Id == 'ELECTRONIC' || DistributionMode.Id == 'CITY_DISTRIBUTE') && BuyerPayFreight && BuyerPayFreight > 0 && type == PayStyle.hyczk){\n value = getFixedNumber(parseFloat(this.context.viewModel.getViewItem('Voucher').availableAmount) + parseFloat(BuyerPayFreight))\n } else {\n value = this.context.viewModel.getViewItem('Voucher').availableAmount;\n }\n mode.maxamount=getFixedNumber(Math.Minus(value,sum));\n this.updateEvent();\n })\n })\n }\n\n @action changeFocusOnly(type){\n this.paymode.currentFocus=type;\n }\n\n @action changeClickFocusOnly(type) {\n this.paymode.currentFocus=type;\n // 获取焦点时带入剩余的值\n let mode=_find(this.paymode.thePaymodes,{'paymentType':type});\n if(mode){\n const shouldSetValue =getFixedNumber(parseFloat(this.paymode.receivable) + parseFloat(mode.value));\n mode.value = shouldSetValue;\n mode.value2 = getFixedNumber(mode.calDirection==\"88\"?shouldSetValue / mode.exchangeRate:(shouldSetValue * mode.exchangeRate));\n mode.value3 = shouldSetValue;\n this.paymode.calcReserved('bookPay'); //参数multiPay代表复合结算\n }\n }\n\n @action changeValue(index,value,blur,type){\n let mode=_find(this.paymode.thePaymodes,{'paymethodId':index});\n let v=blur?getFixedNumber(value) : (isNaN(value)&&value!='-'?0.00:value);\n if(mode){\n if(mode.exchangeRate != 1){\n if(getFixedNumber(mode.calDirection==\"88\"?mode.value3 / mode.exchangeRate:(mode.value3 * mode.exchangeRate)) !=v){\n mode.value=getFixedNumber(mode.calDirection==\"88\"?v*mode.exchangeRate : (v / mode.exchangeRate));\n }\n else{\n mode.value=mode.value3;\n }\n mode.value2=v;\n }else{\n mode.value=v;\n mode.value2=v;\n }\n\n this.paymode.calcReserved(type);\n }\n }\n\n @action addPayDirectly(pay){\n const { PayStyle } = enumController.getEnumOj();\n if(!_find(this.paymode.thePaymodes,{paymethodId:pay.paymethodId})){\n let pos=this.paymode.thePaymodes.length;\n if(pay.paymentType==PayStyle.hyczk){\n let index=_findLastIndex(this.paymode.thePaymodes,(m)=>{return m.paymethodId!=pay.paymethodId && m.paymentType==PayStyle.hyczk});\n pos=index==-1?pos:(index+1);\n }\n // this.paymode.thePaymodes.push(pay);\n this.paymode.thePaymodes.splice(pos,0,pay);\n }\n this.paymode.calcReserved();\n }\n\n @action addPay(type, bookType, isQuick){\n const { PayStyle } = enumController.getEnumOj();\n let pos = this.paymode.thePaymodes.length;\n if (type == PayStyle.hyczk) {\n let index = _findLastIndex(this.paymode.thePaymodes, (m) => { return m.paymentType == PayStyle.hyczk });\n pos = index == -1 ? pos : (index + 1);\n }\n this.paymode.thePaymodes.splice(pos, 0, this.genNewMode(type,this.newStyle && type==PayStyle.hyczk,undefined, isQuick));\n this.paymode.calcReserved(bookType);\n }\n\n @action delPay(index, bookType){\n const { PayStyle } = enumController.getEnumOj();\n _remove(this.paymode.thePaymodes,(mode)=>{\n return mode.paymethodId===index;\n });\n this.paymode.currentFocus = -1;\n this.paymode.calcReserved(bookType);\n }\n\n // 获取储值是否重复, 在commit方法中使用\n findStorageBillValidate () {\n const { PayStyle } = enumController.getEnumOj();\n runInAction(()=>{\n this.dto.StorageMutiSettleDetails=[];\n const thePaymodes = this.newStyle ?_filter(this.paymode.thePaymodes,(mode)=>{return parseFloat(mode.value)!=0;}):this.paymode.thePaymodes;\n _each(thePaymodes,(mode)=>{\n const themode=_find(this.paymode.paymodes,{'paymentType':mode.paymentType});\n\n let value=parseFloat(mode.value);\n let giveChange=null;\n if(mode.paymentType==PayStyle.xianjin && this.paymode.receivable<0 && value>Math.abs(this.paymode.receivable)){\n value=Math.Add(value,this.paymode.receivable);\n giveChange=Math.abs(this.paymode.receivable);\n }\n this.dto.StorageMutiSettleDetails.push({\n Code:mode.paymethodId,\n StorageAmount:value,\n GiveChange:giveChange,\n IdsettleStyle:themode.idSettleStyle,\n IdbankAccount:themode.idBankAccount,\n PaymentCode:mode.authCode,\n DynamicPropertyKeys:[],\n DynamicPropertyValues:[],\n DataSource:{Id:this.dataSource},\n })\n });\n\n });\n return this.SettlementApi.findStorageBillValidate({...this.dto})\n }\n\n //判断是否重复弹框\n repeatStorageModal = (content) => {\n return new Promise((resolve, reject) => {\n ModalWraper.confirm({\n title: '',\n okText: '继续储值',\n className: 'repeat-modal',\n zIndex: 1007,\n content,\n onOk: async () => {\n let ret = await this.saveMember();\n if (ret === false) {\n resolve(false)\n } else {\n resolve(true)\n }\n },\n onCancel() {\n resolve(false)\n }\n })\n })\n }\n\n async commit(bTest, dto){\n console.log('settlementStore.commit开始,参数:' + bTest);\n if (bTest) {\n return Promise.resolve(true);\n }\n const status = this.type;\n try {\n const paylist = this.paymode.thePaymodes.filter(v => !!v.thridPayment && Math.abs(v.value) > 0) || [];\n if (paylist && paylist.length > 1) {\n Message.warn('二开支付目前仅支持单一结算方式。');\n return Promise.resolve(false);\n }\n if (status == 1) {\n const ret = await this.findStorageBillValidate();\n const { data: { code, returnMsg } = {} } = ret || {}\n if (code && code == 10001) {\n const state = await this.repeatStorageModal(returnMsg);\n if (state === false) return Promise.resolve(false);\n } else {\n let ret1 = await this.saveMember();\n if (ret1 === false) {\n return Promise.resolve(false);\n }\n }\n } else if (status == 2) {\n let ret1 = await this.saveCreditSales();\n if (ret1 === false) {\n return Promise.resolve(false);\n }\n } else {\n if (dto) {\n this.dto = dto;\n }\n await stores.offlineSys.generatorCode(this.dto);\n let ret2 = await this.save();\n if (ret2 === false) {\n return Promise.resolve(false);\n }\n await stores.offlineSys.retailSequenceUpload();\n }\n return Promise.resolve(true);\n } catch (err) {\n console.error('settlementStore.commit失败,错误信息:' + err);\n //其他支付失败时,处理二开支付情况。\n this.thirdPayRefund(status == 1 ? 2 : 1);\n return Promise.resolve(err);\n }\n }\n\n //赊销结算\n async saveCreditSales(){\n const { PayStyle, TradeType } = enumController.getEnumOj();\n let IPMSG = {};\n if (!!window.localStorage.IPMSG) {\n IPMSG = JSON.parse(window.localStorage.IPMSG);\n }\n let retailPaymentDetails = [];\n const thePaymodes = this.newStyle ? _filter(this.paymode.thePaymodes,(mode) => {return parseFloat(mode.value) != 0}) : this.paymode.thePaymodes;\n _each(thePaymodes,(mode) => {\n const themode = _find(this.paymode.paymodes,{'paymentType': mode.paymentType});\n\n let value = parseFloat(mode.value);\n let giveChange = null;\n if(mode.paymentType == PayStyle.xianjin && this.paymode.receivable < 0 && value > Math.abs(this.paymode.receivable)){\n value = Math.Add(value,this.paymode.receivable);\n giveChange = Math.abs(this.paymode.receivable);\n }\n retailPaymentDetails.push({\n \"PaymentCode\": mode.authCode,\n \"ThirdPaymentInfo\": themode.thridPayment || null,\n \"IdbankAccount\": themode.idBankAccount,\n \"ExchangeRate\": themode.exchangeRate,\n \"OrigAmount\": mode.exchangeRate != 1 ? mode.value2 : value,\n \"Amount\": value,\n \"GiveChange\": giveChange,\n \"Code\": mode.paymethodId,\n \"IdsettleStyle\": themode.idSettleStyle,\n \"Idcurrency\": themode.idCurrency,\n \"ThirdPaymentReturnInfo\": mode.thirdPaymentReturnInfo || null,\n })\n });\n const { UserCode, UserId, UserName, VoucherDate, IdShiftVoucher, Shift, ShiftCode, Idstore, POSCode, WipeChange, } = this.dto || {};\n let params = {\n \"cip\": IPMSG.query || \"\",\n \"longitude\": IPMSG.longitude || \"\",\n \"latitude\": IPMSG.latitude || \"\",\n \"Retails\": this.creditSalesVoucher,\n \"IdCustVendor\": this.custVendorId,\n \"TotalOwedAmount\": this.paymode.amount,\n \"TotalTaxAmount\": this.saleTotalTaxAmount,\n \"RetailPaymentDetails\": retailPaymentDetails,\n UserCode,\n UserId,\n UserName,\n VoucherDate,\n IdShiftVoucher,\n Shift,\n ShiftCode,\n Idstore,\n POSCode,\n WipeChange,\n }\n //处理存在二开支付情况\n let payList = retailPaymentDetails.filter(v => v.ThirdPaymentInfo);\n if (payList && payList.length > 0) {\n let payment = payList[0];\n let tradeType = payment && payment.StorageAmount > 0 ? TradeType.PAY : TradeType.REFUND;\n const ret = await this.thirdPay(1, payment, tradeType, params);\n const { type, data, code } = ret || {};\n if (type === true) {\n params = data;\n } else {\n Message.warn(`刷卡支付失败,错误码:${code}`);\n return false;\n }\n }\n return this.SettlementApi.saveCreditSales({ params })\n }\n\n handlePrint(resp) {\n // 储值打印\n return printDispatch(DoNameList.DO_STORAGE_PRINT,resp,{})\n }\n\n async saveMember(){\n const { PayStyle, TradeType } = enumController.getEnumOj();\n runInAction(()=>{\n this.dto.StorageMutiSettleDetails=[];\n const thePaymodes = this.newStyle ?_filter(this.paymode.thePaymodes,(mode)=>{return parseFloat(mode.value)!=0;}):this.paymode.thePaymodes;\n _each(thePaymodes,(mode)=>{\n const themode=_find(this.paymode.paymodes,{'paymentType':mode.paymentType});\n\n let value=parseFloat(mode.value);\n let giveChange=null;\n if(mode.paymentType==PayStyle.xianjin && this.paymode.receivable<0 && value>Math.abs(this.paymode.receivable)){\n value=Math.Add(value,this.paymode.receivable);\n giveChange=Math.abs(this.paymode.receivable);\n }\n this.dto.StorageMutiSettleDetails.push({\n Code:mode.paymethodId,\n StorageAmount:value,\n GiveChange:giveChange,\n IdsettleStyle:themode.idSettleStyle,\n IdbankAccount:themode.idBankAccount,\n PaymentCode:mode.authCode,\n DynamicPropertyKeys:[],\n DynamicPropertyValues:[],\n DataSource:{Id:this.dataSource},\n ThirdPaymentInfo: themode.thridPayment || null,\n ThirdPaymentReturnInfo:mode.thirdPaymentReturnInfo || null\n })\n });\n\n });\n // cc结算调用\n let IPMSG = {};\n if (!!window.localStorage.IPMSG) {\n IPMSG = JSON.parse(window.localStorage.IPMSG);\n }\n let dtoParams = this.dto;\n //处理存在二开支付情况\n let payList = dtoParams.StorageMutiSettleDetails.filter(v => v.ThirdPaymentInfo);\n if (payList && payList.length > 0) {\n let payment = payList[0];\n let tradeType = payment && payment.StorageAmount > 0 ? TradeType.PAY : TradeType.REFUND;\n const ret = await this.thirdPay(2, payment, tradeType, dtoParams);\n const { type, data, msg, code } = ret || {};\n if (type === true) {\n dtoParams = data;\n } else {\n Message.warn(`刷卡支付失败,错误码:${code}`);\n return false;\n }\n }\n this.dtoParams = dtoParams;\n console.log('储值结算信息:', dtoParams);\n return this.SettlementApi.INewRetailMemberStorageSave({ dto: dtoParams }).then((resp) => {\n this.handlePrint(resp);\n });\n }\n\n async save(){\n const { PayStyle, TradeType } = enumController.getEnumOj();\n runInAction(()=>{\n this.dto.RetailPaymentDetails=[];\n this.dto.RetailStorageDetails=[];\n this.dto.RetailCouponDetails=[];\n let czkSum=0;\n let count = 0;\n const thePaymodes = this.newStyle ?_filter(this.paymode.thePaymodes,(mode)=>{return parseFloat(mode.value)!=0;}):this.paymode.thePaymodes;\n _each(thePaymodes,(mode, index)=>{\n const themode=_find(this.paymode.paymodes,{'paymentType':mode.paymentType});\n if(mode.paymentType==PayStyle.hyczk){\n czkSum=Math.Add(czkSum,mode.value);\n this.dto.RetailStorageDetails.push({\n Code:mode.paymethodId,\n MeStorageCardId: mode.meStorageCardId,\n StoragePaymentAmount:mode.value,\n IsOrigReturn:false,\n BalanceStorage:mode.balance,\n Idmember:mode.memberId,\n DynamicPropertyKeys:[],\n DynamicPropertyValues:[],\n DataSource:{Id:this.dataSource},\n Password:mode.authCode,\n })\n }else{\n let value=parseFloat(mode.value);\n let giveChange=null;\n if(mode.paymentType==PayStyle.xianjin && this.paymode.receivable<0 && value>Math.abs(this.paymode.receivable)){\n value=Math.Add(value,this.paymode.receivable);\n giveChange=Math.abs(this.paymode.receivable);\n }\n this.dto.RetailPaymentDetails.push({\n Code:mode.paymethodId,\n OrigAmount:mode.exchangeRate!=1?mode.value2:value,\n Amount:value,\n GiveChange:giveChange,\n IdsettleStyle:themode.idSettleStyle,\n IdbankAccount:themode.idBankAccount,\n Idcurrency:themode.idCurrency,\n ExchangeRate:themode.exchangeRate,\n PaymentCode:mode.authCode,\n SteadCashIntegral:mode.steadCashIntegral,\n OverchargesAmount:mode.overchargesAmount,\n DynamicPropertyKeys:[],\n DynamicPropertyValues:[],\n DataSource:{Id:this.dataSource},\n ThirdPaymentInfo: themode.thridPayment || null,\n SettleStyle: {Name: mode.name},\n ThirdPaymentReturnInfo:mode.thirdPaymentReturnInfo || null\n })\n if(mode.paymentType==PayStyle.djq){\n _each(this.paymode.checkList && this.paymode.checkList.length ? this.paymode.checkList: mode.djqs,(djq)=>{\n this.dto.RetailCouponDetails.push({\n CouponCode:djq.promoCouponCode,\n ReductionAmount:djq.amount,\n EnableAmount:djq.doorsill,\n CouponTitle:djq.name,\n IdMember:djq.UMemberID?mode.memberId:null,\n LastTS:djq.LastTS,\n PromotionId:djq.promoId,\n PromotionRuleId:djq.promoRuleId,\n PromoCouponAllocatedId:djq.id,\n DataSource:{Id:this.dataSource},\n })\n })\n }\n }\n });\n if (this.dto.RetailStorageDetails.length > 0) {\n const themode = _find(this.paymode.paymodes, { 'paymentType': PayStyle.hyczk });\n this.dto.RetailPaymentDetails.push({\n Code: this.paymode.counter,\n OrigAmount: czkSum,\n Amount: czkSum,\n IdsettleStyle: themode.idSettleStyle,\n IdbankAccount: themode.idBankAccount,\n DynamicPropertyKeys: [],\n DynamicPropertyValues: [],\n DataSource: { Id: this.dataSource },\n RetailStorageDetails: this.dto.RetailStorageDetails,\n })\n }\n });\n console.log(`结算数据:`, this.dto);\n // cc结算调用\n let IPMSG = {};\n if (!!window.localStorage.IPMSG) {\n IPMSG = JSON.parse(window.localStorage.IPMSG);\n }\n const RetailTypeEnum = this.dto.IdbusiType == 36 ? \"INTEGRAL_EXCHANGE\" : \"NORMAL\";\n const { PreSellOrBook, PercentageWhenBook } = this.getLoginInfo();\n const { IdbusiType, DistributionMode } = this.dto || {};\n if(IdbusiType == 38 && PreSellOrBook == 'BOOK' && PercentageWhenBook < 100 && (!DistributionMode.Id || DistributionMode.Id == 'ON_SITE_PICKUP')){\n let prepaidAmount = getFixedNumber(this.dto.RetailPaymentDetails.reduce((c, item) => c + (item.Amount || 0), 0));\n let fullPayment = getFixedNumber(this.dto.RetailDetails.reduce((c, item) => c + (item.TaxAmount || 0), 0));\n this.isFull = fullPayment == prepaidAmount; // 是否全款\n runInAction(()=>{\n this.dto.PrepaidAmount = prepaidAmount;\n });\n }\n if (this.dto.IdbusiType == 37 && await this.checkIntegralExchangeReturn(this.dto.RetailDetails[0].ReturnSourceId) || this.dto.IdbusiType != 37) {\n let dtoParams = { ...this.dto.cut(), RetailOms: { RetailTypeEnum } };\n //处理存在二开支付情况\n let payList = dtoParams.RetailPaymentDetails.filter(v => v.ThirdPaymentInfo);\n if (payList && payList.length > 0) {\n let payment = payList[0];\n let tradeType = payment && payment.Amount > 0 ? TradeType.PAY : TradeType.REFUND;\n const ret = await this.thirdPay(1, payment, tradeType, dtoParams);\n const { type, data, msg, code } = ret || {};\n if (type === true) {\n dtoParams = data;\n } else {\n Message.warn(`刷卡支付失败,错误码:${code}`);\n return false;\n }\n }\n this.dtoParams = dtoParams;\n console.log('结算信息:', dtoParams);\n return this.SettlementApi.retailPosSettle({\n dto: dtoParams,\n cip: IPMSG.query || \"\",\n longitude: IPMSG.longitude || \"\",\n latitude: IPMSG.latitude || \"\"\n }).then((resp) => {\n const { ID } = resp || {};\n this.setDtoID(ID);\n this.billID = ID;\n this.paymode.checkList = [];\n })\n }\n }\n\n //裁剪二开支付数据\n removeThirdPayDto(dto) {\n let data = {...dto};\n delete data['DynamicPropertyKeys'];\n delete data['DynamicPropertyValues'];\n return data;\n }\n\n /**\n * 二开支付\n * vType:1零售单、2储值单\n * payment:结算方式\n * trade:00表示结算、02表示退款\n * dto:结算数据集合\n */\n async thirdPay(vType, payment, trade, dto) {\n try {\n let cto = this.removeThirdPayDto(dto);\n const params = { VoucherType: vType, Payment: payment, TradeType: trade, dto: cto };\n console.log('刷卡信息:', JSON.stringify(params));\n let ret = await new Promise((resolve, reject) => {\n nativeMs.setIpcRendererMethod('ThirdPayment', { ...params }, res => {\n return resolve(res);\n })\n })\n console.log('刷卡返回信息:', ret);\n ret = JSON.parse(ret);\n const { Code, Message, Result } = ret || {};\n if (Code > 0) {\n return { type: false, data: null, msg: Message, code: Code };\n } else if (trade == '00') {\n const { ThirdPaymentReturnInfo } = Result || {};\n if (vType == 1) {\n dto.RetailPaymentDetails.forEach(v => {\n if (v.ThirdPaymentInfo != null && Math.abs(v.Amount) > 0) {\n v.ThirdPaymentReturnInfo = ThirdPaymentReturnInfo;\n }\n })\n } else if (vType == 2) {\n dto.StorageMutiSettleDetails.forEach(v => {\n if (v.ThirdPaymentInfo != null && Math.abs(v.StorageAmount) > 0) {\n v.ThirdPaymentReturnInfo = ThirdPaymentReturnInfo;\n }\n })\n }\n return { type: true, data: dto, msg: Message, code: Code };\n } else if (trade == '02') {\n return { type: true, data: dto, msg: Message, code: Code };\n }\n } catch (ex) {\n return { type: false, data: null, msg: ex, code: '9999' }\n }\n }\n\n //二开支付强制退款情况\n async thirdPayRefund(type) {\n const dto = (type == 1) ? this.dtoParams.RetailPaymentDetails : this.dtoParams.StorageMutiSettleDetails;\n const pay = dto && dto.filter(v => v.ThirdPaymentInfo);\n if (pay && pay.length > 0) {\n setTimeout(() => {\n Message.warn(\"支付出现异常,将发起刷卡退款。\", { duration: 4.5 })\n }, 1000);\n const payment = pay[0];\n const { TradeType } = enumController.getEnumOj();\n setTimeout(async () => {\n let ret = await this.thirdPay(type, payment, TradeType.REFUND, dto);\n const { msg } = ret || {};\n console.log(`刷卡支付退款:${msg}`);\n }, 4500);\n }\n }\n\n\n @action setDtoID(id){\n this.context.viewModel.data.ID=id;\n }\n\n checkIntegralExchangeReturn = (id) => {\n return new Promise((resolve, reject) => {\n this.SettlementApi.GetNewIntegralExchange({param: {refVoucherId:id}}).then((resp) => {\n if( resp && resp.expireIntegral>0){\n ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: \"温馨提示\",\n content:`存在已经过期的积分${resp.expireIntegral}退货后积分不会返还。是否继续退货?`,\n cancelable: false,\n onOk() {\n resolve(true);\n },\n onCancel() {\n reject(false);\n }\n })\n }else{\n resolve(true);\n }\n })\n })\n }\n\n async querySettleResult(){\n try{\n return Promise.resolve(await this.SettlementApi.QuerySettleResult({RetailCode: this.dto.Code}));\n }catch(e){\n return Promise.resolve({Flag:\"1\"});\n }\n }\n\n setCookie(key, val) {\n var exp = new Date();\n exp.setTime(moment().endOf('day').valueOf());\n document.cookie = key + '=' + val + ';expires=' + exp.toGMTString();\n }\n\n getAllCookies() {\n var cookies = document.cookie.split(/;\\s/g);\n var cookieObj = {};\n cookies.forEach(function (item) {\n var key = item.split('=')[0];\n cookieObj[key] = item.split('=')[1];\n });\n return cookieObj;\n }\n\n async validePwd(value){\n let { isNewRetailBCPos } = platform || {};\n try{\n if (isNewRetailBCPos) {\n let cook1 = this.getAllCookies()['errorPwd'];\n let cook2 = cook1 && JSON.parse(cook1);\n let message = '密码输入错误';\n let memberStorageId = this.paymode.currentMode.meStorageCardId;\n if (cook2) {\n if (cook2.hasOwnProperty(memberStorageId + \"\")) {\n if (cook2[memberStorageId] > 3) {\n message = '今日密码错误已达上限,不可使用储值消费,请明日再试,如忘记请重置密码或修改密码。';\n return Promise.resolve(message);\n }\n }\n }\n const {cardTypeEnum, memberId, meStorageCardId, cardStatusEnum} = this.paymode.currentMode;\n let checkPaymentPasswordParams = {};\n let checkPaymentPasswordId = null;\n if (cardTypeEnum === 'BALANCE_CARD') {\n checkPaymentPasswordParams = {\n md5Password: User.pwdEncrypt(value.pwd),\n cardType: cardTypeEnum\n }\n checkPaymentPasswordId = memberId\n } else {\n if (cardStatusEnum === 'BINDING' && this.member && this.member.ID === memberId) {\n checkPaymentPasswordParams = {\n md5Password: User.pwdEncrypt(value.pwd),\n password: value.pwd,\n cardType: cardTypeEnum\n }\n checkPaymentPasswordId = meStorageCardId\n } else {\n checkPaymentPasswordParams = {\n password: value.pwd,\n cardType: cardTypeEnum\n }\n checkPaymentPasswordId = meStorageCardId\n }\n }\n const result = await this.SettlementApi.checkPaymentPassword(checkPaymentPasswordParams, checkPaymentPasswordId)\n if (!result.data) {\n if (cook2) {\n if (cook2.hasOwnProperty(memberStorageId + \"\")) {\n let count = cook2[memberStorageId];\n cook2[memberStorageId] = count + 1;\n } else {\n cook2[memberStorageId] = 1;\n }\n } else {\n cook2 = {};\n cook2[memberStorageId] = 1;\n }\n this.setCookie('errorPwd', '', -1);\n this.setCookie('errorPwd', JSON.stringify(cook2));\n }\n return Promise.resolve(result.data?\"\":message);\n } else {\n const result = await this.SettlementApi.CheckoutMemberPassword({\"CheckoutParams\": {\n \"Idmember\": value.id,\n \"Password\":value.pwd\n }});\n return Promise.resolve(result.Success?\"\":result.Message);\n }\n }catch(e){\n return \"failed\";\n }\n }\n}\n\nexport class PayMode{\n _counter=0\n amount=0 //应收\n onlineamount=0\n maxamount=0;\n @observable currentFocus=\"\"\n @observable received=0;\n @observable receivable=0;\n @observable paymodes =[]\n @observable thePaymodes=[]\n bookMaxValue=0;\n isNotFullBook=false; //预订场景下,现场提货,且选项设置订金比例非100% or 取货最大补款数大于0时 为 true\n isNotFullOnlyBook=false; //只是预订场景下,现场提货,且选项设置订金比例非100%时 为 true\n @observable storageCardNo = null;\n @observable balance = null;\n // @observable store = null;\n currentMode=null;\n checkList = [];\n updateEvent\n settle={\n name:\"复合结算\",\n hotKey:\"Ctrl+M\",\n }\n constructor (){\n // this.amount=getFixedNumber(amount);\n // this.calcReserved();\n }\n\n @action clean(){\n this.thePaymodes=[];\n this.calcReserved();\n }\n\n @action clear(){\n this.thePaymodes=[];\n this.calcReserved();\n this.paymodes = [];\n }\n\n setAmount(a,o){\n this.amount=getFixedNumber((a || 0)-(o || 0));\n this.onlineamount=getFixedNumber(o || 0);\n this.calcReserved();\n return this.amount<0;\n }\n\n @action calcReserved(type){\n var sum=0;\n _each(this.thePaymodes,(mode)=>{\n sum=Math.Add(sum,(mode.value==\"\"?0:mode.value));\n });\n this.received = getFixedNumber(sum);\n if(type === 'bookPay' && this.isNotFullBook){\n if ( this.amount <= sum && sum <= this.bookMaxValue){\n this.receivable = getFixedNumber(0);\n }\n if (sum < this.amount){\n this.receivable = getFixedNumber(this.amount - sum);\n }\n if (sum > this.bookMaxValue){\n this.receivable = getFixedNumber(this.bookMaxValue - sum);\n }\n }else{\n this.receivable = getFixedNumber(this.amount - sum);\n }\n }\n\n @action calcCheckList = () => {\n this.checkList = [];\n }\n\n @action updateMemberStorageCardNo(storageCardNo, walletEnabled) {\n this.currentMode.storageCardNo = storageCardNo;\n this.currentMode.walletEnabled = walletEnabled;\n }\n\n @action updateCardInfo(m) {\n this.currentMode.cardStatusEnum = m.CardStatusEnum;\n this.currentMode.isNeedPassword = m.IsNeedPassword;\n this.currentMode.meStorageCardId = m.MeStorageCardId;\n this.currentMode.storageCardNo = m.StorageCardNo;\n this.currentMode.balance = m.BalanceStorage;\n this.currentMode.rawbalance = m.BalanceStorage;\n this.currentMode.cardTypeEnum = m.CardTypeEnum;\n this.currentMode.walletEnabled = m.WalletEnabled;\n this.currentMode.memberId = m.ID;\n this.currentMode.freePaymentPasswordStore = m.FreePaymentPasswordStore;\n }\n\n @action calcDjqCheckValue(q1, dto, params) {\n let useLimitPerOrder = PosInitData('UseLimitPerOrder');\n let qList = _filter(this.currentMode.djqs,djq=>djq.checked);\n if (qList.length === useLimitPerOrder && !q1.checked) {\n Message.warn('本单最多可用'+useLimitPerOrder+'张');\n return;\n }\n if (params === 'single') {\n this.checkList = [];\n }\n const { PayStyle, Differentiate } = enumController.getEnumOj();\n\n if(q1){\n if(!this.currentMode.boriginReturn && parseFloat(this.currentMode.maxamount)<=0){\n Message.error(`本单没有${Differentiate.COUPON}可用金额,该券不可使用。`);\n return ;\n }\n let q=_find(this.currentMode.djqs,(djq)=>{return djq.promoCouponCode==q1.promoCouponCode});\n if(q && !q.checked && parseFloat(this.amount)<parseFloat(q.doorsill)){\n Message.error(\"本单金额低于使用门槛,该券不可使用。\");\n return ;\n }\n //判断是否是选择优惠券 //CC优惠券只能使用一个\n // if (q1 && !q1.checked && isNewRetailBCPos) {\n // // 检查是否有已经选定优惠券 并且去除选定的优惠券\n // this.currentMode.djqs.forEach((djq, index) => {\n // if (djq.checked) this.currentMode.djqs[index].checked = false;\n // })\n // }\n q && (q.checked = !q.checked);\n }\n var sum=0;\n // console.log(this.store, 'stores-------');\n if (!q1.checked) {\n this.checkList.forEach((ele, i) => {\n if (ele.id === q1.id) {\n this.checkList.splice(i, 1);\n }\n })\n } else {\n this.checkList.push(q1);\n }\n\n this.checkList.forEach((ele) => {\n sum=Math.Add(sum,ele.amount);\n })\n this.currentMode.value = getFixedNumber(Math.min(this.receivable,sum,this.currentMode.maxamount));\n console.log(this.receivable, sum, Math.min(this.receivable,sum,this.currentMode.maxamount), 'sum---------');\n this.currentMode.receivable = getFixedNumber(this.receivable - Math.min(this.receivable,sum,this.currentMode.maxamount));\n this.currentMode.overchargesAmount=getFixedNumber(sum-this.currentMode.value);\n if (params === 'single') {\n return;\n }\n let promoVoucher = {};\n promoVoucher.boName = \"Retail\";\n // promoVoucher.promoLinks = _filter(this.currentMode.djqs,djq=>djq.checked);\n promoVoucher.meMemberId = this.currentMode.member.id;\n promoVoucher.storeFactorId = PosInitData('storeID');\n promoVoucher.voucherDetailList = [];\n dto.RetailDetails.forEach(item => {\n let detailDTO = {};\n detailDTO.uuid = item.Code;\n detailDTO.detailBoName = \"RetailDetail\";\n detailDTO.voucherDetailId = item.ID;\n detailDTO.productId = item.Idinventory;\n detailDTO.uomId = item.Idunit;\n detailDTO.productSpecId=item.ProductSpecId;\n detailDTO.isManualFreeGift = item.IsPresent;\n detailDTO.isListPriceIncludingTax = item.TaxFlag || true;\n detailDTO.IsManualChangePrice = item.IsManualChangePrice;\n\n\n\n\n // if(detailDTO.IsManualChangePrice)//如果是手工改价\n // {\n // detailDTO.listPrice = item.TaxPrice;\n // detailDTO.netAmountWithTax = item.TaxAmount;\n // }\n // else\n // {\n\n let bookingQuantity=0;\n if(item.BookingQuantity)\n {\n bookingQuantity=item.BookingQuantity;\n }\n detailDTO.listPrice = JSON.getCellValue(item, \"listPrice\");\n detailDTO.netAmountWithTax = Math.Multiply(detailDTO.listPrice,Math.Minus(item.Quantity,bookingQuantity));//item.TaxAmount;\n detailDTO.taxRate = item.TaxRate;\n detailDTO.quantity = item.Quantity;\n\n detailDTO.amountWithTax = item.RetailAmount;\n // 促销 start\n if(item.PromotionDetails && item.PromotionDetails.length != 0){\n let promoLinks = [];\n item.PromotionDetails.forEach((promotion)=>{\n promoLinks.push({\n promoId:promotion.IdSalesPromotionDTO,\n promoRuleId:promotion.PromotionRuleId\n })\n })\n if(promoLinks.length != 0) detailDTO.promoLinks = promoLinks;\n }\n // 促销 end\n promoVoucher.voucherDetailList.push(detailDTO);\n });\n promoVoucher.promoLinks = this.checkList;\n return this.SettlementApi.findUsefulCouponPromoList(promoVoucher).then((result)=>{\n if(result && result.length != 0 ){\n result.forEach((element, index) => {\n let djq1 = false;\n this.currentMode.djqs.forEach((djq) => {\n if (element.id === djq.id) {\n djq1 = true;\n }\n })\n const { couponCode, name, tieredAmountResult, fromDate , dateMount , promoMethodEnum , discountPct, nominalAmount,promoId,id, doorsill} = element || {};\n const { condValue, promoDiscount,displayText,promoRuleId, couponCategoryEnum } = tieredAmountResult\n if(!djq1) {\n // this.currentMode.djqs.push({\n // promoCouponCode: element.CouponCode,\n // name: element.CouponTitle,\n // IsEnable: true,\n // amount: element.ReductionAmount,\n // doorsill: element.EnableAmount,\n // LastTS: element.LastTS,\n // checked: false,\n // IsRepelWithPoints: true,\n // UMemberID: dto.Idmember,\n // expired: null,\n // displayText,\n // promoMethodEnum,\n // discountPct,\n // promoId,\n // promoRuleId,\n // couponCategoryEnum: tieredAmountResult.couponCategoryEnum,\n // id\n // })\n this.addDjqs(couponCode,name,true,nominalAmount,promoDiscount,doorsill,element.LastTS,false,true,\n dto.Idmember,\n dateMount,\n displayText,\n promoMethodEnum,\n discountPct,\n promoId,\n promoRuleId,\n tieredAmountResult.couponCategoryEnum,\n id);\n djq1 = false;\n } else {\n this.setCouponNum(element.id, couponCategoryEnum, promoMethodEnum, nominalAmount,promoDiscount);\n // this.currentMode.djqs[0].couponCategoryEnum = 'couponCategoryEnum';\n // djq1.couponCategoryEnum = element.tieredAmountResult.couponCategoryEnum\n }\n })\n }\n // 优惠券【6052098985043】与【6120822326451】不可叠加使用\n })\n //this.receivable = getFixedNumber(this.receivable - sum);\n }\n\n @action setCouponNum = (id, couponNum, promoMethodEnum, nominalAmount,promoDiscount) => {\n this.currentMode.djqs.forEach((ele) => {\n if (ele.id === id) {\n ele.amount = promoDiscount;\n promoMethodEnum == \"CASH_COUPON\" && (ele.nominalAmount = nominalAmount);\n ele.couponCategoryEnum = couponNum;\n let IsEnable = (ele.couponCategoryEnum === 'RIGUP' || ele.couponCategoryEnum === 'UN_MATCH' || ele.couponCategoryEnum === \"PREPARING\" || ele.couponCategoryEnum === 'PROMO_LIMITED' || ele.couponCategoryEnum === 'COUPON_CONFLICT') ? false : true ;\n ele.IsEnable = IsEnable;\n }\n })\n }\n\n @action addDjqs = (promoCouponCode,\n name,\n IsEnable,\n nominalAmount,\n amount,\n doorsill,\n LastTS,\n checked,\n IsRepelWithPoints,\n UMemberID,\n expired,\n displayText,\n promoMethodEnum,\n discountPct,\n promoId,\n promoRuleId,\n couponCategoryEnum,\n id) => {\n let djq={\n promoCouponCode,\n name,\n IsEnable,\n nominalAmount,\n amount,\n doorsill,\n LastTS,\n checked,\n IsRepelWithPoints,\n UMemberID,\n expired,\n displayText,\n promoMethodEnum,\n discountPct,\n promoId,\n promoRuleId,\n couponCategoryEnum,\n id\n };\n this.currentMode.djqs.push(\n djq\n );\n }\n\n @action calcDjqValue(q1){\n const { Differentiate } = enumController.getEnumOj();\n if(q1){\n if(!this.currentMode.boriginReturn && parseFloat(this.currentMode.maxamount)<=0){\n Message.error(`本单没有${Differentiate.COUPON}可用金额,该券不可使用。`);\n return ;\n }\n let q=_find(this.currentMode.djqs,(djq)=>{return djq.code==q1.code});\n if(q && !q.checked && parseFloat(this.amount)<parseFloat(q.doorsill)){\n Message.error(\"本单金额低于使用门槛,该券不可使用。\");\n return ;\n }\n //判断是否是选择优惠券 //CC优惠券只能使用一个\n // if (q1 && !q1.checked && isNewRetailBCPos) {\n // // 检查是否有已经选定优惠券 并且去除选定的优惠券\n // this.currentMode.djqs.forEach((djq, index) => {\n // if (djq.checked) this.currentMode.djqs[index].checked = false;\n // })\n // }\n q && (q.checked = !q.checked);\n }\n var sum=0;\n // console.log(this.store, 'stores-------');\n _each(_filter(this.currentMode.djqs,djq=>djq.checked),(q)=>{\n sum=Math.Add(sum,q.amount);\n });\n this.currentMode.value = getFixedNumber(Math.min(this.receivable,sum,this.currentMode.maxamount));\n this.currentMode.receivable = getFixedNumber(this.receivable -this.currentMode.value);\n this.currentMode.overchargesAmount=getFixedNumber(sum-this.currentMode.value);\n\n //this.receivable = getFixedNumber(this.receivable - sum);\n }\n\n @action reCalculationDjqs() {\n var sum=0;\n _each(_filter(this.currentMode.djqs,djq=>djq.checked),(q)=>{\n sum=Math.Add(sum,q.amount);\n });\n this.currentMode.value = getFixedNumber(Math.min(this.receivable,sum,this.currentMode.maxamount));\n this.currentMode.receivable = getFixedNumber(this.receivable -this.currentMode.value);\n this.currentMode.overchargesAmount=getFixedNumber(sum-this.currentMode.value);\n this.currentMode.maxamount = this.currentMode.receivable || this.currentMode.receivable;\n }\n\n @action clearDjqs() {\n this.currentMode.djqs = [];\n }\n\n @action setCurrentModeValue(v,max){\n this.currentMode.value=parseFloat(v) || 0;\n this.currentMode.errinfo='';\n let sum = this.amount;\n const { PayStyle} = enumController.getEnumOj();\n this.thePaymodes && this.thePaymodes.forEach((mode) => {\n if (mode.paymentType === PayStyle.hyczk) {\n sum -= mode.value;\n }\n })\n\n if(this.amount>0 && (v==='' || v==='0.00') && sum !== 0){\n this.currentMode.errinfo=\"实收金额必须录入\";\n }else if(Math.abs(parseFloat(v))>Math.abs(getFixedNumber(sum))){\n this.currentMode.errinfo=\"实收不应大于应收\";\n }else if(parseFloat(v)>0 && parseFloat(v) > (max || 0) ){\n this.currentMode.errinfo=\"余额不足\";\n }\n // 如果是积分抵现的一些判断\n if (this.currentMode.paymentType === PayStyle.jfdx) {\n if (this.currentMode.integralCashOverOrderAmount === true) {\n this.currentMode.steadCashIntegral = Math.ceil(this.currentMode.value/this.currentMode.cashAmount) * this.currentMode.perIntegral;\n } else if(this.currentMode.integralCashOverOrderAmount === false){\n let v1 = this.currentMode.value/this.currentMode.cashAmount;\n if (Number.isInteger(v1)) {\n this.currentMode.steadCashIntegral = Math.floor(this.currentMode.value/this.currentMode.cashAmount) * this.currentMode.perIntegral;\n } else {\n this.currentMode.errinfo=`请按照积分抵现规则${this.currentMode.perIntegral}积分抵用${this.currentMode.cashAmount}元输入金额`;\n }\n }\n }\n }\n\n @action calcMemberBalance(){\n this.currentMode.balance = this.currentMode.rawbalance - this.currentMode.value;\n }\n\n get charge(){\n return Math.abs(this.receivable);\n }\n\n get counter(){\n return ++this._counter;\n }\n\n async setPaymodes(type,isIntegralExchange){\n // 是否移动端判断\n const { isHorizontalPad, isHorizontalSunMi } = platform || {};\n const isMobileEnvironment = !!isHorizontalPad || !!isHorizontalSunMi;\n const { PayStyle, SettleStyle } = enumController.getEnumOj();\n let key = type == 1 ? 'MemberStorageSettle' : type == 2 ? 'CreditSales' : isIntegralExchange ? 'IntegralExchangeSettle' : 'CommonSettle';\n let modes = stores.voucherStore.getPaymodes(SettleStyle[key]);\n if(modes){\n runInAction(()=>{\n let paymodes = [];\n let settleLists = modes.SettleStyles;\n settleLists = isMobileEnvironment ? settleLists.filter(v => !v.ThirdPaymentInfo) : settleLists;\n _each(settleLists, (mode) => {\n //产品需求确认会员储值卡结算方式前端展示统一调整为“储值卡\" tuzha by 2020-07-08\n if (mode.Code == PayStyle.hyczk) {\n mode.Name = '储值卡';\n }\n paymodes.push({\n name:mode.Name,\n isDefault:mode.IsDefaultSettleStyle,\n isQuick:_findIndex(modes.QuickSettleStyles, {'Code':mode.Code})>=0,\n orderBy:1,\n paymentType:mode.Code,\n offlineDisable:mode.offlineDisable,\n idSettleStyle:mode.IdSettleStyle,\n idBankAccount:mode.IdBankAccount,\n exchangeRate:mode.Currency?mode.Currency.ExchangeRate:1,\n idCurrency:mode.Currency?mode.Currency.ID:-1,\n calDirection:mode.Currency?mode.Currency.CalDirection.Id:\"88\",\n virtualPay: mode.VirtualPay,\n thridPayment: mode.ThirdPaymentInfo,\n })\n })\n this.paymodes = paymodes;\n })\n }\n }\n}\n\nexport class Member{\n id;\n uid;\n @observable cardNo;\n type;\n @observable balance;\n rawbalance;\n needPwd;\n bonusPoints;\n @observable exchangable;\n @observable meStorageCardId;\n @observable storageCardNo;\n constructor(m){\n if(m){\n this.id=m.ID;\n this.uid=m.Uid;\n this.type=m.MemberType?m.MemberType.Name:\"普通\";\n this.rawbalance=m.BalanceStorage;\n let index=_findIndex(m.DynamicPropertyKeys,(key)=>{return key=='canusedbalancestorage';});\n runInAction(()=>{\n this.cardNo=m.CardCode;\n if(index>=0){\n this.balance=parseFloat(m.DynamicPropertyValues[index]);\n }else{\n this.balance=this.rawbalance;\n }\n });\n this.needPwd=m.MemberType?m.MemberType.IsNeedPwd:false;\n this.NeedModifyPassword=m.NeedModifyPassword;\n this.bonusPoints=m.BalanceIntegral;\n }\n }\n @action setExchangable(v){\n this.exchangable=v;\n }\n @action setCardNo(v){\n this.cardNo=v;\n this.id=null;\n }\n}\n\n"]}
@@ -0,0 +1,249 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.openAwaitModal = exports.showSuccessModal = exports.openQueryingModal = exports.openLoadingModal = exports.stopPropagation = exports.preventDefault = exports.getRoundValue = exports.getFixedNumber = undefined;
7
+
8
+ var _button = require('antd/es/button');
9
+
10
+ var _button2 = _interopRequireDefault(_button);
11
+
12
+ var _spin = require('antd/es/spin');
13
+
14
+ var _spin2 = _interopRequireDefault(_spin);
15
+
16
+ require('antd/es/button/style');
17
+
18
+ require('antd/es/spin/style');
19
+
20
+ var _react = require('react');
21
+
22
+ var _react2 = _interopRequireDefault(_react);
23
+
24
+ var _bind2 = require('lodash/bind');
25
+
26
+ var _bind3 = _interopRequireDefault(_bind2);
27
+
28
+ var _get2 = require('lodash/get');
29
+
30
+ var _get3 = _interopRequireDefault(_get2);
31
+
32
+ var _ticon = require('../ticon');
33
+
34
+ var _ticon2 = _interopRequireDefault(_ticon);
35
+
36
+ var _asyncModal = require('./asyncModal');
37
+
38
+ var _asyncModal2 = _interopRequireDefault(_asyncModal);
39
+
40
+ var _tplusPoslogin = require('tplus-poslogin');
41
+
42
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
43
+
44
+ var getFixedNumber = exports.getFixedNumber = (0, _bind3.default)(function (value, name) {
45
+ name = name || 'money';
46
+ var precision = (0, _get3.default)(this, name + '.value');
47
+ value = isNaN(value) ? 0 : value;
48
+ // 参数错误的时候, 返回原值
49
+ if (isNaN(precision)) {
50
+ return value;
51
+ }
52
+ return getRoundValue(value, precision);
53
+ }, { "money": { "value": 2, "caption": "金额小数位" } });
54
+
55
+ var getRoundValue = exports.getRoundValue = function getRoundValue(value, decimal) {
56
+ if (!decimal) return value;
57
+ var pow = Math.pow(10, decimal);
58
+ var returnValue = Math.round(Math.abs(value) * pow) / pow;
59
+ if (value < 0) returnValue = -returnValue;
60
+ return returnValue.toFixed(decimal);
61
+ };
62
+
63
+ var preventDefault = exports.preventDefault = function preventDefault(nativeEvent) {
64
+ if (!nativeEvent) {
65
+ return;
66
+ }
67
+ if (nativeEvent.preventDefault) {
68
+ nativeEvent.preventDefault();
69
+ } else if (typeof nativeEvent.returnValue !== 'unknown') {
70
+ nativeEvent.returnValue = false;
71
+ }
72
+ };
73
+
74
+ var stopPropagation = exports.stopPropagation = function stopPropagation(nativeEvent) {
75
+ if (!nativeEvent) {
76
+ return;
77
+ }
78
+ if (nativeEvent.stopPropagation) {
79
+ nativeEvent.stopPropagation();
80
+ } else if (typeof nativeEvent.cancelBubble !== 'unknown') {
81
+ // The ChangeEventPlugin registers a "propertychange" event for
82
+ // IE. This event does not support bubbling or cancelling, and
83
+ // any references to cancelBubble throw "Member not found". A
84
+ // typeof check of "unknown" circumvents this issue (and is also
85
+ // IE specific).
86
+ nativeEvent.cancelBubble = true;
87
+ }
88
+ };
89
+
90
+ var openLoadingModal = exports.openLoadingModal = function openLoadingModal() {
91
+
92
+ return (0, _asyncModal2.default)({
93
+ maskClosable: false,
94
+ closable: false,
95
+ width: 'auto',
96
+ className: 'loading-modal',
97
+ content: _react2.default.createElement(
98
+ 'div',
99
+ { className: 'billingSettling' },
100
+ _react2.default.createElement(_spin2.default, { size: 'large' }),
101
+ _react2.default.createElement(
102
+ 'div',
103
+ null,
104
+ '\u7ED3\u7B97\u4E2D...'
105
+ )
106
+ )
107
+ });
108
+ };
109
+
110
+ var openQueryingModal = exports.openQueryingModal = function openQueryingModal() {
111
+
112
+ return (0, _asyncModal2.default)({
113
+ maskClosable: false,
114
+ closable: false,
115
+ width: 'auto',
116
+ className: 'loading-modal',
117
+ content: _react2.default.createElement(
118
+ 'div',
119
+ { className: 'billingSettling' },
120
+ _react2.default.createElement(_spin2.default, { size: 'large' }),
121
+ _react2.default.createElement(
122
+ 'div',
123
+ null,
124
+ '\u6B63\u5728\u67E5\u8BE2\u4E2D\uFF0C\u8BF7\u7A0D\u5019~'
125
+ )
126
+ )
127
+ });
128
+ };
129
+
130
+ var showSuccessModal = exports.showSuccessModal = function showSuccessModal(amount, received, charge, fn, isXianjin, message, settleGift, store, IdbusiType, isFull, cb) {
131
+ var isDelayModal = void 0;
132
+ if (!isXianjin) {
133
+ isDelayModal = false;
134
+ } else {
135
+ // GiveChangeSupportManualClose 找零界面手动关闭
136
+ isDelayModal = (0, _tplusPoslogin.PosInitData)('GiveChangeSupportManualClose');
137
+ }
138
+
139
+ var modal = (0, _asyncModal2.default)({
140
+ width: '400px',
141
+ closable: false,
142
+ maskClosable: true,
143
+ onClose: function onClose() {
144
+ typeof fn == 'function' && fn();
145
+ },
146
+ content: _react2.default.createElement(
147
+ 'div',
148
+ { className: 'paySuccess' },
149
+ _react2.default.createElement(
150
+ 'div',
151
+ { className: (isDelayModal ? 'icon1' : '') + ' icon ' + (settleGift ? 'settleIcon' : '') },
152
+ _react2.default.createElement(_ticon2.default, { type: 'zhifuchenggong' })
153
+ ),
154
+ _react2.default.createElement(
155
+ 'div',
156
+ { className: (isDelayModal ? 'text1' : '') + ' text ' + (settleGift ? 'settleText' : '') },
157
+ message
158
+ ),
159
+ settleGift && !(IdbusiType == 38 && !isFull || IdbusiType == 39) ? _react2.default.createElement(
160
+ 'div',
161
+ { className: 'primary-color settleGift' },
162
+ '\u6B64\u8BA2\u5355\u6EE1\u8DB3\u652F\u4ED8\u8FD4\u5238\u6D3B\u52A8\uFF0C\u4F18\u60E0\u5238\u4F1A\u81EA\u52A8\u53D1\u653E\u5230\u7528\u6237\u8D26\u6237'
163
+ ) : null,
164
+ _react2.default.createElement(
165
+ 'div',
166
+ { className: (isDelayModal ? 'tipStyle1' : '') + ' tipStyle' },
167
+ _react2.default.createElement(
168
+ 'span',
169
+ { className: 'fl' },
170
+ '\u5E94\u6536\u91D1\u989D'
171
+ ),
172
+ _react2.default.createElement(
173
+ 'span',
174
+ { className: 'fr' },
175
+ amount
176
+ )
177
+ ),
178
+ _react2.default.createElement(
179
+ 'div',
180
+ { className: (isDelayModal ? 'tipStyle2' : '') + ' tipStyle' },
181
+ _react2.default.createElement(
182
+ 'span',
183
+ { className: 'fl' },
184
+ '\u5B9E\u6536\u91D1\u989D'
185
+ ),
186
+ _react2.default.createElement(
187
+ 'span',
188
+ { className: 'fr' },
189
+ received
190
+ )
191
+ ),
192
+ _react2.default.createElement(
193
+ 'div',
194
+ { className: (isDelayModal ? 'tipStyle3' : '') + ' tipStyle' },
195
+ _react2.default.createElement(
196
+ 'span',
197
+ { className: 'fl' },
198
+ '\u627E\u96F6'
199
+ ),
200
+ _react2.default.createElement(
201
+ 'span',
202
+ { className: 'fr' },
203
+ getFixedNumber(charge)
204
+ )
205
+ ),
206
+ isDelayModal ? _react2.default.createElement(
207
+ 'div',
208
+ { className: 'tipStyle tipStyle4' },
209
+ _react2.default.createElement(
210
+ _button2.default,
211
+ { onClick: function onClick() {
212
+ setTimeout(function () {
213
+ modal.destroy();cb && cb();
214
+ }, 0);
215
+ }, className: 'paymentSuccessBtn', type: 'primary' },
216
+ '\u786E\u5B9A'
217
+ )
218
+ ) : null
219
+ )
220
+ });
221
+ if (!isDelayModal) {
222
+ setTimeout(function () {
223
+ modal.destroy();cb && cb();
224
+ }, 1500);
225
+ }
226
+ return modal;
227
+ };
228
+
229
+ var openAwaitModal = exports.openAwaitModal = function openAwaitModal(tip, manually) {
230
+ var tips = tip ? tip : '取会员价中';
231
+
232
+ return (0, _asyncModal2.default)({
233
+ className: 'billing-onsettle-ModalLight loading-modal',
234
+ maskClosable: false,
235
+ closable: false,
236
+ width: 'auto',
237
+ content: _react2.default.createElement(
238
+ 'div',
239
+ { className: 'billing-onsettle-ModalLight-content' },
240
+ _react2.default.createElement(_spin2.default, { size: 'large' }),
241
+ _react2.default.createElement(
242
+ 'div',
243
+ { className: 'billing-onsettle-ModalLight-text' },
244
+ tips + '...'
245
+ )
246
+ )
247
+ }, manually);
248
+ };
249
+ //# sourceMappingURL=utils.js.map