tplus-components-touch 3.23.5 → 3.23.9

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.
@@ -484,11 +484,12 @@
484
484
  cursor: pointer;
485
485
  .name{
486
486
  // padding-left:23px;
487
- padding-top:16px;
487
+ padding-top: 15px;
488
488
  padding-bottom: 19px;
489
- font-size: 17px;
490
- line-height: 16px;
491
- width: 130px;
489
+ font-size: 14px;
490
+ line-height: 1.3;
491
+ width: 120px;
492
+ height: 58px;
492
493
  text-indent: 0;
493
494
  padding-left: 14px;
494
495
  display: -webkit-box;
@@ -1371,7 +1371,7 @@ var SettlementStore = (_class = function () {
1371
1371
  key: 'validePwd',
1372
1372
  value: function () {
1373
1373
  var _ref17 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(value) {
1374
- var _ref18, isNewRetailBCPos, cook1, cook2, message, result, count, _result;
1374
+ var _ref18, isNewRetailBCPos, cook1, cook2, message, memberId, result, count, _result;
1375
1375
 
1376
1376
  return _regenerator2.default.wrap(function _callee5$(_context5) {
1377
1377
  while (1) {
@@ -1381,83 +1381,84 @@ var SettlementStore = (_class = function () {
1381
1381
  _context5.prev = 1;
1382
1382
 
1383
1383
  if (!isNewRetailBCPos) {
1384
- _context5.next = 18;
1384
+ _context5.next = 19;
1385
1385
  break;
1386
1386
  }
1387
1387
 
1388
1388
  cook1 = this.getAllCookies()['errorPwd'];
1389
1389
  cook2 = cook1 && JSON.parse(cook1);
1390
1390
  message = '密码输入错误';
1391
+ memberId = this.paymode.currentMode.member.MeStorageCardId;
1391
1392
 
1392
1393
  if (!cook2) {
1393
- _context5.next = 11;
1394
+ _context5.next = 12;
1394
1395
  break;
1395
1396
  }
1396
1397
 
1397
- if (!cook2.hasOwnProperty(this.member.MeStorageCardId + "")) {
1398
- _context5.next = 11;
1398
+ if (!cook2.hasOwnProperty(memberId + "")) {
1399
+ _context5.next = 12;
1399
1400
  break;
1400
1401
  }
1401
1402
 
1402
- if (!(cook2[this.member.MeStorageCardId] > 3)) {
1403
- _context5.next = 11;
1403
+ if (!(cook2[memberId] > 3)) {
1404
+ _context5.next = 12;
1404
1405
  break;
1405
1406
  }
1406
1407
 
1407
1408
  message = '今日密码错误已达上限,不可使用储值消费,请明日再试,如忘记请重置密码或修改密码。';
1408
1409
  return _context5.abrupt('return', _promise2.default.resolve(message));
1409
1410
 
1410
- case 11:
1411
- _context5.next = 13;
1411
+ case 12:
1412
+ _context5.next = 14;
1412
1413
  return (0, _tplusApi.ccApi)({ password: _tplusApi.User.pwdEncrypt(value.pwd) }, '/member/MeMemberWallet/checkPaymentPassword/' + value.id, false, false);
1413
1414
 
1414
- case 13:
1415
+ case 14:
1415
1416
  result = _context5.sent;
1416
1417
 
1417
1418
  if (!result.data) {
1418
1419
  if (cook2) {
1419
- if (cook2.hasOwnProperty(this.member.MeStorageCardId + "")) {
1420
- count = cook2[this.member.MeStorageCardId];
1420
+ if (cook2.hasOwnProperty(memberId + "")) {
1421
+ count = cook2[memberId];
1421
1422
 
1422
- cook2[this.member.MeStorageCardId] = count + 1;
1423
+ cook2[memberId] = count + 1;
1423
1424
  } else {
1424
- cook2[this.member.MeStorageCardId] = 1;
1425
+ cook2[memberId] = 1;
1425
1426
  }
1426
1427
  } else {
1427
1428
  cook2 = {};
1428
- cook2[this.member.MeStorageCardId] = 1;
1429
+ cook2[memberId] = 1;
1429
1430
  }
1430
1431
  this.setCookie('errorPwd', '', -1);
1431
1432
  this.setCookie('errorPwd', (0, _stringify2.default)(cook2));
1432
1433
  }
1433
1434
  return _context5.abrupt('return', _promise2.default.resolve(result.data ? "" : message));
1434
1435
 
1435
- case 18:
1436
- _context5.next = 20;
1436
+ case 19:
1437
+ _context5.next = 21;
1437
1438
  return (0, _tplusApi.tApi)({ "CheckoutParams": {
1438
1439
  "Idmember": value.id,
1439
1440
  "Password": value.pwd
1440
1441
  } }, 'AA.DR.newRetailMember.CheckoutMemberPassword', false, false);
1441
1442
 
1442
- case 20:
1443
+ case 21:
1443
1444
  _result = _context5.sent;
1444
1445
  return _context5.abrupt('return', _promise2.default.resolve(_result.Success ? "" : _result.Message));
1445
1446
 
1446
- case 22:
1447
- _context5.next = 27;
1447
+ case 23:
1448
+ _context5.next = 28;
1448
1449
  break;
1449
1450
 
1450
- case 24:
1451
- _context5.prev = 24;
1451
+ case 25:
1452
+ _context5.prev = 25;
1452
1453
  _context5.t0 = _context5['catch'](1);
1453
1454
  return _context5.abrupt('return', "failed");
1454
1455
 
1455
- case 27:
1456
+ case 28:
1456
1457
  case 'end':
1457
1458
  return _context5.stop();
1458
1459
  }
1459
1460
  }
1460
- }, _callee5, this, [[1, 24]]);
1461
+ }, _callee5, this, [[1, 25]]);
1461
1462
  }));
1462
1463
 
1463
1464
  function validePwd(_x3) {
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-components-touch/components/settlement/settlementStore.js"],"names":["t","i18n","getFixedT","SettlementStore","paymode","dto","member","brefund","bquick","boriginReturn","newStyle","getCouponList","enumController","getEnumOj","PayStyle","Differentiate","couponApplyRule","CouponApplyRule","SHOWN_BY_CUSTOMER","coupon_code","promoVoucher","clearDjqs","reCalculationDjqs","boName","voucherId","ID","onlinePaymentAmount","OnlinePaymentAmount","promoLinks","currentMode","djqs","djq","checked","totalAmountWithTax","Math","Minus","TotalTaxAmount","redBlueFlagEnum","meMemberId","Idmember","storeFactorId","Idstore","voucherDetailList","RetailDetails","forEach","detailDTO","uuid","item","Code","detailBoName","voucherDetailId","productId","Idinventory","uomId","Idunit","productSpecId","ProductSpecId","isManualFreeGift","IsPresent","isListPriceIncludingTax","TaxFlag","IsManualChangePrice","bookingQuantity","BookingQuantity","listPrice","JSON","getCellValue","netAmountWithTax","Multiply","Quantity","taxRate","TaxRate","quantity","amountWithTax","RetailAmount","PromotionDetails","length","promotion","push","promoId","IdSalesPromotionDTO","promoRuleId","PromotionRuleId","method","timeout_skip","then","result","element","couponCode","name","tieredAmountResult","fromDate","dateMount","promoMethodEnum","discountPct","nominalAmount","id","condValue","promoDiscount","displayText","couponCategoryEnum","IsRepelWithPoints","thePaymodes","themode","paymentType","jfdx","Message","error","COUPON","SN","IsEnable","platform","isNewRetailBCPos","addDjq","calcDjqCheckValue","info","getSettleGift","billID","checkCoupon","sn","request","Uid","uid","StoreCode","Inventories","d","detail","IdInventory","Inventory","IdUnit","FreeItem0","FreeItem1","FreeItem2","FreeItem3","FreeItem4","FreeItem5","FreeItem6","FreeItem7","FreeItem8","FreeItem9","InventoryClassCodes","InventoryClass","Amount","amount","code","Title","ReduceAmount","StartAmount","LastTS","UMemberID","checkIntegralExchangeReturn","resolve","reject","param","refVoucherId","resp","expireIntegral","ModalWraper","confirm","className","title","content","cancelable","onOk","onCancel","PayMode","params","localStore","get","cloudPrintArguments","event","type","isIntegralExchange","setPaymodes","updateEvent","context","amounthandler","datasource","storeinfo","data","amountHandler","dataSource","storeInfo","viewModel","global","DealSingleRowAmountSettingProcessorBlock","execute","DealAmountSettingProcessorBlock","Member","setAmount","clean","initByOriginReturn","setModes","paymodes","p","mode","addPay","changeValue","paymethodId","console","log","checkList","RetailPaymentDetails","IdsettleStyle","SettleStyle","hyczk","okText","okType","newmode","genNewMode","authCode","PaymentCode","steadCashIntegral","SteadCashIntegral","overchargesAmount","OverchargesAmount","RetailCouponDetails","CouponCode","CouponTitle","ReductionAmount","EnableAmount","RetailStorageDetails","balanceAmount","BalanceStorage","StoragePaymentAmount","Password","balance","calcReserved","key","currentFocus","index","m","splice","addPayDirectly","IntegralSteadCashParams","BalanceTaxAmount","value","Integral","loginInfo","v","errinfo","IdStore","storeID","storeCode","address","setMeStorageCardId","MeStorageCardId","setStorageCardNo","StorageCardNo","receivable","max","message","sum","total","cur","CheckMemberStorageProcessorBlock","String","isNullOrEmpty","checkReceived","parseFloat","nextInput","document","querySelector","select","SearchParams","Key","IsSingleMember","parse","Data","focus","promoCouponCode","doorsill","expired","unCheck","count","calcDjqValue","append","afterSetCurrentMode","setExchangable","MaxAmount","maxamount","notwithm","counter","exchangeRate","calDirection","value2","value3","order","setMaxAmount","q","Add","getViewItem","availableAmount","shouldSetValue","blur","isNaN","pay","pos","bTest","saveMember","stores","offlineSys","generatorCode","save","retailSequenceUpload","DoNameList","DO_STORAGE_PRINT","StorageMutiSettleDetails","giveChange","xianjin","abs","StorageAmount","GiveChange","idSettleStyle","IdbankAccount","idBankAccount","DynamicPropertyKeys","DynamicPropertyValues","DataSource","Id","IPMSG","window","localStorage","handlePrint","czkSum","IsOrigReturn","OrigAmount","Idcurrency","idCurrency","ExchangeRate","IdMember","PromotionId","PromoCouponAllocatedId","RetailTypeEnum","IdbusiType","ReturnSourceId","cut","RetailOms","cip","query","setDtoID","RetailCode","Flag","val","exp","Date","setTime","endOf","valueOf","cookie","toGMTString","cookies","split","cookieObj","cook1","getAllCookies","cook2","hasOwnProperty","password","User","pwdEncrypt","pwd","setCookie","Success","action","newPass","newPassConfirm","warn","idstore","oldPassword","newPassword","successful","_this","getLoginInfo","_counter","onlineamount","settle","hotKey","a","o","received","q1","useLimitPerOrder","qList","ele","i","min","djq1","addDjqs","setCouponNum","rawbalance","settleStyleType","memberStoreCode","settlementCode","modes","SettleStyles","Name","isDefault","IsDefaultSettleStyle","isQuick","QuickSettleStyles","orderBy","offlineDisable","IdSettleStyle","IdBankAccount","Currency","CalDirection","observable","couponNum","MemberType","cardNo","CardCode","needPwd","IsNeedPwd","NeedModifyPassword","bonusPoints","BalanceIntegral","exchangable"],"mappings":"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","file":"settlementStore.js","sourcesContent":["import { observable, computed, action, autorun, runInAction } from 'mobx'\r\nimport {stores,i18n,localStore} from 'mutants-microfx';\r\nimport _find from 'lodash/find';\r\nimport _remove from 'lodash/remove';\r\nimport _each from 'lodash/each';\r\nimport _map from 'lodash/map';\r\nimport _join from 'lodash/join';\r\nimport _trim from 'lodash/trim';\r\nimport _filter from 'lodash/filter';\r\nimport _findIndex from 'lodash/findIndex';\r\nimport _findLastIndex from 'lodash/findLastIndex';\r\nimport _findKey from 'lodash/findKey';\r\nimport { PosInitData } from 'tplus-poslogin';\r\nimport { getFixedNumber } from './utils'\r\nimport {ccApi,tApi, User} from 'tplus-api';\r\nimport _clonedeep from 'lodash/cloneDeep';\r\nimport Message from '../message';\r\nimport { platform,enumController } from 'mutants-util';\r\nimport { printDispatch,DoNameList,ModalWraper } from 'tplus-components-touch'\r\nimport moment from \"moment\";\r\nimport _reduce from 'lodash/reduce';\r\n\r\nconst t = i18n.getFixedT(null, 'newretail');\r\n\r\nexport default class SettlementStore {\r\n paymode = null\r\n dto=null\r\n member=null\r\n brefund=false\r\n context\r\n bquick=false;\r\n amountHandler\r\n dataSource\r\n storeInfo\r\n updateEvent\r\n type\r\n boriginReturn=false\r\n newStyle=true//type==2\r\n billID\r\n constructor(){\r\n this.paymode= new PayMode()\r\n let params = localStore && localStore.get('cloudPrintArguments');\r\n if (params) this.cloudPrintArguments = params;\r\n this.newStyle=localStore && localStore.get('voucherDefaultPosMode')=='voucher';\r\n }\r\n\r\n initPaymodes(event,type,isIntegralExchange){\r\n this.isIntegralExchange = isIntegralExchange;\r\n this.paymode.setPaymodes(type,isIntegralExchange);\r\n this.updateEvent=event;\r\n }\r\n\r\n init(context,amounthandler,datasource,storeinfo,bquick,amount,type,data){\r\n this.newStyle=localStore && localStore.get('voucherDefaultPosMode')=='voucher';\r\n this.type=type;\r\n if(context){\r\n this.context=context;\r\n this.amountHandler=amounthandler;\r\n this.dataSource=datasource;\r\n this.storeInfo=storeinfo;\r\n this.dto=context.viewModel.data;\r\n runInAction(()=>{\r\n // 单品金额抹零\r\n if (global.DealSingleRowAmountSettingProcessorBlock) {\r\n global.DealSingleRowAmountSettingProcessorBlock.execute(this.dto);\r\n }\r\n // 成交金额抹零\r\n if (global.DealAmountSettingProcessorBlock) {\r\n global.DealAmountSettingProcessorBlock.execute(this.dto);\r\n }\r\n });\r\n // this.member=context.stores && context.stores.memberStore && context.stores.memberStore.member;\r\n this.member=this.dto.Member;//stores.selectMemberStore.selectMemberInfo;\r\n this.brefund=this.paymode.setAmount( this.dto.TotalTaxAmount ,this.dto.OnlinePaymentAmount );\r\n }else{\r\n this.brefund=this.paymode.setAmount( amount ,0 );\r\n this.dto=data;\r\n }\r\n this.paymode.clean();\r\n \r\n //this.dto.TotalTaxAmount<0;\r\n this.bquick=!!bquick;\r\n this.boriginReturn=JSON.getCellValue(this.dto, \"IsOriginalReturn\");\r\n if(this.boriginReturn){\r\n this.initByOriginReturn();\r\n }\r\n if(this.newStyle){\r\n this.setModes();\r\n }\r\n }\r\n\r\n setModes(){\r\n _each(this.paymode.paymodes,(p)=>{\r\n if(_findIndex(this.paymode.thePaymodes,(mode)=>{return p.paymentType==mode.paymentType})==-1){\r\n this.addPay(p.paymentType);\r\n }\r\n });\r\n if(!this.boriginReturn && this.paymode.thePaymodes.length>0){\r\n this.changeValue(this.paymode.thePaymodes[0].paymethodId,0,true);\r\n }\r\n }\r\n\r\n amountChanged(amount){\r\n if(this.type==1){\r\n this.brefund=this.paymode.setAmount( amount ,0 );\r\n }\r\n\r\n }\r\n\r\n @action queryPwd = (newPass, newPassConfirm) => {\r\n if (!newPass || !newPassConfirm) {\r\n return Message.warn('您还有未填写项');\r\n }\r\n if (newPass !== newPassConfirm) {\r\n return Message.warn('您两次输入的密码不一致');\r\n }\r\n let idstore = PosInitData('storeID');\r\n return ccApi({ \r\n Idstore: idstore,\r\n meMemberId: this.member.ID,\r\n oldPassword: null,\r\n newPassword: User.pwdEncrypt(newPassConfirm),\r\n dataSource:\"POS\"\r\n }, '/member/MeMemberWallet/setWalletPayPassword', false, false, { method: 'post', timeout_skip: true }).then((resp) => {\r\n if (resp.successful) {\r\n return true;\r\n }\r\n });\r\n }\r\n\r\n @action\r\n initByOriginReturn(){\r\n const { PayStyle } = enumController.getEnumOj();\r\n const { isNewRetailBCPos } = platform || {};\r\n console.log(this.dto, 'dto==========');\r\n this.paymode.checkList = [];\r\n _each(this.dto.RetailPaymentDetails,(detail)=>{\r\n let themode=_find(this.paymode.paymodes,{'idSettleStyle':detail.IdsettleStyle});\r\n if (detail.SettleStyle.Code === PayStyle.hyczk && !themode) {\r\n ModalWraper.info({\r\n title: '温馨提示',\r\n content: '没有储值结算方式,请在后台添加储值余额结算方式。',\r\n okText:'确定',\r\n okType:'primary'\r\n });\r\n }\r\n if(themode && themode.paymentType && themode.paymentType!=PayStyle.hyczk){\r\n let newmode={\r\n ...this.genNewMode(themode.paymentType,false,detail.Amount),\r\n authCode:detail.PaymentCode,\r\n steadCashIntegral:detail.SteadCashIntegral,\r\n overchargesAmount:detail.OverchargesAmount,\r\n boriginReturn:true\r\n };\r\n this.paymode.currentMode=newmode;\r\n if(themode.paymentType==PayStyle.djq){\r\n _each(this.dto.RetailCouponDetails,(djq)=>{\r\n if (isNewRetailBCPos) {\r\n const { displayText, promoRuleId, dateMount, promoMethodEnum, discountPct, promoId, id } = djq || {};\r\n this.addDjq(djq.CouponCode, djq.CouponTitle, true, djq.ReductionAmount, djq.EnableAmount, djq.LastTS, true, false, \r\n this.dto.Idmember,\r\n dateMount,\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n null,\r\n id,\r\n true);\r\n return;\r\n }\r\n this.addDjq(djq.CouponCode, djq.CouponTitle, true, djq.ReductionAmount, djq.EnableAmount, djq.LastTS, true, false,);\r\n })\r\n }\r\n this.paymode.thePaymodes.push(newmode)\r\n }\r\n })\r\n _each(this.dto.RetailStorageDetails,(detail)=>{\r\n let balanceAmount = detail.Member.BalanceStorage;\r\n balanceAmount = balanceAmount - detail.StoragePaymentAmount;\r\n let newmode={\r\n ...this.genNewMode(PayStyle.hyczk,false,detail.StoragePaymentAmount),\r\n member:new Member(detail.Member),\r\n authCode:detail.Password,\r\n balance:balanceAmount,\r\n boriginReturn:true\r\n };\r\n this.paymode.thePaymodes.push(newmode)\r\n })\r\n this.paymode.calcReserved();\r\n }\r\n\r\n clean(){\r\n this.bquick=false;\r\n this.paymode.clean();\r\n }\r\n\r\n @action quickSettle(key){\r\n this.addPay(key);\r\n }\r\n\r\n //outer call\r\n //(type===PayStyle.hyczk || type===PayStyle.jfczk || type===PayStyle.jfdx || type===PayStyle.djq)\r\n @action changeFocusAndAddPay(type){\r\n const { PayStyle } = enumController.getEnumOj();\r\n this.paymode.currentFocus=type;\r\n if(this.paymode.currentMode){\r\n if(type==PayStyle.jfdx){\r\n if(this.newStyle){\r\n let index=_findIndex(this.paymode.thePaymodes,(m)=>{return m.paymentType==PayStyle.jfdx});\r\n this.paymode.thePaymodes.splice(index,1,this.paymode.currentMode);\r\n this.paymode.calcReserved();\r\n }else{\r\n this.addPayDirectly(this.paymode.currentMode);\r\n }\r\n \r\n //抵现积分\r\n tApi({IntegralSteadCashParams:{\r\n Idmember:this.paymode.currentMode.member.id,\r\n TotalTaxAmount:this.paymode.amount,\r\n BalanceTaxAmount: this.paymode.currentMode.value,\r\n }}, 'AA.DR.newRetailMember.CalculdateIntegralSteadCash', false, false).then((result)=>{\r\n this.paymode.currentMode.steadCashIntegral=result.Integral;\r\n this.paymode.currentMode.overchargesAmount=result.Amount-this.paymode.currentMode.value;\r\n });\r\n }else{\r\n this.addPayDirectly(this.paymode.currentMode);\r\n }\r\n }else{\r\n this.addPay(type);\r\n }\r\n }\r\n\r\n // 设置密码后更新会员信息\r\n @action updateMemberInfo = async (_this) => {\r\n const { IdStore, StoreCode } = this.getLoginInfo();\r\n const resp = await tApi({ Idmember: this.member.ID, IdStore, StoreCode }, 'chanjet.AA.DR.INewRetailMember.GetUmemberDTO', false, false);\r\n _this.member = resp;\r\n _this.paymode.currentMode.member.setStorageCardNo(resp.StorageCardNo);\r\n return Promise.resolve(resp);\r\n }\r\n\r\n getLoginInfo() {\r\n const { loginInfo = {} } = localStore.get('user') || {};\r\n return loginInfo;\r\n }\r\n\r\n loadCzk(v){\r\n if(_trim(v)===\"\"){\r\n runInAction(()=>{\r\n this.paymode.currentMode.member = new Member( null );\r\n this.paymode.currentMode.errinfo=\"请输入储值卡\";\r\n });\r\n return;\r\n }\r\n const IdStore=this.storeInfo.storeID;\r\n const StoreCode=this.storeInfo.storeCode;//_find(this.storeInfo.storeInfos,(store)=>{return store.ID==IdStore;}).Code;\r\n const { isNewRetailBCPos } = platform || {};\r\n let address = ''\r\n if (isNewRetailBCPos) {\r\n // address = '/member/memberProfile/FindByStorageCode/'+v;\r\n address = `/member/MeMemberWallet/FindByStorageCode`\r\n return ccApi({code:v}, address, false, false, { method: 'get', timeout_skip: true })\r\n .then((result)=>{\r\n let data=result.data;\r\n let m=data;\r\n const { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n this.paymode && this.paymode.currentMode.member.setMeStorageCardId(m.MeStorageCardId);\r\n this.paymode && this.paymode.currentMode.member.setStorageCardNo(m.StorageCardNo);\r\n this.paymode && (this.paymode.currentMode.MeStorageCardId = m.MeStorageCardId);\r\n this.paymode && (this.paymode.currentMode.StorageCardNo = m.StorageCardNo);\r\n }\r\n if(!m || !m.ID){\r\n runInAction(()=>{this.paymode.currentMode.errinfo=\"无效的会员卡号\";});\r\n }\r\n else{\r\n runInAction(()=>{\r\n this.paymode.currentMode.errinfo=\"\";\r\n this.paymode.currentMode.member = new Member( m )\r\n this.paymode.currentMode.value=getFixedNumber(this.brefund?this.paymode.receivable:Math.max(this.paymode.receivable,0));\r\n this.updateEvent();\r\n let message='';\r\n const sum = _reduce(this.paymode.thePaymodes, (total, cur) => total + cur.value, 0)\r\n if (global.CheckMemberStorageProcessorBlock ) {\r\n message= CheckMemberStorageProcessorBlock.execute(m);\r\n }\r\n if (!String.isNullOrEmpty(message)) {\r\n this.paymode.currentMode.errinfo=message;\r\n }\r\n else if(this.checkReceived(this.paymode.currentMode,\"balance\")){\r\n this.paymode.currentMode.errinfo=\"余额不足\";\r\n }else if(this.paymode.amount>0 && parseFloat(this.paymode.amount) !== sum && this.paymode.currentMode.value==0){\r\n this.paymode.currentMode.errinfo=\"实收金额必须录入\";\r\n } else {\r\n // 查询成功后将焦点移入下一个输入框\r\n const nextInput = document.querySelector('.czk .received .input');\r\n nextInput && nextInput.select();\r\n }\r\n });\r\n }\r\n })\r\n } else {\r\n address = 'AA.DR.newRetailMember.SearchMember'\r\n return tApi({SearchParams:{Key:v,IsSingleMember:true,IdStore,StoreCode}}, address, false, false)\r\n .then((result)=>{\r\n let data=JSON.parse(result.Data);\r\n let m=data && data.length>0 && data[0];\r\n const { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n this.paymode && this.paymode.currentMode.member.setMeStorageCardId(m.MeStorageCardId);\r\n this.paymode && this.paymode.currentMode.member.setStorageCardNo(m.StorageCardNo);\r\n this.paymode && (this.paymode.currentMode.MeStorageCardId = m.MeStorageCardId);\r\n this.paymode && (this.paymode.currentMode.StorageCardNo = m.StorageCardNo);\r\n }\r\n if(!m || !m.ID){\r\n runInAction(()=>{this.paymode.currentMode.errinfo=\"无效的会员卡号\";});\r\n }\r\n else{\r\n runInAction(()=>{\r\n this.paymode.currentMode.errinfo=\"\";\r\n this.paymode.currentMode.member = new Member( m )\r\n this.paymode.currentMode.value=getFixedNumber(this.brefund?this.paymode.receivable:Math.max(this.paymode.receivable,0));\r\n this.updateEvent();\r\n let message='';\r\n if (global.CheckMemberStorageProcessorBlock ) {\r\n message= CheckMemberStorageProcessorBlock.execute(data[0]);\r\n }\r\n if (!String.isNullOrEmpty(message)) {\r\n this.paymode.currentMode.errinfo=message;\r\n }\r\n else if(this.checkReceived(this.paymode.currentMode,\"balance\")){\r\n this.paymode.currentMode.errinfo=\"余额不足\";\r\n }else if(this.paymode.amount>0 && this.paymode.currentMode.value==0){\r\n this.paymode.currentMode.errinfo=\"实收金额必须录入\";\r\n } else {\r\n // 查询成功后将焦点移入下一个输入框\r\n const nextInput = document.querySelector('.czk .received .input');\r\n nextInput && nextInput.focus();\r\n }\r\n });\r\n }\r\n })\r\n }\r\n }\r\n getCouponList = coupon_code => {\r\n const { PayStyle, Differentiate } = enumController.getEnumOj();\r\n const couponApplyRule = PosInitData('CouponApplyRule');\r\n const { CouponApplyRule } = enumController.getEnumOj();\r\n if((couponApplyRule == CouponApplyRule.SHOWN_BY_CUSTOMER && !!coupon_code) || couponApplyRule != CouponApplyRule.SHOWN_BY_CUSTOMER){\r\n let dto = this.dto;\r\n let promoVoucher = {};\r\n this.paymode.clearDjqs();\r\n this.paymode.reCalculationDjqs();\r\n // promoVoucher.bizDate = dto.VoucherDate;\r\n // promoVoucher.bizDate = new Date().getTime();\r\n promoVoucher.coupon_code = coupon_code || \"\";\r\n promoVoucher.boName = \"Retail\";\r\n promoVoucher.voucherId = dto.ID;\r\n let onlinePaymentAmount=0;\r\n if(dto.OnlinePaymentAmount)\r\n {\r\n onlinePaymentAmount=dto.OnlinePaymentAmount;\r\n }\r\n promoVoucher.promoLinks = _filter(this.paymode.currentMode.djqs,djq=>djq.checked);\r\n promoVoucher.totalAmountWithTax =Math.Minus(dto.TotalTaxAmount,onlinePaymentAmount);\r\n promoVoucher.redBlueFlagEnum = \"BLUE\";\r\n promoVoucher.meMemberId = dto.Idmember;\r\n promoVoucher.storeFactorId = dto.Idstore;\r\n promoVoucher.voucherDetailList = [];\r\n dto.RetailDetails.forEach(item => {\r\n let detailDTO = {};\r\n detailDTO.uuid = item.Code;\r\n detailDTO.detailBoName = \"RetailDetail\";\r\n detailDTO.voucherDetailId = item.ID;\r\n detailDTO.productId = item.Idinventory;\r\n detailDTO.uomId = item.Idunit;\r\n detailDTO.productSpecId=item.ProductSpecId;\r\n detailDTO.isManualFreeGift = item.IsPresent;\r\n detailDTO.isListPriceIncludingTax = item.TaxFlag || true;\r\n detailDTO.IsManualChangePrice = item.IsManualChangePrice;\r\n // if(detailDTO.IsManualChangePrice)//如果是手工改价\r\n // {\r\n // detailDTO.listPrice = item.TaxPrice;\r\n // detailDTO.netAmountWithTax = item.TaxAmount;\r\n // }\r\n // else\r\n // {\r\n let bookingQuantity=0;\r\n if(item.BookingQuantity)\r\n {\r\n bookingQuantity=item.BookingQuantity;\r\n }\r\n detailDTO.listPrice = JSON.getCellValue(item, \"listPrice\");\r\n detailDTO.netAmountWithTax = Math.Multiply(detailDTO.listPrice,Math.Minus(item.Quantity,bookingQuantity));//item.TaxAmount;\r\n //} \r\n detailDTO.taxRate = item.TaxRate;\r\n detailDTO.quantity = item.Quantity;\r\n \r\n detailDTO.amountWithTax = item.RetailAmount;\r\n // 促销 start\r\n if(item.PromotionDetails && item.PromotionDetails.length != 0){\r\n let promoLinks = [];\r\n item.PromotionDetails.forEach((promotion)=>{\r\n promoLinks.push({\r\n promoId:promotion.IdSalesPromotionDTO,\r\n promoRuleId:promotion.PromotionRuleId\r\n })\r\n })\r\n if(promoLinks.length != 0) detailDTO.promoLinks = promoLinks;\r\n }\r\n // 促销 end\r\n promoVoucher.voucherDetailList.push(detailDTO);\r\n });\r\n \r\n return ccApi({\r\n ...promoVoucher\r\n }, 'promotion/PromoCalculate/findUsefulCouponPromoList', false, false,{method:'post',timeout_skip:true})\r\n .then((result)=>{\r\n if(result && result.length != 0 ){\r\n result.forEach((element)=>{\r\n const { couponCode, name, tieredAmountResult, fromDate , dateMount , promoMethodEnum , discountPct, nominalAmount,promoId,id} = element || {};\r\n const { condValue, promoDiscount,displayText,promoRuleId, couponCategoryEnum } = tieredAmountResult\r\n if (result.IsRepelWithPoints && _find(this.paymode.thePaymodes, (themode) => { return themode.paymentType == PayStyle.jfdx; })) {\r\n Message.error(`${Differentiate.COUPON}(${result.SN})不可与积分一起使用`);\r\n }\r\n else {\r\n let IsEnable = (couponCategoryEnum === 'RIGUP' || couponCategoryEnum === 'UN_MATCH' || couponCategoryEnum === \"PREPARING\" || couponCategoryEnum === 'PROMO_LIMITED' || couponCategoryEnum === 'COUPON_CONFLICT') ? false : true ;\r\n let { isNewRetailBCPos } = platform || {};\r\n this.addDjq(\r\n couponCode,\r\n name,\r\n IsEnable,\r\n promoMethodEnum == \"CASH_COUPON\"?nominalAmount: promoDiscount,\r\n condValue, \r\n null,\r\n false, \r\n !result.IsRepelWithPoints, \r\n dto.Idmember,\r\n dateMount,\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n couponCategoryEnum,\r\n id,\r\n true, 1)\r\n }\r\n })\r\n if(promoVoucher.coupon_code){\r\n this.paymode.calcDjqCheckValue(this.paymode.currentMode.djqs[0], this.dto, 'single')\r\n }\r\n }else{\r\n if (promoVoucher.coupon_code) {\r\n Message.info(`${Differentiate.COUPON}号不存在!`);\r\n this.getCouponList();\r\n } else {\r\n Message.info(`没有找到可使用的${Differentiate.COUPON}!`)\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n getSettleGift = () => {\r\n return ccApi({ }, `/marketingtool/paygift/executeRightsForPos/${this.billID}`, false, false, { method: 'get', timeout_skip: true });\r\n }\r\n\r\n checkCoupon = async (sn) => {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n return await this.getCouponList(sn, 'sinlge');\r\n } else {\r\n const { PayStyle, Differentiate } = enumController.getEnumOj();\r\n return tApi({request:{\r\n Uid:this.paymode.currentMode.member.uid || '',\r\n SN:sn,\r\n StoreCode:this.dto.Idstore,\r\n Inventories:_map(_filter(this.dto.RetailDetails,(d)=>{return d.Quantity>0 && !d.IsPresent}),(detail)=>{return {\r\n IdInventory:detail.Inventory.ID,\r\n IdUnit:detail.Idunit,\r\n Code:detail.Inventory.Code,\r\n FreeItem0:JSON.getCellValue(detail,\"freeitem0\"),\r\n FreeItem1:JSON.getCellValue(detail,\"freeitem1\"),\r\n FreeItem2:JSON.getCellValue(detail,\"freeitem2\"),\r\n FreeItem3:JSON.getCellValue(detail,\"freeitem3\"),\r\n FreeItem4:JSON.getCellValue(detail,\"freeitem4\"),\r\n FreeItem5:JSON.getCellValue(detail,\"freeitem5\"),\r\n FreeItem6:JSON.getCellValue(detail,\"freeitem6\"),\r\n FreeItem7:JSON.getCellValue(detail,\"freeitem7\"),\r\n FreeItem8:JSON.getCellValue(detail,\"freeitem8\"),\r\n FreeItem9:JSON.getCellValue(detail,\"freeitem9\"),\r\n }}),\r\n // inventoryCodes:_join(_map(this.dto.RetailDetails,(detail)=>{return detail.Inventory.Code;}),','),\r\n InventoryClassCodes:_join(_map(_filter(this.dto.RetailDetails,(d)=>{return d.Quantity>0}),(detail)=>{return (detail.Inventory.InventoryClass||{Code:''}).Code;}),','),\r\n Amount:this.paymode.amount\r\n }}, 'chanjet.AA.DR.coupon.CheckCoupon', false, false)\r\n .then((result)=>{\r\n if(_find(this.paymode.currentMode.djqs,(djq)=>{return djq.code==result.SN})){\r\n Message.info(`${Differentiate.COUPON}已添加`);\r\n }else if(result.IsRepelWithPoints && _find(this.paymode.thePaymodes,(themode)=>{return themode.paymentType==PayStyle.jfdx;})){\r\n Message.error(`${Differentiate.COUPON}(${result.SN})不可与积分一起使用`);\r\n }\r\n else{\r\n this.addDjq(\r\n result.SN,\r\n result.Title,\r\n result.ReduceAmount,\r\n result.StartAmount,\r\n result.LastTS,\r\n false,\r\n !result.IsRepelWithPoints,\r\n result.UMemberID)\r\n }\r\n \r\n })\r\n }\r\n }\r\n @action addDjq(\r\n promoCouponCode,\r\n name,\r\n IsEnable,\r\n amount,\r\n doorsill,\r\n LastTS,\r\n checked,\r\n IsRepelWithPoints,\r\n UMemberID,\r\n expired,\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n couponCategoryEnum,\r\n id,\r\n unCheck,count\r\n ){\r\n let djq={\r\n code: promoCouponCode,\r\n promoCouponCode,\r\n name,\r\n IsEnable,\r\n amount,\r\n doorsill,//:\"无门槛\"\r\n LastTS,\r\n checked,\r\n IsRepelWithPoints,\r\n UMemberID,\r\n expired, //还剩多少过期\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n couponCategoryEnum,\r\n id,\r\n count: (count === 1 && (couponCategoryEnum === 'RIGUP' || couponCategoryEnum === 'UN_MATCH' || couponCategoryEnum === \"PREPARING\" || couponCategoryEnum === 'PROMO_LIMITED' || couponCategoryEnum === 'COUPON_CONFLICT') ? 1 : null)\r\n };\r\n this.paymode.currentMode.djqs.push(\r\n djq\r\n );\r\n // let copyData = _clonedeep(this.data[targetIndex]);\r\n !unCheck && !this.boriginReturn && this.paymode.calcDjqValue(djq);\r\n }\r\n\r\n setCurrentMode(id,type,append){\r\n const { PayStyle } = enumController.getEnumOj();\r\n const mode=_find(this.paymode.thePaymodes,{paymethodId:id});\r\n if(mode){\r\n this.paymode.currentMode=mode;\r\n if(this.newStyle){\r\n this.afterSetCurrentMode(type);\r\n }\r\n }else{\r\n this.paymode.currentMode=this.genNewMode(type,append);\r\n this.afterSetCurrentMode(type);\r\n }\r\n }\r\n afterSetCurrentMode(type){\r\n const { PayStyle } = enumController.getEnumOj();\r\n if(type==PayStyle.djq){\r\n this.paymode.calcDjqValue();\r\n }else if(type==PayStyle.jfdx){\r\n //获取可兑换的金额\r\n if(this.newStyle){\r\n const themode=_find(this.paymode.thePaymodes,{paymentType:PayStyle.jfdx});\r\n if(themode && parseFloat(themode.value||0)!=0){\r\n this.paymode.currentMode.value=themode.value;\r\n }\r\n }\r\n \r\n tApi({IntegralSteadCashParams:{\r\n Idmember:this.paymode.currentMode.member.id,\r\n TotalTaxAmount:this.paymode.amount,\r\n BalanceTaxAmount:this.paymode.amount,\r\n }}, 'AA.DR.newRetailMember.CalculdateIntegralSteadCash', false, false).then((result)=>{\r\n this.paymode.currentMode.member.setExchangable(result.MaxAmount);\r\n this.updateEvent();\r\n if(this.checkReceived(this.paymode.currentMode,\"exchangable\")){\r\n runInAction(()=>{this.paymode.currentMode.errinfo='余额不足'})\r\n }\r\n });\r\n\r\n }\r\n }\r\n\r\n\r\n checkReceived(mode,name){\r\n return !this.brefund && parseFloat(mode.value)>parseFloat(mode.maxamount || mode.member[name]||0);\r\n }\r\n\r\n genNewMode(type,notwithm,v){\r\n const { PayStyle } = enumController.getEnumOj();\r\n let value=getFixedNumber(v || (this.brefund?this.paymode.receivable:Math.max(this.paymode.receivable,0)));\r\n let themode=_find(this.paymode.paymodes,{'paymentType':type});\r\n const mode = observable({\r\n paymethodId:this.paymode.counter,\r\n name:themode.name,\r\n exchangeRate:themode.exchangeRate,\r\n calDirection:themode.calDirection,\r\n value,\r\n value2:getFixedNumber(themode.calDirection==\"88\"?value / themode.exchangeRate:(value * themode.exchangeRate)),\r\n value3:value,\r\n order:this.paymode.thePaymodes.length+1,\r\n paymentType:type,\r\n djqs:[],\r\n member:new Member(!notwithm?this.member:null),\r\n authCode:'',\r\n steadCashIntegral:null,\r\n errinfo:'',\r\n maxamount:this.paymode.amount,\r\n });\r\n if(type==PayStyle.hyczk){\r\n if(!mode.member.id || !mode.member.StorageCardNo){\r\n runInAction(()=>{mode.errinfo='未录入储值卡'})\r\n }else if(this.checkReceived(mode,\"balance\")){\r\n runInAction(()=>{mode.errinfo='余额不足'})\r\n }\r\n\r\n }\r\n if(type==PayStyle.hyczk || type==PayStyle.jfdx || type==PayStyle.djq){\r\n this.setMaxAmount(type,mode);\r\n }\r\n console.log(mode);\r\n return mode;\r\n }\r\n\r\n setMaxAmount(type,mode){\r\n const { PayStyle } = enumController.getEnumOj();\r\n let sum=0;\r\n if(type==PayStyle.hyczk){\r\n _each(_filter(this.paymode.thePaymodes,(m)=>{return m.paymentType==type;}),(q)=>{\r\n sum=Math.Add(sum,q.value);\r\n });\r\n }else if(type==PayStyle.djq || type==PayStyle.jfdx){\r\n _each(_filter(this.paymode.thePaymodes,(m)=>{return m.paymentType==PayStyle.djq || m.paymentType==PayStyle.jfdx;}),(q)=>{\r\n sum=Math.Add(sum,q.value);\r\n });\r\n }\r\n\r\n this.amountHandler && this.amountHandler(type).then(()=>{\r\n runInAction(()=>{\r\n mode.maxamount=getFixedNumber(Math.Minus(this.context.viewModel.getViewItem('Voucher').availableAmount,sum));\r\n this.updateEvent();\r\n })\r\n })\r\n }\r\n\r\n @action changeFocusOnly(type){\r\n this.paymode.currentFocus=type;\r\n // 获取焦点时带入剩余的值\r\n // let mode=_find(this.paymode.thePaymodes,{'paymentType':type});\r\n // if(mode && this.isIntegralExchange){\r\n // const shouldSetValue =getFixedNumber(parseFloat(this.paymode.receivable) + parseFloat(mode.value));\r\n // mode.value = shouldSetValue;\r\n // mode.value2 = getFixedNumber(mode.calDirection==\"88\"?shouldSetValue / mode.exchangeRate:(shouldSetValue * mode.exchangeRate));\r\n // mode.value3 = shouldSetValue;\r\n // this.paymode.calcReserved();\r\n // }\r\n }\r\n\r\n @action changeClickFocusOnly(type) {\r\n this.paymode.currentFocus=type;\r\n // 获取焦点时带入剩余的值\r\n let mode=_find(this.paymode.thePaymodes,{'paymentType':type});\r\n if(mode){\r\n const shouldSetValue =getFixedNumber(parseFloat(this.paymode.receivable) + parseFloat(mode.value));\r\n mode.value = shouldSetValue;\r\n mode.value2 = getFixedNumber(mode.calDirection==\"88\"?shouldSetValue / mode.exchangeRate:(shouldSetValue * mode.exchangeRate));\r\n mode.value3 = shouldSetValue;\r\n this.paymode.calcReserved();\r\n }\r\n }\r\n\r\n @action changeValue(index,value,blur){\r\n let mode=_find(this.paymode.thePaymodes,{'paymethodId':index});\r\n let v=blur?getFixedNumber(value) : (isNaN(value)&&value!='-'?0.00:value);\r\n if(mode){\r\n if(mode.exchangeRate != 1){\r\n if(getFixedNumber(mode.calDirection==\"88\"?mode.value3 / mode.exchangeRate:(mode.value3 * mode.exchangeRate)) !=v){\r\n mode.value=getFixedNumber(mode.calDirection==\"88\"?v*mode.exchangeRate : (v / mode.exchangeRate));\r\n }\r\n else{\r\n mode.value=mode.value3;\r\n }\r\n mode.value2=v;\r\n }else{\r\n mode.value=v;\r\n mode.value2=v;\r\n }\r\n\r\n this.paymode.calcReserved();\r\n }\r\n }\r\n\r\n @action addPayDirectly(pay){\r\n const { PayStyle } = enumController.getEnumOj();\r\n if(!_find(this.paymode.thePaymodes,{paymethodId:pay.paymethodId})){\r\n let pos=this.paymode.thePaymodes.length;\r\n if(pay.paymentType==PayStyle.hyczk){\r\n let index=_findLastIndex(this.paymode.thePaymodes,(m)=>{return m.paymethodId!=pay.paymethodId && m.paymentType==PayStyle.hyczk});\r\n pos=index==-1?pos:(index+1);\r\n }\r\n // this.paymode.thePaymodes.push(pay);\r\n this.paymode.thePaymodes.splice(pos,0,pay);\r\n }\r\n this.paymode.calcReserved();\r\n }\r\n\r\n @action addPay(type){\r\n const { PayStyle } = enumController.getEnumOj();\r\n let pos=this.paymode.thePaymodes.length;\r\n if(type==PayStyle.hyczk){\r\n let index=_findLastIndex(this.paymode.thePaymodes,(m)=>{return m.paymentType==PayStyle.hyczk});\r\n pos=index==-1?pos:(index+1);\r\n }\r\n // this.paymode.thePaymodes.push(this.genNewMode(type) );\r\n this.paymode.thePaymodes.splice(pos,0,this.genNewMode(type,this.newStyle && type==PayStyle.hyczk));\r\n this.paymode.calcReserved();\r\n }\r\n\r\n @action delPay(index){\r\n const { PayStyle } = enumController.getEnumOj();\r\n _remove(this.paymode.thePaymodes,(mode)=>{\r\n return mode.paymethodId===index;\r\n });\r\n this.paymode.currentFocus = -1;\r\n this.paymode.calcReserved();\r\n }\r\n\r\n async commit(bTest){\r\n console.log('settlementStore.commit开始,参数:'+bTest);\r\n if(bTest){\r\n return Promise.resolve(true);\r\n }\r\n let { isNewRetailBCPos } = platform || {};\r\n try{\r\n if(this.type==1){\r\n await this.saveMember();\r\n }else{\r\n if(isNewRetailBCPos){\r\n await stores.offlineSys.generatorCode(this.dto);\r\n }\r\n await this.save();\r\n if(isNewRetailBCPos){\r\n await stores.offlineSys.retailSequenceUpload();\r\n }\r\n }\r\n return Promise.resolve(true);\r\n }catch(err){\r\n console.error('settlementStore.commit失败,错误信息:'+err);\r\n return Promise.resolve(err);\r\n }\r\n }\r\n\r\n handlePrint(resp) {\r\n // 储值打印\r\n return printDispatch(DoNameList.DO_STORAGE_PRINT,resp,{}) \r\n }\r\n\r\n saveMember(){\r\n const { PayStyle } = enumController.getEnumOj();\r\n runInAction(()=>{\r\n this.dto.StorageMutiSettleDetails=[];\r\n const thePaymodes = this.newStyle ?_filter(this.paymode.thePaymodes,(mode)=>{return parseFloat(mode.value)!=0;}):this.paymode.thePaymodes;\r\n _each(thePaymodes,(mode)=>{\r\n const themode=_find(this.paymode.paymodes,{'paymentType':mode.paymentType});\r\n\r\n let value=parseFloat(mode.value);\r\n let giveChange=null;\r\n if(mode.paymentType==PayStyle.xianjin && this.paymode.receivable<0 && value>Math.abs(this.paymode.receivable)){\r\n value=Math.Add(value,this.paymode.receivable);\r\n giveChange=Math.abs(this.paymode.receivable);\r\n }\r\n this.dto.StorageMutiSettleDetails.push({\r\n Code:mode.paymethodId,\r\n StorageAmount:value,\r\n GiveChange:giveChange,\r\n IdsettleStyle:themode.idSettleStyle,\r\n IdbankAccount:themode.idBankAccount,\r\n PaymentCode:mode.authCode,\r\n DynamicPropertyKeys:[],\r\n DynamicPropertyValues:[],\r\n DataSource:{Id:this.dataSource},\r\n })\r\n });\r\n\r\n });\r\n // cc结算调用\r\n let IPMSG = {};\r\n if (!!window.localStorage.IPMSG) {\r\n IPMSG = JSON.parse(window.localStorage.IPMSG);\r\n }\r\n return tApi({dto:this.dto}, 'chanjet.ME.INewRetailMemberStorage.Save', false, false).then((resp)=>{\r\n this.handlePrint(resp);\r\n });\r\n }\r\n\r\n async save(){\r\n const { PayStyle } = enumController.getEnumOj();\r\n runInAction(()=>{\r\n this.dto.RetailPaymentDetails=[];\r\n this.dto.RetailStorageDetails=[];\r\n this.dto.RetailCouponDetails=[];\r\n let czkSum=0;\r\n let Idmember=this.dto.Idmember;\r\n let count = 0;\r\n const thePaymodes = this.newStyle ?_filter(this.paymode.thePaymodes,(mode)=>{return parseFloat(mode.value)!=0;}):this.paymode.thePaymodes;\r\n _each(thePaymodes,(mode, index)=>{\r\n const themode=_find(this.paymode.paymodes,{'paymentType':mode.paymentType});\r\n if(mode.paymentType==PayStyle.hyczk){\r\n if(!Idmember){\r\n Idmember=mode.member.id;\r\n }\r\n czkSum=Math.Add(czkSum,mode.value);\r\n let MeStorageCardId = (mode.member.MeStorageCardId ? mode.member.MeStorageCardId : this.member.MeStorageCardId);\r\n this.dto.RetailStorageDetails.push({\r\n Code:mode.paymethodId,\r\n MeStorageCardId,\r\n StoragePaymentAmount:mode.value,\r\n IsOrigReturn:false,\r\n BalanceStorage:mode.balance,\r\n Idmember:mode.member.id,\r\n DynamicPropertyKeys:[],\r\n DynamicPropertyValues:[],\r\n DataSource:{Id:this.dataSource},\r\n Password:mode.authCode,\r\n })\r\n }else{\r\n let value=parseFloat(mode.value);\r\n let giveChange=null;\r\n if(mode.paymentType==PayStyle.xianjin && this.paymode.receivable<0 && value>Math.abs(this.paymode.receivable)){\r\n value=Math.Add(value,this.paymode.receivable);\r\n giveChange=Math.abs(this.paymode.receivable);\r\n }\r\n this.dto.RetailPaymentDetails.push({\r\n Code:mode.paymethodId,\r\n OrigAmount:mode.exchangeRate!=1?mode.value2:value,\r\n Amount:value,\r\n GiveChange:giveChange,\r\n IdsettleStyle:themode.idSettleStyle,\r\n IdbankAccount:themode.idBankAccount,\r\n Idcurrency:themode.idCurrency,\r\n ExchangeRate:themode.exchangeRate,\r\n PaymentCode:mode.authCode,\r\n SteadCashIntegral:mode.steadCashIntegral,\r\n OverchargesAmount:mode.overchargesAmount,\r\n DynamicPropertyKeys:[],\r\n DynamicPropertyValues:[],\r\n DataSource:{Id:this.dataSource},\r\n })\r\n if(mode.paymentType==PayStyle.djq){\r\n _each(this.paymode.checkList && this.paymode.checkList.length ? this.paymode.checkList: mode.djqs,(djq)=>{\r\n this.dto.RetailCouponDetails.push({\r\n CouponCode:djq.promoCouponCode,\r\n ReductionAmount:djq.amount,\r\n EnableAmount:djq.doorsill,\r\n CouponTitle:djq.name,\r\n IdMember:djq.UMemberID?mode.member.id:null,\r\n LastTS:djq.LastTS,\r\n PromotionId:djq.promoId,\r\n PromotionRuleId:djq.promoRuleId,\r\n PromoCouponAllocatedId:djq.id,\r\n DataSource:{Id:this.dataSource},\r\n })\r\n })\r\n }\r\n }\r\n });\r\n let { isNewRetailBCPos } = platform || {};\r\n if(this.dto.RetailStorageDetails.length>0){\r\n const themode=_find(this.paymode.paymodes,{'paymentType':PayStyle.hyczk});\r\n if (isNewRetailBCPos) {\r\n // this.dto.RetailStorageDetails && this.dto.RetailStorageDetails.forEach((value, index) => {\r\n // value.MeStorageCardId = (mode.MeStorageCardId ? mode.MeStorageCardId : this.member.MeStorageCardId);\r\n // })\r\n this.dto.RetailPaymentDetails.push({\r\n Code:this.paymode.counter,\r\n OrigAmount:czkSum,\r\n Amount:czkSum,\r\n IdsettleStyle:themode.idSettleStyle,\r\n IdbankAccount:themode.idBankAccount,\r\n DynamicPropertyKeys:[],\r\n DynamicPropertyValues:[],\r\n DataSource:{Id:this.dataSource},\r\n RetailStorageDetails: this.dto.RetailStorageDetails,\r\n })\r\n } else {\r\n this.dto.RetailPaymentDetails.push({\r\n Code:this.paymode.counter,\r\n OrigAmount:czkSum,\r\n Amount:czkSum,\r\n IdsettleStyle:themode.idSettleStyle,\r\n IdbankAccount:themode.idBankAccount,\r\n DynamicPropertyKeys:[],\r\n DynamicPropertyValues:[],\r\n DataSource:{Id:this.dataSource},\r\n })\r\n }\r\n this.dto.Idmember=Idmember;\r\n }\r\n });\r\n let { isNewRetailBCPos } = platform || {};\r\n console.log(`bc_pos环境:${isNewRetailBCPos},结算数据:`, this.dto);\r\n if (isNewRetailBCPos) {\r\n // cc结算调用\r\n let IPMSG = {};\r\n if (!!window.localStorage.IPMSG) {\r\n IPMSG = JSON.parse(window.localStorage.IPMSG);\r\n }\r\n const RetailTypeEnum = this.dto.IdbusiType == 36?\"INTEGRAL_EXCHANGE\":\"NORMAL\";\r\n\r\n if(this.dto.IdbusiType == 37 && await this.checkIntegralExchangeReturn(this.dto.RetailDetails[0].ReturnSourceId) || this.dto.IdbusiType != 37){\r\n return ccApi({ dto: {...this.dto.cut(),RetailOms:{ RetailTypeEnum }},cip:IPMSG.query || \"\"}, '/retail/RetailPos/settle', false, false, { method: 'post', timeout_skip: true }).then((resp) => {\r\n this.setDtoID(resp.ID);\r\n this.paymode.checkList = [];\r\n this.billID = resp.ID;\r\n });\r\n }\r\n } else {\r\n // tc结算调用\r\n return tApi({ dto:this.dto.cut()}, 'chanjet.RE.newRetail.Settle', false, false, { timeout_skip: true }).then((resp) => {\r\n this.setDtoID(resp.ID);\r\n this.billID = resp.ID;\r\n })\r\n }\r\n }\r\n\r\n @action setDtoID(id){\r\n this.context.viewModel.data.ID=id;\r\n }\r\n\r\n checkIntegralExchangeReturn = (id) => {\r\n return new Promise((resolve, reject) => {\r\n tApi({param: {refVoucherId:id}}, 'chanjet.RE.NewPos.GetNewIntegralExchange', false, false,{timeout_skip:true}).then((resp) => {\r\n if( resp && resp.expireIntegral>0){\r\n ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: \"温馨提示\",\r\n content:`存在已经过期的积分${resp.expireIntegral}退货后积分不会返还。是否继续退货?`,\r\n cancelable: false,\r\n onOk() {\r\n resolve(true);\r\n },\r\n onCancel() {\r\n reject(false);\r\n }\r\n })\r\n }else{\r\n resolve(true);\r\n }\r\n })\r\n })\r\n }\r\n\r\n async querySettleResult(){\r\n try{\r\n return Promise.resolve(await tApi({RetailCode: this.dto.Code}, 'chanjet.RE.newRetail.QuerySettleResult', false, false,{timeout_skip:true}));\r\n }catch(e){\r\n return Promise.resolve({Flag:\"1\"});\r\n }\r\n }\r\n\r\n setCookie(key, val) {\r\n var exp = new Date();\r\n exp.setTime(moment().endOf('day').valueOf());\r\n document.cookie = key + '=' + val + ';expires=' + exp.toGMTString();\r\n }\r\n\r\n getAllCookies() {\r\n var cookies = document.cookie.split(/;\\s/g);\r\n var cookieObj = {};\r\n cookies.forEach(function (item) {\r\n var key = item.split('=')[0];\r\n cookieObj[key] = item.split('=')[1];\r\n });\r\n return cookieObj;\r\n }\r\n\r\n async validePwd(value){\r\n let { isNewRetailBCPos } = platform || {};\r\n try{\r\n if (isNewRetailBCPos) {\r\n let cook1 = this.getAllCookies()['errorPwd'];\r\n let cook2 = cook1 && JSON.parse(cook1);\r\n let message = '密码输入错误';\r\n if (cook2) {\r\n if (cook2.hasOwnProperty(this.member.MeStorageCardId + \"\")) {\r\n if (cook2[this.member.MeStorageCardId] > 3) {\r\n message = '今日密码错误已达上限,不可使用储值消费,请明日再试,如忘记请重置密码或修改密码。';\r\n return Promise.resolve(message);\r\n }\r\n }\r\n }\r\n const result = await ccApi({password: User.pwdEncrypt(value.pwd)}, `/member/MeMemberWallet/checkPaymentPassword/${value.id}`, false, false);\r\n if (!result.data) {\r\n if (cook2) {\r\n if (cook2.hasOwnProperty(this.member.MeStorageCardId + \"\")) {\r\n let count = cook2[this.member.MeStorageCardId];\r\n cook2[this.member.MeStorageCardId] = count + 1;\r\n } else {\r\n cook2[this.member.MeStorageCardId] = 1; \r\n }\r\n } else {\r\n cook2 = {};\r\n cook2[this.member.MeStorageCardId] = 1; \r\n }\r\n this.setCookie('errorPwd', '', -1);\r\n this.setCookie('errorPwd', JSON.stringify(cook2));\r\n }\r\n return Promise.resolve(result.data?\"\":message);\r\n } else {\r\n const result = await tApi({\"CheckoutParams\": {\r\n \"Idmember\": value.id,\r\n \"Password\":value.pwd\r\n }}, 'AA.DR.newRetailMember.CheckoutMemberPassword', false, false);\r\n return Promise.resolve(result.Success?\"\":result.Message);\r\n }\r\n }catch(e){\r\n return \"failed\";\r\n }\r\n\r\n }\r\n}\r\n\r\nexport class PayMode{\r\n _counter=0\r\n amount=0 //应收\r\n onlineamount=0\r\n maxamount=0;\r\n @observable currentFocus=\"\"\r\n @observable received=0;\r\n @observable receivable=0;\r\n @observable paymodes =[]\r\n @observable thePaymodes=[]\r\n // @observable store = null;\r\n currentMode=null;\r\n checkList = [];\r\n updateEvent\r\n settle={\r\n name:\"复合结算\",\r\n hotKey:\"Ctrl+M\",\r\n }\r\n constructor (){\r\n // this.amount=getFixedNumber(amount);\r\n // this.calcReserved();\r\n }\r\n\r\n @action clean(){\r\n this.thePaymodes=[];\r\n this.calcReserved();\r\n }\r\n\r\n @action clear(){\r\n this.thePaymodes=[];\r\n this.calcReserved();\r\n this.paymodes = [];\r\n }\r\n\r\n setAmount(a,o){\r\n this.amount=getFixedNumber((a || 0)-(o || 0));\r\n this.onlineamount=getFixedNumber(o || 0);\r\n this.calcReserved();\r\n return this.amount<0;\r\n }\r\n\r\n @action calcReserved(){\r\n var sum=0;\r\n _each(this.thePaymodes,(mode)=>{\r\n sum=Math.Add(sum,(mode.value==\"\"?0:mode.value));\r\n });\r\n this.received = getFixedNumber(sum);\r\n this.receivable = getFixedNumber(this.amount - sum);\r\n }\r\n\r\n @action calcCheckList = () => {\r\n this.checkList = [];\r\n }\r\n\r\n @action calcDjqCheckValue(q1, dto, params) {\r\n let useLimitPerOrder = PosInitData('UseLimitPerOrder');\r\n let qList = _filter(this.currentMode.djqs,djq=>djq.checked);\r\n if (qList.length === useLimitPerOrder && !q1.checked) {\r\n Message.warn('本单最多可用'+useLimitPerOrder+'张');\r\n return;\r\n }\r\n if (params === 'single') {\r\n this.checkList = [];\r\n }\r\n\r\n let { isNewRetailBCPos } = platform || {};\r\n const { PayStyle, Differentiate } = enumController.getEnumOj();\r\n\r\n if(q1){\r\n if(!this.currentMode.boriginReturn && parseFloat(this.currentMode.maxamount)<=0){\r\n Message.error(`本单没有${Differentiate.COUPON}可用金额,该券不可使用。`);\r\n return ;\r\n }\r\n let q=_find(this.currentMode.djqs,(djq)=>{return djq.promoCouponCode==q1.promoCouponCode});\r\n if(q && !q.checked && parseFloat(this.amount)<parseFloat(q.doorsill)){\r\n Message.error(\"本单金额低于使用门槛,该券不可使用。\");\r\n return ;\r\n }\r\n //判断是否是选择优惠券 //CC优惠券只能使用一个\r\n // if (q1 && !q1.checked && isNewRetailBCPos) {\r\n // // 检查是否有已经选定优惠券 并且去除选定的优惠券\r\n // this.currentMode.djqs.forEach((djq, index) => {\r\n // if (djq.checked) this.currentMode.djqs[index].checked = false;\r\n // })\r\n // }\r\n q && (q.checked = !q.checked);\r\n }\r\n var sum=0;\r\n // console.log(this.store, 'stores-------');\r\n if (!q1.checked) {\r\n this.checkList.forEach((ele, i) => {\r\n if (ele.id === q1.id) {\r\n this.checkList.splice(i, 1);\r\n }\r\n })\r\n } else {\r\n this.checkList.push(q1);\r\n }\r\n\r\n this.checkList.forEach((ele) => {\r\n sum=Math.Add(sum,ele.amount);\r\n })\r\n this.currentMode.value = getFixedNumber(Math.min(this.receivable,sum,this.currentMode.maxamount));\r\n console.log(this.receivable, sum, Math.min(this.receivable,sum,this.currentMode.maxamount), 'sum---------');\r\n this.currentMode.receivable = getFixedNumber(this.receivable - Math.min(this.receivable,sum,this.currentMode.maxamount));\r\n this.currentMode.overchargesAmount=getFixedNumber(sum-this.currentMode.value);\r\n if (params === 'single') {\r\n return;\r\n }\r\n let promoVoucher = {};\r\n promoVoucher.boName = \"Retail\";\r\n // promoVoucher.promoLinks = _filter(this.currentMode.djqs,djq=>djq.checked);\r\n promoVoucher.meMemberId = this.currentMode.member.id;\r\n promoVoucher.storeFactorId = PosInitData('storeID');\r\n promoVoucher.voucherDetailList = [];\r\n dto.RetailDetails.forEach(item => {\r\n let detailDTO = {};\r\n detailDTO.uuid = item.Code;\r\n detailDTO.detailBoName = \"RetailDetail\";\r\n detailDTO.voucherDetailId = item.ID;\r\n detailDTO.productId = item.Idinventory;\r\n detailDTO.uomId = item.Idunit;\r\n detailDTO.productSpecId=item.ProductSpecId;\r\n detailDTO.isManualFreeGift = item.IsPresent;\r\n detailDTO.isListPriceIncludingTax = item.TaxFlag || true;\r\n detailDTO.IsManualChangePrice = item.IsManualChangePrice;\r\n\r\n \r\n\r\n // if(detailDTO.IsManualChangePrice)//如果是手工改价\r\n // {\r\n // detailDTO.listPrice = item.TaxPrice;\r\n // detailDTO.netAmountWithTax = item.TaxAmount;\r\n // }\r\n // else\r\n // {\r\n let bookingQuantity=0;\r\n if(item.BookingQuantity)\r\n {\r\n bookingQuantity=item.BookingQuantity;\r\n }\r\n detailDTO.listPrice = JSON.getCellValue(item, \"listPrice\");\r\n detailDTO.netAmountWithTax = Math.Multiply(detailDTO.listPrice,Math.Minus(item.Quantity,bookingQuantity));//item.TaxAmount;\r\n //} \r\n detailDTO.taxRate = item.TaxRate;\r\n detailDTO.quantity = item.Quantity;\r\n \r\n detailDTO.amountWithTax = item.RetailAmount;\r\n // 促销 start\r\n if(item.PromotionDetails && item.PromotionDetails.length != 0){\r\n let promoLinks = [];\r\n item.PromotionDetails.forEach((promotion)=>{\r\n promoLinks.push({\r\n promoId:promotion.IdSalesPromotionDTO,\r\n promoRuleId:promotion.PromotionRuleId\r\n })\r\n })\r\n if(promoLinks.length != 0) detailDTO.promoLinks = promoLinks;\r\n }\r\n // 促销 end\r\n promoVoucher.voucherDetailList.push(detailDTO);\r\n });\r\n promoVoucher.promoLinks = this.checkList;\r\n return ccApi({\r\n ...promoVoucher\r\n }, 'promotion/PromoCalculate/findUsefulCouponPromoList', false, false,{method:'post',timeout_skip:true})\r\n .then((result)=>{\r\n if(result && result.length != 0 ){\r\n result.forEach((element, index) => {\r\n let djq1 = false;\r\n this.currentMode.djqs.forEach((djq) => {\r\n if (element.id === djq.id) {\r\n djq1 = true;\r\n }\r\n })\r\n const { couponCode, name, tieredAmountResult, fromDate , dateMount , promoMethodEnum , discountPct, nominalAmount,promoId,id, doorsill} = element || {};\r\n const { condValue, promoDiscount,displayText,promoRuleId, couponCategoryEnum } = tieredAmountResult\r\n if(!djq1) {\r\n // this.currentMode.djqs.push({\r\n // promoCouponCode: element.CouponCode,\r\n // name: element.CouponTitle,\r\n // IsEnable: true,\r\n // amount: element.ReductionAmount,\r\n // doorsill: element.EnableAmount,\r\n // LastTS: element.LastTS,\r\n // checked: false,\r\n // IsRepelWithPoints: true,\r\n // UMemberID: dto.Idmember,\r\n // expired: null,\r\n // displayText,\r\n // promoMethodEnum,\r\n // discountPct,\r\n // promoId,\r\n // promoRuleId,\r\n // couponCategoryEnum: tieredAmountResult.couponCategoryEnum,\r\n // id\r\n // })\r\n this.addDjqs(couponCode,name,true,nominalAmount,doorsill,element.LastTS,false,true,\r\n dto.Idmember,\r\n dateMount,\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n tieredAmountResult.couponCategoryEnum,\r\n id);\r\n djq1 = false;\r\n } else {\r\n this.setCouponNum(element.id, tieredAmountResult.couponCategoryEnum, promoMethodEnum, nominalAmount,promoDiscount);\r\n // this.currentMode.djqs[0].couponCategoryEnum = 'couponCategoryEnum';\r\n // djq1.couponCategoryEnum = element.tieredAmountResult.couponCategoryEnum\r\n }\r\n }) \r\n }\r\n // 优惠券【6052098985043】与【6120822326451】不可叠加使用\r\n })\r\n //this.receivable = getFixedNumber(this.receivable - sum);\r\n }\r\n\r\n @action setCouponNum = (id, couponNum, promoMethodEnum, nominalAmount,promoDiscount) => {\r\n this.currentMode.djqs.forEach((ele) => {\r\n if (ele.id === id) {\r\n promoMethodEnum == \"CASH_COUPON\" ? ele.amount = nominalAmount: ele.amount = promoDiscount;\r\n ele.couponCategoryEnum = couponNum;\r\n let IsEnable = (ele.couponCategoryEnum === 'RIGUP' || ele.couponCategoryEnum === 'UN_MATCH' || ele.couponCategoryEnum === \"PREPARING\" || ele.couponCategoryEnum === 'PROMO_LIMITED' || ele.couponCategoryEnum === 'COUPON_CONFLICT') ? false : true ;\r\n ele.IsEnable = IsEnable;\r\n }\r\n })\r\n }\r\n\r\n @action addDjqs = (promoCouponCode,\r\n name,\r\n IsEnable,\r\n amount,\r\n doorsill,\r\n LastTS,\r\n checked,\r\n IsRepelWithPoints,\r\n UMemberID,\r\n expired,\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n couponCategoryEnum,\r\n id) => {\r\n let djq={\r\n promoCouponCode,\r\n name,\r\n IsEnable,\r\n amount,\r\n doorsill,\r\n LastTS,\r\n checked,\r\n IsRepelWithPoints,\r\n UMemberID,\r\n expired,\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n couponCategoryEnum,\r\n id\r\n };\r\n this.currentMode.djqs.push(\r\n djq\r\n );\r\n }\r\n\r\n @action calcDjqValue(q1){\r\n let { isNewRetailBCPos } = platform || {};\r\n const { Differentiate } = enumController.getEnumOj();\r\n if(q1){\r\n if(!this.currentMode.boriginReturn && parseFloat(this.currentMode.maxamount)<=0){\r\n Message.error(`本单没有${Differentiate.COUPON}可用金额,该券不可使用。`);\r\n return ;\r\n }\r\n let q=_find(this.currentMode.djqs,(djq)=>{return djq.code==q1.code});\r\n if(q && !q.checked && parseFloat(this.amount)<parseFloat(q.doorsill)){\r\n Message.error(\"本单金额低于使用门槛,该券不可使用。\");\r\n return ;\r\n }\r\n //判断是否是选择优惠券 //CC优惠券只能使用一个\r\n // if (q1 && !q1.checked && isNewRetailBCPos) {\r\n // // 检查是否有已经选定优惠券 并且去除选定的优惠券\r\n // this.currentMode.djqs.forEach((djq, index) => {\r\n // if (djq.checked) this.currentMode.djqs[index].checked = false;\r\n // })\r\n // }\r\n q && (q.checked = !q.checked);\r\n }\r\n var sum=0;\r\n // console.log(this.store, 'stores-------');\r\n _each(_filter(this.currentMode.djqs,djq=>djq.checked),(q)=>{\r\n sum=Math.Add(sum,q.amount);\r\n });\r\n this.currentMode.value = getFixedNumber(Math.min(this.receivable,sum,this.currentMode.maxamount));\r\n this.currentMode.receivable = getFixedNumber(this.receivable -this.currentMode.value);\r\n this.currentMode.overchargesAmount=getFixedNumber(sum-this.currentMode.value);\r\n\r\n //this.receivable = getFixedNumber(this.receivable - sum);\r\n }\r\n\r\n @action reCalculationDjqs() {\r\n var sum=0;\r\n _each(_filter(this.currentMode.djqs,djq=>djq.checked),(q)=>{\r\n sum=Math.Add(sum,q.amount);\r\n });\r\n this.currentMode.value = getFixedNumber(Math.min(this.receivable,sum,this.currentMode.maxamount));\r\n this.currentMode.receivable = getFixedNumber(this.receivable -this.currentMode.value);\r\n this.currentMode.overchargesAmount=getFixedNumber(sum-this.currentMode.value);\r\n this.currentMode.maxamount = this.currentMode.receivable || this.currentMode.receivable;\r\n }\r\n\r\n @action clearDjqs() {\r\n this.currentMode.djqs = [];\r\n }\r\n\r\n @action setCurrentModeValue(v,max){\r\n this.currentMode.value=parseFloat(v) || 0;\r\n this.currentMode.errinfo='';\r\n let sum = this.amount;\r\n const { PayStyle} = enumController.getEnumOj();\r\n this.thePaymodes && this.thePaymodes.forEach((mode) => {\r\n if (mode.paymentType === PayStyle.hyczk) {\r\n sum -= mode.value;\r\n }\r\n })\r\n\r\n if(this.amount>0 && (v==='' || v==='0.00') && sum !== 0){\r\n this.currentMode.errinfo=\"实收金额必须录入\";\r\n }else if(Math.abs(parseFloat(v))>Math.abs(sum)){\r\n this.currentMode.errinfo=\"实收不应大于应收\";\r\n }else if(parseFloat(v)>0 && parseFloat(v) > (max || 0) ){\r\n this.currentMode.errinfo=\"余额不足\";\r\n }\r\n }\r\n @action calcMemberBalance(){\r\n this.currentMode.balance = this.currentMode.member.rawbalance - this.currentMode.value;\r\n }\r\n\r\n get charge(){\r\n return Math.abs(this.receivable);\r\n }\r\n\r\n get counter(){\r\n return ++this._counter;\r\n }\r\n\r\n async setPaymodes(type,isIntegralExchange){\r\n const { settleStyleType , PayStyle} = enumController.getEnumOj();\r\n const {memberStoreCode , settlementCode } = settleStyleType;\r\n const param = {'settleStyleType':type==1?memberStoreCode:settlementCode,isIntegralExchange}\r\n const modes = await tApi({param}, 'chanjet.RE.NewPos.GetNewStoreSettleStyles', false, false);\r\n if(modes){\r\n runInAction(()=>{\r\n let paymodes = [];\r\n _each(modes.SettleStyles, (mode,index)=>{\r\n //产品需求确认会员储值卡结算方式前端展示统一调整为“储值卡\" tuzha by 2020-07-08\r\n\r\n if(mode.Code==PayStyle.hyczk)\r\n {\r\n mode.Name='储值余额';\r\n }\r\n paymodes.push({\r\n name:mode.Name,\r\n isDefault:mode.IsDefaultSettleStyle,\r\n isQuick:_findIndex(modes.QuickSettleStyles, {'Code':mode.Code})>=0,\r\n orderBy:1,\r\n paymentType:mode.Code,\r\n offlineDisable:mode.offlineDisable,\r\n idSettleStyle:mode.IdSettleStyle,\r\n idBankAccount:mode.IdBankAccount,\r\n exchangeRate:mode.Currency?mode.Currency.ExchangeRate:1,\r\n idCurrency:mode.Currency?mode.Currency.ID:-1,\r\n calDirection:mode.Currency?mode.Currency.CalDirection.Id:\"88\",\r\n })\r\n })\r\n this.paymodes = paymodes;\r\n //modes.QuickSettleStyles\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport class Member{\r\n id;\r\n uid;\r\n @observable cardNo;\r\n type;\r\n @observable balance;\r\n rawbalance;\r\n needPwd;\r\n bonusPoints;\r\n @observable exchangable;\r\n @observable MeStorageCardId;\r\n @observable StorageCardNo;\r\n constructor(m){\r\n if(m){\r\n this.id=m.ID;\r\n this.uid=m.Uid;\r\n this.type=m.MemberType?m.MemberType.Name:\"普通\";\r\n this.rawbalance=m.BalanceStorage;\r\n let index=_findIndex(m.DynamicPropertyKeys,(key)=>{return key=='canusedbalancestorage';});\r\n const { isNewRetailBCPos } = platform || {};\r\n m.StorageCardNo && (this.StorageCardNo = m.StorageCardNo);\r\n m.MeStorageCardId && (this.MeStorageCardId = m.MeStorageCardId);\r\n runInAction(()=>{\r\n this.cardNo=m.CardCode;\r\n if(index>=0){\r\n this.balance=parseFloat(m.DynamicPropertyValues[index]);\r\n }else{\r\n this.balance=this.rawbalance;\r\n }\r\n });\r\n this.needPwd=m.MemberType?m.MemberType.IsNeedPwd:false;\r\n this.NeedModifyPassword=m.NeedModifyPassword;\r\n this.bonusPoints=m.BalanceIntegral;\r\n }\r\n }\r\n @action setExchangable(v){\r\n this.exchangable=v;\r\n }\r\n @action setCardNo(v){\r\n this.cardNo=v;\r\n this.id=null;\r\n }\r\n @action setMeStorageCardId(v) {\r\n this.MeStorageCardId = v;\r\n }\r\n\r\n @action setStorageCardNo(v) {\r\n this.StorageCardNo = v;\r\n }\r\n}\r\n\r\n"]}
1
+ {"version":3,"sources":["tplus-components-touch/components/settlement/settlementStore.js"],"names":["t","i18n","getFixedT","SettlementStore","paymode","dto","member","brefund","bquick","boriginReturn","newStyle","getCouponList","enumController","getEnumOj","PayStyle","Differentiate","couponApplyRule","CouponApplyRule","SHOWN_BY_CUSTOMER","coupon_code","promoVoucher","clearDjqs","reCalculationDjqs","boName","voucherId","ID","onlinePaymentAmount","OnlinePaymentAmount","promoLinks","currentMode","djqs","djq","checked","totalAmountWithTax","Math","Minus","TotalTaxAmount","redBlueFlagEnum","meMemberId","Idmember","storeFactorId","Idstore","voucherDetailList","RetailDetails","forEach","detailDTO","uuid","item","Code","detailBoName","voucherDetailId","productId","Idinventory","uomId","Idunit","productSpecId","ProductSpecId","isManualFreeGift","IsPresent","isListPriceIncludingTax","TaxFlag","IsManualChangePrice","bookingQuantity","BookingQuantity","listPrice","JSON","getCellValue","netAmountWithTax","Multiply","Quantity","taxRate","TaxRate","quantity","amountWithTax","RetailAmount","PromotionDetails","length","promotion","push","promoId","IdSalesPromotionDTO","promoRuleId","PromotionRuleId","method","timeout_skip","then","result","element","couponCode","name","tieredAmountResult","fromDate","dateMount","promoMethodEnum","discountPct","nominalAmount","id","condValue","promoDiscount","displayText","couponCategoryEnum","IsRepelWithPoints","thePaymodes","themode","paymentType","jfdx","Message","error","COUPON","SN","IsEnable","platform","isNewRetailBCPos","addDjq","calcDjqCheckValue","info","getSettleGift","billID","checkCoupon","sn","request","Uid","uid","StoreCode","Inventories","d","detail","IdInventory","Inventory","IdUnit","FreeItem0","FreeItem1","FreeItem2","FreeItem3","FreeItem4","FreeItem5","FreeItem6","FreeItem7","FreeItem8","FreeItem9","InventoryClassCodes","InventoryClass","Amount","amount","code","Title","ReduceAmount","StartAmount","LastTS","UMemberID","checkIntegralExchangeReturn","resolve","reject","param","refVoucherId","resp","expireIntegral","ModalWraper","confirm","className","title","content","cancelable","onOk","onCancel","PayMode","params","localStore","get","cloudPrintArguments","event","type","isIntegralExchange","setPaymodes","updateEvent","context","amounthandler","datasource","storeinfo","data","amountHandler","dataSource","storeInfo","viewModel","global","DealSingleRowAmountSettingProcessorBlock","execute","DealAmountSettingProcessorBlock","Member","setAmount","clean","initByOriginReturn","setModes","paymodes","p","mode","addPay","changeValue","paymethodId","console","log","checkList","RetailPaymentDetails","IdsettleStyle","SettleStyle","hyczk","okText","okType","newmode","genNewMode","authCode","PaymentCode","steadCashIntegral","SteadCashIntegral","overchargesAmount","OverchargesAmount","RetailCouponDetails","CouponCode","CouponTitle","ReductionAmount","EnableAmount","RetailStorageDetails","balanceAmount","BalanceStorage","StoragePaymentAmount","Password","balance","calcReserved","key","currentFocus","index","m","splice","addPayDirectly","IntegralSteadCashParams","BalanceTaxAmount","value","Integral","loginInfo","v","errinfo","IdStore","storeID","storeCode","address","setMeStorageCardId","MeStorageCardId","setStorageCardNo","StorageCardNo","receivable","max","message","sum","total","cur","CheckMemberStorageProcessorBlock","String","isNullOrEmpty","checkReceived","parseFloat","nextInput","document","querySelector","select","SearchParams","Key","IsSingleMember","parse","Data","focus","promoCouponCode","doorsill","expired","unCheck","count","calcDjqValue","append","afterSetCurrentMode","setExchangable","MaxAmount","maxamount","notwithm","counter","exchangeRate","calDirection","value2","value3","order","setMaxAmount","q","Add","getViewItem","availableAmount","shouldSetValue","blur","isNaN","pay","pos","bTest","saveMember","stores","offlineSys","generatorCode","save","retailSequenceUpload","DoNameList","DO_STORAGE_PRINT","StorageMutiSettleDetails","giveChange","xianjin","abs","StorageAmount","GiveChange","idSettleStyle","IdbankAccount","idBankAccount","DynamicPropertyKeys","DynamicPropertyValues","DataSource","Id","IPMSG","window","localStorage","handlePrint","czkSum","IsOrigReturn","OrigAmount","Idcurrency","idCurrency","ExchangeRate","IdMember","PromotionId","PromoCouponAllocatedId","RetailTypeEnum","IdbusiType","ReturnSourceId","cut","RetailOms","cip","query","setDtoID","RetailCode","Flag","val","exp","Date","setTime","endOf","valueOf","cookie","toGMTString","cookies","split","cookieObj","cook1","getAllCookies","cook2","memberId","hasOwnProperty","password","User","pwdEncrypt","pwd","setCookie","Success","action","newPass","newPassConfirm","warn","idstore","oldPassword","newPassword","successful","_this","getLoginInfo","_counter","onlineamount","settle","hotKey","a","o","received","q1","useLimitPerOrder","qList","ele","i","min","djq1","addDjqs","setCouponNum","rawbalance","settleStyleType","memberStoreCode","settlementCode","modes","SettleStyles","Name","isDefault","IsDefaultSettleStyle","isQuick","QuickSettleStyles","orderBy","offlineDisable","IdSettleStyle","IdBankAccount","Currency","CalDirection","observable","couponNum","MemberType","cardNo","CardCode","needPwd","IsNeedPwd","NeedModifyPassword","bonusPoints","BalanceIntegral","exchangable"],"mappings":"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","file":"settlementStore.js","sourcesContent":["import { observable, computed, action, autorun, runInAction } from 'mobx'\r\nimport {stores,i18n,localStore} from 'mutants-microfx';\r\nimport _find from 'lodash/find';\r\nimport _remove from 'lodash/remove';\r\nimport _each from 'lodash/each';\r\nimport _map from 'lodash/map';\r\nimport _join from 'lodash/join';\r\nimport _trim from 'lodash/trim';\r\nimport _filter from 'lodash/filter';\r\nimport _findIndex from 'lodash/findIndex';\r\nimport _findLastIndex from 'lodash/findLastIndex';\r\nimport _findKey from 'lodash/findKey';\r\nimport { PosInitData } from 'tplus-poslogin';\r\nimport { getFixedNumber } from './utils'\r\nimport {ccApi,tApi, User} from 'tplus-api';\r\nimport _clonedeep from 'lodash/cloneDeep';\r\nimport Message from '../message';\r\nimport { platform,enumController } from 'mutants-util';\r\nimport { printDispatch,DoNameList,ModalWraper } from 'tplus-components-touch'\r\nimport moment from \"moment\";\r\nimport _reduce from 'lodash/reduce';\r\n\r\nconst t = i18n.getFixedT(null, 'newretail');\r\n\r\nexport default class SettlementStore {\r\n paymode = null\r\n dto=null\r\n member=null\r\n brefund=false\r\n context\r\n bquick=false;\r\n amountHandler\r\n dataSource\r\n storeInfo\r\n updateEvent\r\n type\r\n boriginReturn=false\r\n newStyle=true//type==2\r\n billID\r\n constructor(){\r\n this.paymode= new PayMode()\r\n let params = localStore && localStore.get('cloudPrintArguments');\r\n if (params) this.cloudPrintArguments = params;\r\n this.newStyle=localStore && localStore.get('voucherDefaultPosMode')=='voucher';\r\n }\r\n\r\n initPaymodes(event,type,isIntegralExchange){\r\n this.isIntegralExchange = isIntegralExchange;\r\n this.paymode.setPaymodes(type,isIntegralExchange);\r\n this.updateEvent=event;\r\n }\r\n\r\n init(context,amounthandler,datasource,storeinfo,bquick,amount,type,data){\r\n this.newStyle=localStore && localStore.get('voucherDefaultPosMode')=='voucher';\r\n this.type=type;\r\n if(context){\r\n this.context=context;\r\n this.amountHandler=amounthandler;\r\n this.dataSource=datasource;\r\n this.storeInfo=storeinfo;\r\n this.dto=context.viewModel.data;\r\n runInAction(()=>{\r\n // 单品金额抹零\r\n if (global.DealSingleRowAmountSettingProcessorBlock) {\r\n global.DealSingleRowAmountSettingProcessorBlock.execute(this.dto);\r\n }\r\n // 成交金额抹零\r\n if (global.DealAmountSettingProcessorBlock) {\r\n global.DealAmountSettingProcessorBlock.execute(this.dto);\r\n }\r\n });\r\n // this.member=context.stores && context.stores.memberStore && context.stores.memberStore.member;\r\n this.member=this.dto.Member;//stores.selectMemberStore.selectMemberInfo;\r\n this.brefund=this.paymode.setAmount( this.dto.TotalTaxAmount ,this.dto.OnlinePaymentAmount );\r\n }else{\r\n this.brefund=this.paymode.setAmount( amount ,0 );\r\n this.dto=data;\r\n }\r\n this.paymode.clean();\r\n \r\n //this.dto.TotalTaxAmount<0;\r\n this.bquick=!!bquick;\r\n this.boriginReturn=JSON.getCellValue(this.dto, \"IsOriginalReturn\");\r\n if(this.boriginReturn){\r\n this.initByOriginReturn();\r\n }\r\n if(this.newStyle){\r\n this.setModes();\r\n }\r\n }\r\n\r\n setModes(){\r\n _each(this.paymode.paymodes,(p)=>{\r\n if(_findIndex(this.paymode.thePaymodes,(mode)=>{return p.paymentType==mode.paymentType})==-1){\r\n this.addPay(p.paymentType);\r\n }\r\n });\r\n if(!this.boriginReturn && this.paymode.thePaymodes.length>0){\r\n this.changeValue(this.paymode.thePaymodes[0].paymethodId,0,true);\r\n }\r\n }\r\n\r\n amountChanged(amount){\r\n if(this.type==1){\r\n this.brefund=this.paymode.setAmount( amount ,0 );\r\n }\r\n\r\n }\r\n\r\n @action queryPwd = (newPass, newPassConfirm) => {\r\n if (!newPass || !newPassConfirm) {\r\n return Message.warn('您还有未填写项');\r\n }\r\n if (newPass !== newPassConfirm) {\r\n return Message.warn('您两次输入的密码不一致');\r\n }\r\n let idstore = PosInitData('storeID');\r\n return ccApi({ \r\n Idstore: idstore,\r\n meMemberId: this.member.ID,\r\n oldPassword: null,\r\n newPassword: User.pwdEncrypt(newPassConfirm),\r\n dataSource:\"POS\"\r\n }, '/member/MeMemberWallet/setWalletPayPassword', false, false, { method: 'post', timeout_skip: true }).then((resp) => {\r\n if (resp.successful) {\r\n return true;\r\n }\r\n });\r\n }\r\n\r\n @action\r\n initByOriginReturn(){\r\n const { PayStyle } = enumController.getEnumOj();\r\n const { isNewRetailBCPos } = platform || {};\r\n console.log(this.dto, 'dto==========');\r\n this.paymode.checkList = [];\r\n _each(this.dto.RetailPaymentDetails,(detail)=>{\r\n let themode=_find(this.paymode.paymodes,{'idSettleStyle':detail.IdsettleStyle});\r\n if (detail.SettleStyle.Code === PayStyle.hyczk && !themode) {\r\n ModalWraper.info({\r\n title: '温馨提示',\r\n content: '没有储值结算方式,请在后台添加储值余额结算方式。',\r\n okText:'确定',\r\n okType:'primary'\r\n });\r\n }\r\n if(themode && themode.paymentType && themode.paymentType!=PayStyle.hyczk){\r\n let newmode={\r\n ...this.genNewMode(themode.paymentType,false,detail.Amount),\r\n authCode:detail.PaymentCode,\r\n steadCashIntegral:detail.SteadCashIntegral,\r\n overchargesAmount:detail.OverchargesAmount,\r\n boriginReturn:true\r\n };\r\n this.paymode.currentMode=newmode;\r\n if(themode.paymentType==PayStyle.djq){\r\n _each(this.dto.RetailCouponDetails,(djq)=>{\r\n if (isNewRetailBCPos) {\r\n const { displayText, promoRuleId, dateMount, promoMethodEnum, discountPct, promoId, id } = djq || {};\r\n this.addDjq(djq.CouponCode, djq.CouponTitle, true, djq.ReductionAmount, djq.EnableAmount, djq.LastTS, true, false, \r\n this.dto.Idmember,\r\n dateMount,\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n null,\r\n id,\r\n true);\r\n return;\r\n }\r\n this.addDjq(djq.CouponCode, djq.CouponTitle, true, djq.ReductionAmount, djq.EnableAmount, djq.LastTS, true, false,);\r\n })\r\n }\r\n this.paymode.thePaymodes.push(newmode)\r\n }\r\n })\r\n _each(this.dto.RetailStorageDetails,(detail)=>{\r\n let balanceAmount = detail.Member.BalanceStorage;\r\n balanceAmount = balanceAmount - detail.StoragePaymentAmount;\r\n let newmode={\r\n ...this.genNewMode(PayStyle.hyczk,false,detail.StoragePaymentAmount),\r\n member:new Member(detail.Member),\r\n authCode:detail.Password,\r\n balance:balanceAmount,\r\n boriginReturn:true\r\n };\r\n this.paymode.thePaymodes.push(newmode)\r\n })\r\n this.paymode.calcReserved();\r\n }\r\n\r\n clean(){\r\n this.bquick=false;\r\n this.paymode.clean();\r\n }\r\n\r\n @action quickSettle(key){\r\n this.addPay(key);\r\n }\r\n\r\n //outer call\r\n //(type===PayStyle.hyczk || type===PayStyle.jfczk || type===PayStyle.jfdx || type===PayStyle.djq)\r\n @action changeFocusAndAddPay(type){\r\n const { PayStyle } = enumController.getEnumOj();\r\n this.paymode.currentFocus=type;\r\n if(this.paymode.currentMode){\r\n if(type==PayStyle.jfdx){\r\n if(this.newStyle){\r\n let index=_findIndex(this.paymode.thePaymodes,(m)=>{return m.paymentType==PayStyle.jfdx});\r\n this.paymode.thePaymodes.splice(index,1,this.paymode.currentMode);\r\n this.paymode.calcReserved();\r\n }else{\r\n this.addPayDirectly(this.paymode.currentMode);\r\n }\r\n \r\n //抵现积分\r\n tApi({IntegralSteadCashParams:{\r\n Idmember:this.paymode.currentMode.member.id,\r\n TotalTaxAmount:this.paymode.amount,\r\n BalanceTaxAmount: this.paymode.currentMode.value,\r\n }}, 'AA.DR.newRetailMember.CalculdateIntegralSteadCash', false, false).then((result)=>{\r\n this.paymode.currentMode.steadCashIntegral=result.Integral;\r\n this.paymode.currentMode.overchargesAmount=result.Amount-this.paymode.currentMode.value;\r\n });\r\n }else{\r\n this.addPayDirectly(this.paymode.currentMode);\r\n }\r\n }else{\r\n this.addPay(type);\r\n }\r\n }\r\n\r\n // 设置密码后更新会员信息\r\n @action updateMemberInfo = async (_this) => {\r\n const { IdStore, StoreCode } = this.getLoginInfo();\r\n const resp = await tApi({ Idmember: this.member.ID, IdStore, StoreCode }, 'chanjet.AA.DR.INewRetailMember.GetUmemberDTO', false, false);\r\n _this.member = resp;\r\n _this.paymode.currentMode.member.setStorageCardNo(resp.StorageCardNo);\r\n return Promise.resolve(resp);\r\n }\r\n\r\n getLoginInfo() {\r\n const { loginInfo = {} } = localStore.get('user') || {};\r\n return loginInfo;\r\n }\r\n\r\n loadCzk(v){\r\n if(_trim(v)===\"\"){\r\n runInAction(()=>{\r\n this.paymode.currentMode.member = new Member( null );\r\n this.paymode.currentMode.errinfo=\"请输入储值卡\";\r\n });\r\n return;\r\n }\r\n const IdStore=this.storeInfo.storeID;\r\n const StoreCode=this.storeInfo.storeCode;//_find(this.storeInfo.storeInfos,(store)=>{return store.ID==IdStore;}).Code;\r\n const { isNewRetailBCPos } = platform || {};\r\n let address = ''\r\n if (isNewRetailBCPos) {\r\n // address = '/member/memberProfile/FindByStorageCode/'+v;\r\n address = `/member/MeMemberWallet/FindByStorageCode`\r\n return ccApi({code:v}, address, false, false, { method: 'get', timeout_skip: true })\r\n .then((result)=>{\r\n let data=result.data;\r\n let m=data;\r\n const { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n this.paymode && this.paymode.currentMode.member.setMeStorageCardId(m.MeStorageCardId);\r\n this.paymode && this.paymode.currentMode.member.setStorageCardNo(m.StorageCardNo);\r\n this.paymode && (this.paymode.currentMode.MeStorageCardId = m.MeStorageCardId);\r\n this.paymode && (this.paymode.currentMode.StorageCardNo = m.StorageCardNo);\r\n }\r\n if(!m || !m.ID){\r\n runInAction(()=>{this.paymode.currentMode.errinfo=\"无效的会员卡号\";});\r\n }\r\n else{\r\n runInAction(()=>{\r\n this.paymode.currentMode.errinfo=\"\";\r\n this.paymode.currentMode.member = new Member( m )\r\n this.paymode.currentMode.value=getFixedNumber(this.brefund?this.paymode.receivable:Math.max(this.paymode.receivable,0));\r\n this.updateEvent();\r\n let message='';\r\n const sum = _reduce(this.paymode.thePaymodes, (total, cur) => total + cur.value, 0)\r\n if (global.CheckMemberStorageProcessorBlock ) {\r\n message= CheckMemberStorageProcessorBlock.execute(m);\r\n }\r\n if (!String.isNullOrEmpty(message)) {\r\n this.paymode.currentMode.errinfo=message;\r\n }\r\n else if(this.checkReceived(this.paymode.currentMode,\"balance\")){\r\n this.paymode.currentMode.errinfo=\"余额不足\";\r\n }else if(this.paymode.amount>0 && parseFloat(this.paymode.amount) !== sum && this.paymode.currentMode.value==0){\r\n this.paymode.currentMode.errinfo=\"实收金额必须录入\";\r\n } else {\r\n // 查询成功后将焦点移入下一个输入框\r\n const nextInput = document.querySelector('.czk .received .input');\r\n nextInput && nextInput.select();\r\n }\r\n });\r\n }\r\n })\r\n } else {\r\n address = 'AA.DR.newRetailMember.SearchMember'\r\n return tApi({SearchParams:{Key:v,IsSingleMember:true,IdStore,StoreCode}}, address, false, false)\r\n .then((result)=>{\r\n let data=JSON.parse(result.Data);\r\n let m=data && data.length>0 && data[0];\r\n const { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n this.paymode && this.paymode.currentMode.member.setMeStorageCardId(m.MeStorageCardId);\r\n this.paymode && this.paymode.currentMode.member.setStorageCardNo(m.StorageCardNo);\r\n this.paymode && (this.paymode.currentMode.MeStorageCardId = m.MeStorageCardId);\r\n this.paymode && (this.paymode.currentMode.StorageCardNo = m.StorageCardNo);\r\n }\r\n if(!m || !m.ID){\r\n runInAction(()=>{this.paymode.currentMode.errinfo=\"无效的会员卡号\";});\r\n }\r\n else{\r\n runInAction(()=>{\r\n this.paymode.currentMode.errinfo=\"\";\r\n this.paymode.currentMode.member = new Member( m )\r\n this.paymode.currentMode.value=getFixedNumber(this.brefund?this.paymode.receivable:Math.max(this.paymode.receivable,0));\r\n this.updateEvent();\r\n let message='';\r\n if (global.CheckMemberStorageProcessorBlock ) {\r\n message= CheckMemberStorageProcessorBlock.execute(data[0]);\r\n }\r\n if (!String.isNullOrEmpty(message)) {\r\n this.paymode.currentMode.errinfo=message;\r\n }\r\n else if(this.checkReceived(this.paymode.currentMode,\"balance\")){\r\n this.paymode.currentMode.errinfo=\"余额不足\";\r\n }else if(this.paymode.amount>0 && this.paymode.currentMode.value==0){\r\n this.paymode.currentMode.errinfo=\"实收金额必须录入\";\r\n } else {\r\n // 查询成功后将焦点移入下一个输入框\r\n const nextInput = document.querySelector('.czk .received .input');\r\n nextInput && nextInput.focus();\r\n }\r\n });\r\n }\r\n })\r\n }\r\n }\r\n getCouponList = coupon_code => {\r\n const { PayStyle, Differentiate } = enumController.getEnumOj();\r\n const couponApplyRule = PosInitData('CouponApplyRule');\r\n const { CouponApplyRule } = enumController.getEnumOj();\r\n if((couponApplyRule == CouponApplyRule.SHOWN_BY_CUSTOMER && !!coupon_code) || couponApplyRule != CouponApplyRule.SHOWN_BY_CUSTOMER){\r\n let dto = this.dto;\r\n let promoVoucher = {};\r\n this.paymode.clearDjqs();\r\n this.paymode.reCalculationDjqs();\r\n // promoVoucher.bizDate = dto.VoucherDate;\r\n // promoVoucher.bizDate = new Date().getTime();\r\n promoVoucher.coupon_code = coupon_code || \"\";\r\n promoVoucher.boName = \"Retail\";\r\n promoVoucher.voucherId = dto.ID;\r\n let onlinePaymentAmount=0;\r\n if(dto.OnlinePaymentAmount)\r\n {\r\n onlinePaymentAmount=dto.OnlinePaymentAmount;\r\n }\r\n promoVoucher.promoLinks = _filter(this.paymode.currentMode.djqs,djq=>djq.checked);\r\n promoVoucher.totalAmountWithTax =Math.Minus(dto.TotalTaxAmount,onlinePaymentAmount);\r\n promoVoucher.redBlueFlagEnum = \"BLUE\";\r\n promoVoucher.meMemberId = dto.Idmember;\r\n promoVoucher.storeFactorId = dto.Idstore;\r\n promoVoucher.voucherDetailList = [];\r\n dto.RetailDetails.forEach(item => {\r\n let detailDTO = {};\r\n detailDTO.uuid = item.Code;\r\n detailDTO.detailBoName = \"RetailDetail\";\r\n detailDTO.voucherDetailId = item.ID;\r\n detailDTO.productId = item.Idinventory;\r\n detailDTO.uomId = item.Idunit;\r\n detailDTO.productSpecId=item.ProductSpecId;\r\n detailDTO.isManualFreeGift = item.IsPresent;\r\n detailDTO.isListPriceIncludingTax = item.TaxFlag || true;\r\n detailDTO.IsManualChangePrice = item.IsManualChangePrice;\r\n // if(detailDTO.IsManualChangePrice)//如果是手工改价\r\n // {\r\n // detailDTO.listPrice = item.TaxPrice;\r\n // detailDTO.netAmountWithTax = item.TaxAmount;\r\n // }\r\n // else\r\n // {\r\n let bookingQuantity=0;\r\n if(item.BookingQuantity)\r\n {\r\n bookingQuantity=item.BookingQuantity;\r\n }\r\n detailDTO.listPrice = JSON.getCellValue(item, \"listPrice\");\r\n detailDTO.netAmountWithTax = Math.Multiply(detailDTO.listPrice,Math.Minus(item.Quantity,bookingQuantity));//item.TaxAmount;\r\n //} \r\n detailDTO.taxRate = item.TaxRate;\r\n detailDTO.quantity = item.Quantity;\r\n \r\n detailDTO.amountWithTax = item.RetailAmount;\r\n // 促销 start\r\n if(item.PromotionDetails && item.PromotionDetails.length != 0){\r\n let promoLinks = [];\r\n item.PromotionDetails.forEach((promotion)=>{\r\n promoLinks.push({\r\n promoId:promotion.IdSalesPromotionDTO,\r\n promoRuleId:promotion.PromotionRuleId\r\n })\r\n })\r\n if(promoLinks.length != 0) detailDTO.promoLinks = promoLinks;\r\n }\r\n // 促销 end\r\n promoVoucher.voucherDetailList.push(detailDTO);\r\n });\r\n \r\n return ccApi({\r\n ...promoVoucher\r\n }, 'promotion/PromoCalculate/findUsefulCouponPromoList', false, false,{method:'post',timeout_skip:true})\r\n .then((result)=>{\r\n if(result && result.length != 0 ){\r\n result.forEach((element)=>{\r\n const { couponCode, name, tieredAmountResult, fromDate , dateMount , promoMethodEnum , discountPct, nominalAmount,promoId,id} = element || {};\r\n const { condValue, promoDiscount,displayText,promoRuleId, couponCategoryEnum } = tieredAmountResult\r\n if (result.IsRepelWithPoints && _find(this.paymode.thePaymodes, (themode) => { return themode.paymentType == PayStyle.jfdx; })) {\r\n Message.error(`${Differentiate.COUPON}(${result.SN})不可与积分一起使用`);\r\n }\r\n else {\r\n let IsEnable = (couponCategoryEnum === 'RIGUP' || couponCategoryEnum === 'UN_MATCH' || couponCategoryEnum === \"PREPARING\" || couponCategoryEnum === 'PROMO_LIMITED' || couponCategoryEnum === 'COUPON_CONFLICT') ? false : true ;\r\n let { isNewRetailBCPos } = platform || {};\r\n this.addDjq(\r\n couponCode,\r\n name,\r\n IsEnable,\r\n promoMethodEnum == \"CASH_COUPON\"?nominalAmount: promoDiscount,\r\n condValue, \r\n null,\r\n false, \r\n !result.IsRepelWithPoints, \r\n dto.Idmember,\r\n dateMount,\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n couponCategoryEnum,\r\n id,\r\n true, 1)\r\n }\r\n })\r\n if(promoVoucher.coupon_code){\r\n this.paymode.calcDjqCheckValue(this.paymode.currentMode.djqs[0], this.dto, 'single')\r\n }\r\n }else{\r\n if (promoVoucher.coupon_code) {\r\n Message.info(`${Differentiate.COUPON}号不存在!`);\r\n this.getCouponList();\r\n } else {\r\n Message.info(`没有找到可使用的${Differentiate.COUPON}!`)\r\n }\r\n }\r\n })\r\n }\r\n }\r\n\r\n getSettleGift = () => {\r\n return ccApi({ }, `/marketingtool/paygift/executeRightsForPos/${this.billID}`, false, false, { method: 'get', timeout_skip: true });\r\n }\r\n\r\n checkCoupon = async (sn) => {\r\n let { isNewRetailBCPos } = platform || {};\r\n if (isNewRetailBCPos) {\r\n return await this.getCouponList(sn, 'sinlge');\r\n } else {\r\n const { PayStyle, Differentiate } = enumController.getEnumOj();\r\n return tApi({request:{\r\n Uid:this.paymode.currentMode.member.uid || '',\r\n SN:sn,\r\n StoreCode:this.dto.Idstore,\r\n Inventories:_map(_filter(this.dto.RetailDetails,(d)=>{return d.Quantity>0 && !d.IsPresent}),(detail)=>{return {\r\n IdInventory:detail.Inventory.ID,\r\n IdUnit:detail.Idunit,\r\n Code:detail.Inventory.Code,\r\n FreeItem0:JSON.getCellValue(detail,\"freeitem0\"),\r\n FreeItem1:JSON.getCellValue(detail,\"freeitem1\"),\r\n FreeItem2:JSON.getCellValue(detail,\"freeitem2\"),\r\n FreeItem3:JSON.getCellValue(detail,\"freeitem3\"),\r\n FreeItem4:JSON.getCellValue(detail,\"freeitem4\"),\r\n FreeItem5:JSON.getCellValue(detail,\"freeitem5\"),\r\n FreeItem6:JSON.getCellValue(detail,\"freeitem6\"),\r\n FreeItem7:JSON.getCellValue(detail,\"freeitem7\"),\r\n FreeItem8:JSON.getCellValue(detail,\"freeitem8\"),\r\n FreeItem9:JSON.getCellValue(detail,\"freeitem9\"),\r\n }}),\r\n // inventoryCodes:_join(_map(this.dto.RetailDetails,(detail)=>{return detail.Inventory.Code;}),','),\r\n InventoryClassCodes:_join(_map(_filter(this.dto.RetailDetails,(d)=>{return d.Quantity>0}),(detail)=>{return (detail.Inventory.InventoryClass||{Code:''}).Code;}),','),\r\n Amount:this.paymode.amount\r\n }}, 'chanjet.AA.DR.coupon.CheckCoupon', false, false)\r\n .then((result)=>{\r\n if(_find(this.paymode.currentMode.djqs,(djq)=>{return djq.code==result.SN})){\r\n Message.info(`${Differentiate.COUPON}已添加`);\r\n }else if(result.IsRepelWithPoints && _find(this.paymode.thePaymodes,(themode)=>{return themode.paymentType==PayStyle.jfdx;})){\r\n Message.error(`${Differentiate.COUPON}(${result.SN})不可与积分一起使用`);\r\n }\r\n else{\r\n this.addDjq(\r\n result.SN,\r\n result.Title,\r\n result.ReduceAmount,\r\n result.StartAmount,\r\n result.LastTS,\r\n false,\r\n !result.IsRepelWithPoints,\r\n result.UMemberID)\r\n }\r\n \r\n })\r\n }\r\n }\r\n @action addDjq(\r\n promoCouponCode,\r\n name,\r\n IsEnable,\r\n amount,\r\n doorsill,\r\n LastTS,\r\n checked,\r\n IsRepelWithPoints,\r\n UMemberID,\r\n expired,\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n couponCategoryEnum,\r\n id,\r\n unCheck,count\r\n ){\r\n let djq={\r\n code: promoCouponCode,\r\n promoCouponCode,\r\n name,\r\n IsEnable,\r\n amount,\r\n doorsill,//:\"无门槛\"\r\n LastTS,\r\n checked,\r\n IsRepelWithPoints,\r\n UMemberID,\r\n expired, //还剩多少过期\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n couponCategoryEnum,\r\n id,\r\n count: (count === 1 && (couponCategoryEnum === 'RIGUP' || couponCategoryEnum === 'UN_MATCH' || couponCategoryEnum === \"PREPARING\" || couponCategoryEnum === 'PROMO_LIMITED' || couponCategoryEnum === 'COUPON_CONFLICT') ? 1 : null)\r\n };\r\n this.paymode.currentMode.djqs.push(\r\n djq\r\n );\r\n // let copyData = _clonedeep(this.data[targetIndex]);\r\n !unCheck && !this.boriginReturn && this.paymode.calcDjqValue(djq);\r\n }\r\n\r\n setCurrentMode(id,type,append){\r\n const { PayStyle } = enumController.getEnumOj();\r\n const mode=_find(this.paymode.thePaymodes,{paymethodId:id});\r\n if(mode){\r\n this.paymode.currentMode=mode;\r\n if(this.newStyle){\r\n this.afterSetCurrentMode(type);\r\n }\r\n }else{\r\n this.paymode.currentMode=this.genNewMode(type,append);\r\n this.afterSetCurrentMode(type);\r\n }\r\n }\r\n afterSetCurrentMode(type){\r\n const { PayStyle } = enumController.getEnumOj();\r\n if(type==PayStyle.djq){\r\n this.paymode.calcDjqValue();\r\n }else if(type==PayStyle.jfdx){\r\n //获取可兑换的金额\r\n if(this.newStyle){\r\n const themode=_find(this.paymode.thePaymodes,{paymentType:PayStyle.jfdx});\r\n if(themode && parseFloat(themode.value||0)!=0){\r\n this.paymode.currentMode.value=themode.value;\r\n }\r\n }\r\n \r\n tApi({IntegralSteadCashParams:{\r\n Idmember:this.paymode.currentMode.member.id,\r\n TotalTaxAmount:this.paymode.amount,\r\n BalanceTaxAmount:this.paymode.amount,\r\n }}, 'AA.DR.newRetailMember.CalculdateIntegralSteadCash', false, false).then((result)=>{\r\n this.paymode.currentMode.member.setExchangable(result.MaxAmount);\r\n this.updateEvent();\r\n if(this.checkReceived(this.paymode.currentMode,\"exchangable\")){\r\n runInAction(()=>{this.paymode.currentMode.errinfo='余额不足'})\r\n }\r\n });\r\n\r\n }\r\n }\r\n\r\n\r\n checkReceived(mode,name){\r\n return !this.brefund && parseFloat(mode.value)>parseFloat(mode.maxamount || mode.member[name]||0);\r\n }\r\n\r\n genNewMode(type,notwithm,v){\r\n const { PayStyle } = enumController.getEnumOj();\r\n let value=getFixedNumber(v || (this.brefund?this.paymode.receivable:Math.max(this.paymode.receivable,0)));\r\n let themode=_find(this.paymode.paymodes,{'paymentType':type});\r\n const mode = observable({\r\n paymethodId:this.paymode.counter,\r\n name:themode.name,\r\n exchangeRate:themode.exchangeRate,\r\n calDirection:themode.calDirection,\r\n value,\r\n value2:getFixedNumber(themode.calDirection==\"88\"?value / themode.exchangeRate:(value * themode.exchangeRate)),\r\n value3:value,\r\n order:this.paymode.thePaymodes.length+1,\r\n paymentType:type,\r\n djqs:[],\r\n member:new Member(!notwithm?this.member:null),\r\n authCode:'',\r\n steadCashIntegral:null,\r\n errinfo:'',\r\n maxamount:this.paymode.amount,\r\n });\r\n if(type==PayStyle.hyczk){\r\n if(!mode.member.id || !mode.member.StorageCardNo){\r\n runInAction(()=>{mode.errinfo='未录入储值卡'})\r\n }else if(this.checkReceived(mode,\"balance\")){\r\n runInAction(()=>{mode.errinfo='余额不足'})\r\n }\r\n\r\n }\r\n if(type==PayStyle.hyczk || type==PayStyle.jfdx || type==PayStyle.djq){\r\n this.setMaxAmount(type,mode);\r\n }\r\n console.log(mode);\r\n return mode;\r\n }\r\n\r\n setMaxAmount(type,mode){\r\n const { PayStyle } = enumController.getEnumOj();\r\n let sum=0;\r\n if(type==PayStyle.hyczk){\r\n _each(_filter(this.paymode.thePaymodes,(m)=>{return m.paymentType==type;}),(q)=>{\r\n sum=Math.Add(sum,q.value);\r\n });\r\n }else if(type==PayStyle.djq || type==PayStyle.jfdx){\r\n _each(_filter(this.paymode.thePaymodes,(m)=>{return m.paymentType==PayStyle.djq || m.paymentType==PayStyle.jfdx;}),(q)=>{\r\n sum=Math.Add(sum,q.value);\r\n });\r\n }\r\n\r\n this.amountHandler && this.amountHandler(type).then(()=>{\r\n runInAction(()=>{\r\n mode.maxamount=getFixedNumber(Math.Minus(this.context.viewModel.getViewItem('Voucher').availableAmount,sum));\r\n this.updateEvent();\r\n })\r\n })\r\n }\r\n\r\n @action changeFocusOnly(type){\r\n this.paymode.currentFocus=type;\r\n // 获取焦点时带入剩余的值\r\n // let mode=_find(this.paymode.thePaymodes,{'paymentType':type});\r\n // if(mode && this.isIntegralExchange){\r\n // const shouldSetValue =getFixedNumber(parseFloat(this.paymode.receivable) + parseFloat(mode.value));\r\n // mode.value = shouldSetValue;\r\n // mode.value2 = getFixedNumber(mode.calDirection==\"88\"?shouldSetValue / mode.exchangeRate:(shouldSetValue * mode.exchangeRate));\r\n // mode.value3 = shouldSetValue;\r\n // this.paymode.calcReserved();\r\n // }\r\n }\r\n\r\n @action changeClickFocusOnly(type) {\r\n this.paymode.currentFocus=type;\r\n // 获取焦点时带入剩余的值\r\n let mode=_find(this.paymode.thePaymodes,{'paymentType':type});\r\n if(mode){\r\n const shouldSetValue =getFixedNumber(parseFloat(this.paymode.receivable) + parseFloat(mode.value));\r\n mode.value = shouldSetValue;\r\n mode.value2 = getFixedNumber(mode.calDirection==\"88\"?shouldSetValue / mode.exchangeRate:(shouldSetValue * mode.exchangeRate));\r\n mode.value3 = shouldSetValue;\r\n this.paymode.calcReserved();\r\n }\r\n }\r\n\r\n @action changeValue(index,value,blur){\r\n let mode=_find(this.paymode.thePaymodes,{'paymethodId':index});\r\n let v=blur?getFixedNumber(value) : (isNaN(value)&&value!='-'?0.00:value);\r\n if(mode){\r\n if(mode.exchangeRate != 1){\r\n if(getFixedNumber(mode.calDirection==\"88\"?mode.value3 / mode.exchangeRate:(mode.value3 * mode.exchangeRate)) !=v){\r\n mode.value=getFixedNumber(mode.calDirection==\"88\"?v*mode.exchangeRate : (v / mode.exchangeRate));\r\n }\r\n else{\r\n mode.value=mode.value3;\r\n }\r\n mode.value2=v;\r\n }else{\r\n mode.value=v;\r\n mode.value2=v;\r\n }\r\n\r\n this.paymode.calcReserved();\r\n }\r\n }\r\n\r\n @action addPayDirectly(pay){\r\n const { PayStyle } = enumController.getEnumOj();\r\n if(!_find(this.paymode.thePaymodes,{paymethodId:pay.paymethodId})){\r\n let pos=this.paymode.thePaymodes.length;\r\n if(pay.paymentType==PayStyle.hyczk){\r\n let index=_findLastIndex(this.paymode.thePaymodes,(m)=>{return m.paymethodId!=pay.paymethodId && m.paymentType==PayStyle.hyczk});\r\n pos=index==-1?pos:(index+1);\r\n }\r\n // this.paymode.thePaymodes.push(pay);\r\n this.paymode.thePaymodes.splice(pos,0,pay);\r\n }\r\n this.paymode.calcReserved();\r\n }\r\n\r\n @action addPay(type){\r\n const { PayStyle } = enumController.getEnumOj();\r\n let pos=this.paymode.thePaymodes.length;\r\n if(type==PayStyle.hyczk){\r\n let index=_findLastIndex(this.paymode.thePaymodes,(m)=>{return m.paymentType==PayStyle.hyczk});\r\n pos=index==-1?pos:(index+1);\r\n }\r\n // this.paymode.thePaymodes.push(this.genNewMode(type) );\r\n this.paymode.thePaymodes.splice(pos,0,this.genNewMode(type,this.newStyle && type==PayStyle.hyczk));\r\n this.paymode.calcReserved();\r\n }\r\n\r\n @action delPay(index){\r\n const { PayStyle } = enumController.getEnumOj();\r\n _remove(this.paymode.thePaymodes,(mode)=>{\r\n return mode.paymethodId===index;\r\n });\r\n this.paymode.currentFocus = -1;\r\n this.paymode.calcReserved();\r\n }\r\n\r\n async commit(bTest){\r\n console.log('settlementStore.commit开始,参数:'+bTest);\r\n if(bTest){\r\n return Promise.resolve(true);\r\n }\r\n let { isNewRetailBCPos } = platform || {};\r\n try{\r\n if(this.type==1){\r\n await this.saveMember();\r\n }else{\r\n if(isNewRetailBCPos){\r\n await stores.offlineSys.generatorCode(this.dto);\r\n }\r\n await this.save();\r\n if(isNewRetailBCPos){\r\n await stores.offlineSys.retailSequenceUpload();\r\n }\r\n }\r\n return Promise.resolve(true);\r\n }catch(err){\r\n console.error('settlementStore.commit失败,错误信息:'+err);\r\n return Promise.resolve(err);\r\n }\r\n }\r\n\r\n handlePrint(resp) {\r\n // 储值打印\r\n return printDispatch(DoNameList.DO_STORAGE_PRINT,resp,{}) \r\n }\r\n\r\n saveMember(){\r\n const { PayStyle } = enumController.getEnumOj();\r\n runInAction(()=>{\r\n this.dto.StorageMutiSettleDetails=[];\r\n const thePaymodes = this.newStyle ?_filter(this.paymode.thePaymodes,(mode)=>{return parseFloat(mode.value)!=0;}):this.paymode.thePaymodes;\r\n _each(thePaymodes,(mode)=>{\r\n const themode=_find(this.paymode.paymodes,{'paymentType':mode.paymentType});\r\n\r\n let value=parseFloat(mode.value);\r\n let giveChange=null;\r\n if(mode.paymentType==PayStyle.xianjin && this.paymode.receivable<0 && value>Math.abs(this.paymode.receivable)){\r\n value=Math.Add(value,this.paymode.receivable);\r\n giveChange=Math.abs(this.paymode.receivable);\r\n }\r\n this.dto.StorageMutiSettleDetails.push({\r\n Code:mode.paymethodId,\r\n StorageAmount:value,\r\n GiveChange:giveChange,\r\n IdsettleStyle:themode.idSettleStyle,\r\n IdbankAccount:themode.idBankAccount,\r\n PaymentCode:mode.authCode,\r\n DynamicPropertyKeys:[],\r\n DynamicPropertyValues:[],\r\n DataSource:{Id:this.dataSource},\r\n })\r\n });\r\n\r\n });\r\n // cc结算调用\r\n let IPMSG = {};\r\n if (!!window.localStorage.IPMSG) {\r\n IPMSG = JSON.parse(window.localStorage.IPMSG);\r\n }\r\n return tApi({dto:this.dto}, 'chanjet.ME.INewRetailMemberStorage.Save', false, false).then((resp)=>{\r\n this.handlePrint(resp);\r\n });\r\n }\r\n\r\n async save(){\r\n const { PayStyle } = enumController.getEnumOj();\r\n runInAction(()=>{\r\n this.dto.RetailPaymentDetails=[];\r\n this.dto.RetailStorageDetails=[];\r\n this.dto.RetailCouponDetails=[];\r\n let czkSum=0;\r\n let Idmember=this.dto.Idmember;\r\n let count = 0;\r\n const thePaymodes = this.newStyle ?_filter(this.paymode.thePaymodes,(mode)=>{return parseFloat(mode.value)!=0;}):this.paymode.thePaymodes;\r\n _each(thePaymodes,(mode, index)=>{\r\n const themode=_find(this.paymode.paymodes,{'paymentType':mode.paymentType});\r\n if(mode.paymentType==PayStyle.hyczk){\r\n if(!Idmember){\r\n Idmember=mode.member.id;\r\n }\r\n czkSum=Math.Add(czkSum,mode.value);\r\n let MeStorageCardId = (mode.member.MeStorageCardId ? mode.member.MeStorageCardId : this.member.MeStorageCardId);\r\n this.dto.RetailStorageDetails.push({\r\n Code:mode.paymethodId,\r\n MeStorageCardId,\r\n StoragePaymentAmount:mode.value,\r\n IsOrigReturn:false,\r\n BalanceStorage:mode.balance,\r\n Idmember:mode.member.id,\r\n DynamicPropertyKeys:[],\r\n DynamicPropertyValues:[],\r\n DataSource:{Id:this.dataSource},\r\n Password:mode.authCode,\r\n })\r\n }else{\r\n let value=parseFloat(mode.value);\r\n let giveChange=null;\r\n if(mode.paymentType==PayStyle.xianjin && this.paymode.receivable<0 && value>Math.abs(this.paymode.receivable)){\r\n value=Math.Add(value,this.paymode.receivable);\r\n giveChange=Math.abs(this.paymode.receivable);\r\n }\r\n this.dto.RetailPaymentDetails.push({\r\n Code:mode.paymethodId,\r\n OrigAmount:mode.exchangeRate!=1?mode.value2:value,\r\n Amount:value,\r\n GiveChange:giveChange,\r\n IdsettleStyle:themode.idSettleStyle,\r\n IdbankAccount:themode.idBankAccount,\r\n Idcurrency:themode.idCurrency,\r\n ExchangeRate:themode.exchangeRate,\r\n PaymentCode:mode.authCode,\r\n SteadCashIntegral:mode.steadCashIntegral,\r\n OverchargesAmount:mode.overchargesAmount,\r\n DynamicPropertyKeys:[],\r\n DynamicPropertyValues:[],\r\n DataSource:{Id:this.dataSource},\r\n })\r\n if(mode.paymentType==PayStyle.djq){\r\n _each(this.paymode.checkList && this.paymode.checkList.length ? this.paymode.checkList: mode.djqs,(djq)=>{\r\n this.dto.RetailCouponDetails.push({\r\n CouponCode:djq.promoCouponCode,\r\n ReductionAmount:djq.amount,\r\n EnableAmount:djq.doorsill,\r\n CouponTitle:djq.name,\r\n IdMember:djq.UMemberID?mode.member.id:null,\r\n LastTS:djq.LastTS,\r\n PromotionId:djq.promoId,\r\n PromotionRuleId:djq.promoRuleId,\r\n PromoCouponAllocatedId:djq.id,\r\n DataSource:{Id:this.dataSource},\r\n })\r\n })\r\n }\r\n }\r\n });\r\n let { isNewRetailBCPos } = platform || {};\r\n if(this.dto.RetailStorageDetails.length>0){\r\n const themode=_find(this.paymode.paymodes,{'paymentType':PayStyle.hyczk});\r\n if (isNewRetailBCPos) {\r\n // this.dto.RetailStorageDetails && this.dto.RetailStorageDetails.forEach((value, index) => {\r\n // value.MeStorageCardId = (mode.MeStorageCardId ? mode.MeStorageCardId : this.member.MeStorageCardId);\r\n // })\r\n this.dto.RetailPaymentDetails.push({\r\n Code:this.paymode.counter,\r\n OrigAmount:czkSum,\r\n Amount:czkSum,\r\n IdsettleStyle:themode.idSettleStyle,\r\n IdbankAccount:themode.idBankAccount,\r\n DynamicPropertyKeys:[],\r\n DynamicPropertyValues:[],\r\n DataSource:{Id:this.dataSource},\r\n RetailStorageDetails: this.dto.RetailStorageDetails,\r\n })\r\n } else {\r\n this.dto.RetailPaymentDetails.push({\r\n Code:this.paymode.counter,\r\n OrigAmount:czkSum,\r\n Amount:czkSum,\r\n IdsettleStyle:themode.idSettleStyle,\r\n IdbankAccount:themode.idBankAccount,\r\n DynamicPropertyKeys:[],\r\n DynamicPropertyValues:[],\r\n DataSource:{Id:this.dataSource},\r\n })\r\n }\r\n this.dto.Idmember=Idmember;\r\n }\r\n });\r\n let { isNewRetailBCPos } = platform || {};\r\n console.log(`bc_pos环境:${isNewRetailBCPos},结算数据:`, this.dto);\r\n if (isNewRetailBCPos) {\r\n // cc结算调用\r\n let IPMSG = {};\r\n if (!!window.localStorage.IPMSG) {\r\n IPMSG = JSON.parse(window.localStorage.IPMSG);\r\n }\r\n const RetailTypeEnum = this.dto.IdbusiType == 36?\"INTEGRAL_EXCHANGE\":\"NORMAL\";\r\n\r\n if(this.dto.IdbusiType == 37 && await this.checkIntegralExchangeReturn(this.dto.RetailDetails[0].ReturnSourceId) || this.dto.IdbusiType != 37){\r\n return ccApi({ dto: {...this.dto.cut(),RetailOms:{ RetailTypeEnum }},cip:IPMSG.query || \"\"}, '/retail/RetailPos/settle', false, false, { method: 'post', timeout_skip: true }).then((resp) => {\r\n this.setDtoID(resp.ID);\r\n this.paymode.checkList = [];\r\n this.billID = resp.ID;\r\n });\r\n }\r\n } else {\r\n // tc结算调用\r\n return tApi({ dto:this.dto.cut()}, 'chanjet.RE.newRetail.Settle', false, false, { timeout_skip: true }).then((resp) => {\r\n this.setDtoID(resp.ID);\r\n this.billID = resp.ID;\r\n })\r\n }\r\n }\r\n\r\n @action setDtoID(id){\r\n this.context.viewModel.data.ID=id;\r\n }\r\n\r\n checkIntegralExchangeReturn = (id) => {\r\n return new Promise((resolve, reject) => {\r\n tApi({param: {refVoucherId:id}}, 'chanjet.RE.NewPos.GetNewIntegralExchange', false, false,{timeout_skip:true}).then((resp) => {\r\n if( resp && resp.expireIntegral>0){\r\n ModalWraper.confirm({\r\n className: 'tplus-confirm-modal',\r\n title: \"温馨提示\",\r\n content:`存在已经过期的积分${resp.expireIntegral}退货后积分不会返还。是否继续退货?`,\r\n cancelable: false,\r\n onOk() {\r\n resolve(true);\r\n },\r\n onCancel() {\r\n reject(false);\r\n }\r\n })\r\n }else{\r\n resolve(true);\r\n }\r\n })\r\n })\r\n }\r\n\r\n async querySettleResult(){\r\n try{\r\n return Promise.resolve(await tApi({RetailCode: this.dto.Code}, 'chanjet.RE.newRetail.QuerySettleResult', false, false,{timeout_skip:true}));\r\n }catch(e){\r\n return Promise.resolve({Flag:\"1\"});\r\n }\r\n }\r\n\r\n setCookie(key, val) {\r\n var exp = new Date();\r\n exp.setTime(moment().endOf('day').valueOf());\r\n document.cookie = key + '=' + val + ';expires=' + exp.toGMTString();\r\n }\r\n\r\n getAllCookies() {\r\n var cookies = document.cookie.split(/;\\s/g);\r\n var cookieObj = {};\r\n cookies.forEach(function (item) {\r\n var key = item.split('=')[0];\r\n cookieObj[key] = item.split('=')[1];\r\n });\r\n return cookieObj;\r\n }\r\n\r\n async validePwd(value){\r\n let { isNewRetailBCPos } = platform || {};\r\n try{\r\n if (isNewRetailBCPos) {\r\n let cook1 = this.getAllCookies()['errorPwd'];\r\n let cook2 = cook1 && JSON.parse(cook1);\r\n let message = '密码输入错误';\r\n let memberId = this.paymode.currentMode.member.MeStorageCardId;\r\n if (cook2) {\r\n if (cook2.hasOwnProperty(memberId + \"\")) {\r\n if (cook2[memberId] > 3) {\r\n message = '今日密码错误已达上限,不可使用储值消费,请明日再试,如忘记请重置密码或修改密码。';\r\n return Promise.resolve(message);\r\n }\r\n }\r\n }\r\n const result = await ccApi({password: User.pwdEncrypt(value.pwd)}, `/member/MeMemberWallet/checkPaymentPassword/${value.id}`, false, false);\r\n if (!result.data) {\r\n if (cook2) {\r\n if (cook2.hasOwnProperty(memberId + \"\")) {\r\n let count = cook2[memberId];\r\n cook2[memberId] = count + 1;\r\n } else {\r\n cook2[memberId] = 1; \r\n }\r\n } else {\r\n cook2 = {};\r\n cook2[memberId] = 1; \r\n }\r\n this.setCookie('errorPwd', '', -1);\r\n this.setCookie('errorPwd', JSON.stringify(cook2));\r\n }\r\n return Promise.resolve(result.data?\"\":message);\r\n } else {\r\n const result = await tApi({\"CheckoutParams\": {\r\n \"Idmember\": value.id,\r\n \"Password\":value.pwd\r\n }}, 'AA.DR.newRetailMember.CheckoutMemberPassword', false, false);\r\n return Promise.resolve(result.Success?\"\":result.Message);\r\n }\r\n }catch(e){\r\n return \"failed\";\r\n }\r\n\r\n }\r\n}\r\n\r\nexport class PayMode{\r\n _counter=0\r\n amount=0 //应收\r\n onlineamount=0\r\n maxamount=0;\r\n @observable currentFocus=\"\"\r\n @observable received=0;\r\n @observable receivable=0;\r\n @observable paymodes =[]\r\n @observable thePaymodes=[]\r\n // @observable store = null;\r\n currentMode=null;\r\n checkList = [];\r\n updateEvent\r\n settle={\r\n name:\"复合结算\",\r\n hotKey:\"Ctrl+M\",\r\n }\r\n constructor (){\r\n // this.amount=getFixedNumber(amount);\r\n // this.calcReserved();\r\n }\r\n\r\n @action clean(){\r\n this.thePaymodes=[];\r\n this.calcReserved();\r\n }\r\n\r\n @action clear(){\r\n this.thePaymodes=[];\r\n this.calcReserved();\r\n this.paymodes = [];\r\n }\r\n\r\n setAmount(a,o){\r\n this.amount=getFixedNumber((a || 0)-(o || 0));\r\n this.onlineamount=getFixedNumber(o || 0);\r\n this.calcReserved();\r\n return this.amount<0;\r\n }\r\n\r\n @action calcReserved(){\r\n var sum=0;\r\n _each(this.thePaymodes,(mode)=>{\r\n sum=Math.Add(sum,(mode.value==\"\"?0:mode.value));\r\n });\r\n this.received = getFixedNumber(sum);\r\n this.receivable = getFixedNumber(this.amount - sum);\r\n }\r\n\r\n @action calcCheckList = () => {\r\n this.checkList = [];\r\n }\r\n\r\n @action calcDjqCheckValue(q1, dto, params) {\r\n let useLimitPerOrder = PosInitData('UseLimitPerOrder');\r\n let qList = _filter(this.currentMode.djqs,djq=>djq.checked);\r\n if (qList.length === useLimitPerOrder && !q1.checked) {\r\n Message.warn('本单最多可用'+useLimitPerOrder+'张');\r\n return;\r\n }\r\n if (params === 'single') {\r\n this.checkList = [];\r\n }\r\n\r\n let { isNewRetailBCPos } = platform || {};\r\n const { PayStyle, Differentiate } = enumController.getEnumOj();\r\n\r\n if(q1){\r\n if(!this.currentMode.boriginReturn && parseFloat(this.currentMode.maxamount)<=0){\r\n Message.error(`本单没有${Differentiate.COUPON}可用金额,该券不可使用。`);\r\n return ;\r\n }\r\n let q=_find(this.currentMode.djqs,(djq)=>{return djq.promoCouponCode==q1.promoCouponCode});\r\n if(q && !q.checked && parseFloat(this.amount)<parseFloat(q.doorsill)){\r\n Message.error(\"本单金额低于使用门槛,该券不可使用。\");\r\n return ;\r\n }\r\n //判断是否是选择优惠券 //CC优惠券只能使用一个\r\n // if (q1 && !q1.checked && isNewRetailBCPos) {\r\n // // 检查是否有已经选定优惠券 并且去除选定的优惠券\r\n // this.currentMode.djqs.forEach((djq, index) => {\r\n // if (djq.checked) this.currentMode.djqs[index].checked = false;\r\n // })\r\n // }\r\n q && (q.checked = !q.checked);\r\n }\r\n var sum=0;\r\n // console.log(this.store, 'stores-------');\r\n if (!q1.checked) {\r\n this.checkList.forEach((ele, i) => {\r\n if (ele.id === q1.id) {\r\n this.checkList.splice(i, 1);\r\n }\r\n })\r\n } else {\r\n this.checkList.push(q1);\r\n }\r\n\r\n this.checkList.forEach((ele) => {\r\n sum=Math.Add(sum,ele.amount);\r\n })\r\n this.currentMode.value = getFixedNumber(Math.min(this.receivable,sum,this.currentMode.maxamount));\r\n console.log(this.receivable, sum, Math.min(this.receivable,sum,this.currentMode.maxamount), 'sum---------');\r\n this.currentMode.receivable = getFixedNumber(this.receivable - Math.min(this.receivable,sum,this.currentMode.maxamount));\r\n this.currentMode.overchargesAmount=getFixedNumber(sum-this.currentMode.value);\r\n if (params === 'single') {\r\n return;\r\n }\r\n let promoVoucher = {};\r\n promoVoucher.boName = \"Retail\";\r\n // promoVoucher.promoLinks = _filter(this.currentMode.djqs,djq=>djq.checked);\r\n promoVoucher.meMemberId = this.currentMode.member.id;\r\n promoVoucher.storeFactorId = PosInitData('storeID');\r\n promoVoucher.voucherDetailList = [];\r\n dto.RetailDetails.forEach(item => {\r\n let detailDTO = {};\r\n detailDTO.uuid = item.Code;\r\n detailDTO.detailBoName = \"RetailDetail\";\r\n detailDTO.voucherDetailId = item.ID;\r\n detailDTO.productId = item.Idinventory;\r\n detailDTO.uomId = item.Idunit;\r\n detailDTO.productSpecId=item.ProductSpecId;\r\n detailDTO.isManualFreeGift = item.IsPresent;\r\n detailDTO.isListPriceIncludingTax = item.TaxFlag || true;\r\n detailDTO.IsManualChangePrice = item.IsManualChangePrice;\r\n\r\n \r\n\r\n // if(detailDTO.IsManualChangePrice)//如果是手工改价\r\n // {\r\n // detailDTO.listPrice = item.TaxPrice;\r\n // detailDTO.netAmountWithTax = item.TaxAmount;\r\n // }\r\n // else\r\n // {\r\n let bookingQuantity=0;\r\n if(item.BookingQuantity)\r\n {\r\n bookingQuantity=item.BookingQuantity;\r\n }\r\n detailDTO.listPrice = JSON.getCellValue(item, \"listPrice\");\r\n detailDTO.netAmountWithTax = Math.Multiply(detailDTO.listPrice,Math.Minus(item.Quantity,bookingQuantity));//item.TaxAmount;\r\n //} \r\n detailDTO.taxRate = item.TaxRate;\r\n detailDTO.quantity = item.Quantity;\r\n \r\n detailDTO.amountWithTax = item.RetailAmount;\r\n // 促销 start\r\n if(item.PromotionDetails && item.PromotionDetails.length != 0){\r\n let promoLinks = [];\r\n item.PromotionDetails.forEach((promotion)=>{\r\n promoLinks.push({\r\n promoId:promotion.IdSalesPromotionDTO,\r\n promoRuleId:promotion.PromotionRuleId\r\n })\r\n })\r\n if(promoLinks.length != 0) detailDTO.promoLinks = promoLinks;\r\n }\r\n // 促销 end\r\n promoVoucher.voucherDetailList.push(detailDTO);\r\n });\r\n promoVoucher.promoLinks = this.checkList;\r\n return ccApi({\r\n ...promoVoucher\r\n }, 'promotion/PromoCalculate/findUsefulCouponPromoList', false, false,{method:'post',timeout_skip:true})\r\n .then((result)=>{\r\n if(result && result.length != 0 ){\r\n result.forEach((element, index) => {\r\n let djq1 = false;\r\n this.currentMode.djqs.forEach((djq) => {\r\n if (element.id === djq.id) {\r\n djq1 = true;\r\n }\r\n })\r\n const { couponCode, name, tieredAmountResult, fromDate , dateMount , promoMethodEnum , discountPct, nominalAmount,promoId,id, doorsill} = element || {};\r\n const { condValue, promoDiscount,displayText,promoRuleId, couponCategoryEnum } = tieredAmountResult\r\n if(!djq1) {\r\n // this.currentMode.djqs.push({\r\n // promoCouponCode: element.CouponCode,\r\n // name: element.CouponTitle,\r\n // IsEnable: true,\r\n // amount: element.ReductionAmount,\r\n // doorsill: element.EnableAmount,\r\n // LastTS: element.LastTS,\r\n // checked: false,\r\n // IsRepelWithPoints: true,\r\n // UMemberID: dto.Idmember,\r\n // expired: null,\r\n // displayText,\r\n // promoMethodEnum,\r\n // discountPct,\r\n // promoId,\r\n // promoRuleId,\r\n // couponCategoryEnum: tieredAmountResult.couponCategoryEnum,\r\n // id\r\n // })\r\n this.addDjqs(couponCode,name,true,nominalAmount,doorsill,element.LastTS,false,true,\r\n dto.Idmember,\r\n dateMount,\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n tieredAmountResult.couponCategoryEnum,\r\n id);\r\n djq1 = false;\r\n } else {\r\n this.setCouponNum(element.id, tieredAmountResult.couponCategoryEnum, promoMethodEnum, nominalAmount,promoDiscount);\r\n // this.currentMode.djqs[0].couponCategoryEnum = 'couponCategoryEnum';\r\n // djq1.couponCategoryEnum = element.tieredAmountResult.couponCategoryEnum\r\n }\r\n }) \r\n }\r\n // 优惠券【6052098985043】与【6120822326451】不可叠加使用\r\n })\r\n //this.receivable = getFixedNumber(this.receivable - sum);\r\n }\r\n\r\n @action setCouponNum = (id, couponNum, promoMethodEnum, nominalAmount,promoDiscount) => {\r\n this.currentMode.djqs.forEach((ele) => {\r\n if (ele.id === id) {\r\n promoMethodEnum == \"CASH_COUPON\" ? ele.amount = nominalAmount: ele.amount = promoDiscount;\r\n ele.couponCategoryEnum = couponNum;\r\n let IsEnable = (ele.couponCategoryEnum === 'RIGUP' || ele.couponCategoryEnum === 'UN_MATCH' || ele.couponCategoryEnum === \"PREPARING\" || ele.couponCategoryEnum === 'PROMO_LIMITED' || ele.couponCategoryEnum === 'COUPON_CONFLICT') ? false : true ;\r\n ele.IsEnable = IsEnable;\r\n }\r\n })\r\n }\r\n\r\n @action addDjqs = (promoCouponCode,\r\n name,\r\n IsEnable,\r\n amount,\r\n doorsill,\r\n LastTS,\r\n checked,\r\n IsRepelWithPoints,\r\n UMemberID,\r\n expired,\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n couponCategoryEnum,\r\n id) => {\r\n let djq={\r\n promoCouponCode,\r\n name,\r\n IsEnable,\r\n amount,\r\n doorsill,\r\n LastTS,\r\n checked,\r\n IsRepelWithPoints,\r\n UMemberID,\r\n expired,\r\n displayText,\r\n promoMethodEnum,\r\n discountPct,\r\n promoId,\r\n promoRuleId,\r\n couponCategoryEnum,\r\n id\r\n };\r\n this.currentMode.djqs.push(\r\n djq\r\n );\r\n }\r\n\r\n @action calcDjqValue(q1){\r\n let { isNewRetailBCPos } = platform || {};\r\n const { Differentiate } = enumController.getEnumOj();\r\n if(q1){\r\n if(!this.currentMode.boriginReturn && parseFloat(this.currentMode.maxamount)<=0){\r\n Message.error(`本单没有${Differentiate.COUPON}可用金额,该券不可使用。`);\r\n return ;\r\n }\r\n let q=_find(this.currentMode.djqs,(djq)=>{return djq.code==q1.code});\r\n if(q && !q.checked && parseFloat(this.amount)<parseFloat(q.doorsill)){\r\n Message.error(\"本单金额低于使用门槛,该券不可使用。\");\r\n return ;\r\n }\r\n //判断是否是选择优惠券 //CC优惠券只能使用一个\r\n // if (q1 && !q1.checked && isNewRetailBCPos) {\r\n // // 检查是否有已经选定优惠券 并且去除选定的优惠券\r\n // this.currentMode.djqs.forEach((djq, index) => {\r\n // if (djq.checked) this.currentMode.djqs[index].checked = false;\r\n // })\r\n // }\r\n q && (q.checked = !q.checked);\r\n }\r\n var sum=0;\r\n // console.log(this.store, 'stores-------');\r\n _each(_filter(this.currentMode.djqs,djq=>djq.checked),(q)=>{\r\n sum=Math.Add(sum,q.amount);\r\n });\r\n this.currentMode.value = getFixedNumber(Math.min(this.receivable,sum,this.currentMode.maxamount));\r\n this.currentMode.receivable = getFixedNumber(this.receivable -this.currentMode.value);\r\n this.currentMode.overchargesAmount=getFixedNumber(sum-this.currentMode.value);\r\n\r\n //this.receivable = getFixedNumber(this.receivable - sum);\r\n }\r\n\r\n @action reCalculationDjqs() {\r\n var sum=0;\r\n _each(_filter(this.currentMode.djqs,djq=>djq.checked),(q)=>{\r\n sum=Math.Add(sum,q.amount);\r\n });\r\n this.currentMode.value = getFixedNumber(Math.min(this.receivable,sum,this.currentMode.maxamount));\r\n this.currentMode.receivable = getFixedNumber(this.receivable -this.currentMode.value);\r\n this.currentMode.overchargesAmount=getFixedNumber(sum-this.currentMode.value);\r\n this.currentMode.maxamount = this.currentMode.receivable || this.currentMode.receivable;\r\n }\r\n\r\n @action clearDjqs() {\r\n this.currentMode.djqs = [];\r\n }\r\n\r\n @action setCurrentModeValue(v,max){\r\n this.currentMode.value=parseFloat(v) || 0;\r\n this.currentMode.errinfo='';\r\n let sum = this.amount;\r\n const { PayStyle} = enumController.getEnumOj();\r\n this.thePaymodes && this.thePaymodes.forEach((mode) => {\r\n if (mode.paymentType === PayStyle.hyczk) {\r\n sum -= mode.value;\r\n }\r\n })\r\n\r\n if(this.amount>0 && (v==='' || v==='0.00') && sum !== 0){\r\n this.currentMode.errinfo=\"实收金额必须录入\";\r\n }else if(Math.abs(parseFloat(v))>Math.abs(sum)){\r\n this.currentMode.errinfo=\"实收不应大于应收\";\r\n }else if(parseFloat(v)>0 && parseFloat(v) > (max || 0) ){\r\n this.currentMode.errinfo=\"余额不足\";\r\n }\r\n }\r\n @action calcMemberBalance(){\r\n this.currentMode.balance = this.currentMode.member.rawbalance - this.currentMode.value;\r\n }\r\n\r\n get charge(){\r\n return Math.abs(this.receivable);\r\n }\r\n\r\n get counter(){\r\n return ++this._counter;\r\n }\r\n\r\n async setPaymodes(type,isIntegralExchange){\r\n const { settleStyleType , PayStyle} = enumController.getEnumOj();\r\n const {memberStoreCode , settlementCode } = settleStyleType;\r\n const param = {'settleStyleType':type==1?memberStoreCode:settlementCode,isIntegralExchange}\r\n const modes = await tApi({param}, 'chanjet.RE.NewPos.GetNewStoreSettleStyles', false, false);\r\n if(modes){\r\n runInAction(()=>{\r\n let paymodes = [];\r\n _each(modes.SettleStyles, (mode,index)=>{\r\n //产品需求确认会员储值卡结算方式前端展示统一调整为“储值卡\" tuzha by 2020-07-08\r\n\r\n if(mode.Code==PayStyle.hyczk)\r\n {\r\n mode.Name='储值余额';\r\n }\r\n paymodes.push({\r\n name:mode.Name,\r\n isDefault:mode.IsDefaultSettleStyle,\r\n isQuick:_findIndex(modes.QuickSettleStyles, {'Code':mode.Code})>=0,\r\n orderBy:1,\r\n paymentType:mode.Code,\r\n offlineDisable:mode.offlineDisable,\r\n idSettleStyle:mode.IdSettleStyle,\r\n idBankAccount:mode.IdBankAccount,\r\n exchangeRate:mode.Currency?mode.Currency.ExchangeRate:1,\r\n idCurrency:mode.Currency?mode.Currency.ID:-1,\r\n calDirection:mode.Currency?mode.Currency.CalDirection.Id:\"88\",\r\n })\r\n })\r\n this.paymodes = paymodes;\r\n //modes.QuickSettleStyles\r\n })\r\n }\r\n }\r\n}\r\n\r\nexport class Member{\r\n id;\r\n uid;\r\n @observable cardNo;\r\n type;\r\n @observable balance;\r\n rawbalance;\r\n needPwd;\r\n bonusPoints;\r\n @observable exchangable;\r\n @observable MeStorageCardId;\r\n @observable StorageCardNo;\r\n constructor(m){\r\n if(m){\r\n this.id=m.ID;\r\n this.uid=m.Uid;\r\n this.type=m.MemberType?m.MemberType.Name:\"普通\";\r\n this.rawbalance=m.BalanceStorage;\r\n let index=_findIndex(m.DynamicPropertyKeys,(key)=>{return key=='canusedbalancestorage';});\r\n const { isNewRetailBCPos } = platform || {};\r\n m.StorageCardNo && (this.StorageCardNo = m.StorageCardNo);\r\n m.MeStorageCardId && (this.MeStorageCardId = m.MeStorageCardId);\r\n runInAction(()=>{\r\n this.cardNo=m.CardCode;\r\n if(index>=0){\r\n this.balance=parseFloat(m.DynamicPropertyValues[index]);\r\n }else{\r\n this.balance=this.rawbalance;\r\n }\r\n });\r\n this.needPwd=m.MemberType?m.MemberType.IsNeedPwd:false;\r\n this.NeedModifyPassword=m.NeedModifyPassword;\r\n this.bonusPoints=m.BalanceIntegral;\r\n }\r\n }\r\n @action setExchangable(v){\r\n this.exchangable=v;\r\n }\r\n @action setCardNo(v){\r\n this.cardNo=v;\r\n this.id=null;\r\n }\r\n @action setMeStorageCardId(v) {\r\n this.MeStorageCardId = v;\r\n }\r\n\r\n @action setStorageCardNo(v) {\r\n this.StorageCardNo = v;\r\n }\r\n}\r\n\r\n"]}
@@ -658,7 +658,8 @@ var TouchTable = (_temp = _class = function (_Component2) {
658
658
  };
659
659
 
660
660
  _this2.plusClick = function (lists, text, record, index, rowItem) {
661
- if (text.isSerialNumber && text.SerialNumber && text.Amount === 1) {
661
+ var list1 = lists[index];
662
+ if (list1 && list1.isSerialNumber && list1.SerialNumber && list1.Quantity === 1) {
662
663
  _message2.default.warn('已录入序列号后,不可增加数量');
663
664
  return;
664
665
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-components-touch/components/touchTable/index.js"],"names":["emptyTabImage","InputNumberCell","props","val","text","record","index","selectedRowKeys","rowItem","rowHeight","handleClick","mergeQuantityUnit","Unit","unitname","Name","fileName","FieldName","key","length","item","parseInt","readOnly","quick","height","lineHeight","e","Component","TouchTable","renderCheckbox","Array","prototype","remove","indexOf","splice","onChange","checked","arr","state","push","setSelectedRowKeys","fn","cboxClick","status","findSelectedRowKeys","margin","width","event","renderLineNum","renderNumber","precision","isPercent","Format","changeDecimalMul","changeDecimalBuZero","rowIndexs","renderAction","renderOther","showText","badge","type","position","className","badgeClassName","badgeClassNames","baseNum","includes","style","top","renderUserDefined","callbackFunc","getRowClassName","renderIntegralExchangeItem","exchangeIntegralValue","getRenderColumns","cols","dataSource","check","checkbox","dataIndex","title","textAlign","render","lineType","lineNum","fixed","controlType","dsItem","IsIntegralExchange","singleExchangeIntegral","ExchangeIntegral","Quantity","Math","ceil","floor","renderText","tools","dateFormat","lastIndexOf","split","align","lastColumnResize","delType","delRow","dynamics","isFixDelColumn","stopPropagation","_event","rest","isHitRow","lists","rowClick","delClick","minusClick","plusClick","modalClick","selfHandleClick","rowIndex","undefined","outerCallback","click","AuthProcess","execute","authorityValidate","callback","result","clearSelectedRows","delete","AddLogProcessor","Code","min","minValue","quantityUiState","uiState","cellMin","value","cellMinTip","tip","afterValue","accSub","isNull","Message","info","update","isSerialNumber","SerialNumber","Amount","warn","max","maxValue","cellMax","cellMaxTip","accAdd","updateField","setRow","params","isScrolling","tops","target","nodeName","scrollTop","getScrollTopValue","setState","setTimeout","i","cb","number","bitNum","f_x","parseFloat","isNaN","newBitNum","pow","round","s_x","toString","pos_decimal","a","b","c","d","f","Number","replace","prefixZero","num","n","join","slice","arg1","arg2","r1","r2","m","abs","cm","toFixed","emptyFunc","tabHeight","emptyStyle","display","getScrollHeight","tableHeight","headerHeight","tab","tableElement","current","document","getElementsByClassName","t","contentTable","parentNode","clientHeight","initScrollHeight","scrollHeight","scrollY","bodyTable","parentNodeEl","rowTop","tabTop","curTop","lastChild","childNodes","offsetTop","tabColumns","checkboxedList","React","createRef","getTableElement","bind","waterMark","waterMarkOption","children","handleCallback","generateWaterMark","nextProps","autoScroll","pagination","columns","items","dyItems","row","y","emptyText","onClick","propTypes","PropTypes","string","object"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n *\r\n * waterMark 水印文字内容\r\n * waterMarkOption 水印参数 Object类型 (width, height, font, color,rotate)\r\n *\r\n * badge Boolean 徽章 在dataSource(data) 属性中每一行的数据定义badge字段会自动生成,不需要定义对应的columns\r\n * dataSource: [{badge: {text: '赠', position: 'leftTop', className: ''}}]\r\n * badge: text 文字内容 | position 徽章位置(leftTop/rightTop/leftBottom/rightBottom) | className\r\n *\r\n */\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Checkbox, Table as AntTable } from 'antd';\r\nimport { Ticon } from '../../index';\r\nimport { generateWaterMark } from './generateWater.js';\r\nimport { badgeClassNames } from './utils';\r\nimport tools from '../../util/tools.js'\r\nimport './index.less';\r\nimport _get from 'lodash/get';\r\nimport mobx from \"mobx\";\r\nimport Table from 'bee-table';\r\nimport 'bee-table/build/Table.css';\r\nimport Message from '../message';\r\nimport { AuthProcess } from './AuthProcess';\r\nconst emptyTabImage = 'https://newretail.static.chanjet.com/empty.png';\r\nexport class InputNumberCell extends Component {\r\n render() {\r\n let {\r\n val,\r\n text,\r\n record,\r\n index,\r\n selectedRowKeys,\r\n rowItem,\r\n rowHeight = 50,\r\n handleClick,\r\n mergeQuantityUnit,\r\n } = this.props;\r\n const { Unit } = record || {};\r\n const unitname = Unit && Unit.Name;\r\n const fileName = rowItem.FieldName ? rowItem.FieldName : rowItem.key;\r\n val = (!!mergeQuantityUnit && fileName == 'Quantity') ? (val + unitname || '') : val;\r\n if (selectedRowKeys && selectedRowKeys.length > 0) {\r\n for (let item of selectedRowKeys) {\r\n if (index === parseInt(item) && rowItem.readOnly === false) {\r\n return (<div className={rowItem.quick == true ? 'selectedCell' : 'unSelectedCell'}>\r\n {rowItem.quick == true && <Ticon type='jianqu' className='iconKey primary-color' style={{ height: rowHeight + 'px', lineHeight: rowHeight + 'px' }} onClick={e => handleClick(e, 'minus', text, record, index, rowItem)} />}\r\n <span onClick={e => handleClick(e, 'modal', text, record, index, rowItem)} className={`iconText row-cell-div row-cell-pad mouse hot-key-${rowItem.FieldName ? rowItem.FieldName : rowItem.key}`}>{val}</span>\r\n {rowItem.quick == true && <Ticon type=\"zengjia\" className=\"iconKey primary-color\" style={{ height: rowHeight + 'px', lineHeight: rowHeight + 'px' }} onClick={e => handleClick(e, 'plus', text, record, index, rowItem)} />}\r\n </div>)\r\n }\r\n }\r\n }\r\n return (<div className='unSelectedCell'><span className='iconText row-cell-div row-cell-pad'>{val}</span></div>)\r\n }\r\n}\r\n\r\nexport default class TouchTable extends Component {\r\n static propTypes = {\r\n waterMark: PropTypes.string,\r\n waterMarkOption: PropTypes.object\r\n };\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedRowKeys: [],\r\n tabColumns: [],\r\n scrollY: 0,\r\n scrollTop: null,\r\n }\r\n this.checkboxedList = [];\r\n this.type = {\r\n click: 'click',\r\n update: 'update',\r\n delete: 'delete',\r\n updateField: 'updateField'\r\n }\r\n this.isHitRow = false;\r\n this.tableElement = React.createRef();\r\n this.getTableElement = this.getTableElement.bind(this);\r\n this.getRowClassName = this.getRowClassName.bind(this);\r\n }\r\n getTableElement() {\r\n return this.tableElement;\r\n }\r\n\r\n generateWaterMark() {\r\n const { waterMark, waterMarkOption = {}, type } = this.props;\r\n let contentTable;\r\n\r\n if (type === 'bee') {\r\n contentTable = this.tableElement.current;\r\n } else {\r\n const parentNodeEl = document.getElementsByClassName(\"antTable\")[0];\r\n contentTable = {\r\n contentTable: parentNodeEl.children[0]\r\n };\r\n }\r\n if(waterMark != this.waterMark){\r\n generateWaterMark(contentTable, { text: waterMark, ...waterMarkOption });\r\n this.waterMark = waterMark;\r\n }\r\n this.props.handleCallback && this.props.handleCallback();\r\n }\r\n\r\n renderCheckbox = (text, record, index) => {\r\n Array.prototype.remove = function (val) {\r\n var index = this.indexOf(val);\r\n if (index > -1) {\r\n this.splice(index, 1);\r\n }\r\n };\r\n const onChange = (checked, index) => {\r\n let arr = this.state.selectedRowKeys;\r\n if (checked === true) {\r\n arr.push(index);\r\n }\r\n else if (checked === false) {\r\n arr.remove(index);\r\n }\r\n this.setSelectedRowKeys([...new Set(arr)]);\r\n const fn = this.props.cboxClick;\r\n if (typeof fn == 'function') { fn(checked, index) }\r\n }\r\n const status = this.findSelectedRowKeys(index);\r\n return (\r\n <div style={{ margin: 'auto', width: '20px' }}>\r\n <Checkbox className=\"test\" checked={status} onChange={(event) => onChange(event, index)}></Checkbox>\r\n </div>\r\n )\r\n }\r\n renderLineNum = (text, record, index) => {\r\n return index + 1\r\n //return this.prefixZero(index + 1, 2);\r\n }\r\n renderNumber = (text, record, index, item) => {\r\n const { mergeQuantityUnit } = this.props;\r\n let precision = parseInt(item.precision);\r\n let isPercent = ('Format' in item && item.Format == 'Percent');\r\n text = isPercent ? this.changeDecimalMul(text, 100) : text;\r\n let val = this.changeDecimalBuZero(text, precision);\r\n val = isPercent ? val + \"%\" : val;\r\n const rowIndexs = this.state.selectedRowKeys;\r\n return <InputNumberCell\r\n val={val}\r\n text={text}\r\n record={record}\r\n index={index}\r\n selectedRowKeys={rowIndexs}\r\n rowItem={item}\r\n mergeQuantityUnit={mergeQuantityUnit}\r\n handleClick={this.handleClick} />\r\n }\r\n renderAction = (text, record, index) => {\r\n const status = this.findSelectedRowKeys(index);\r\n if (status == true) {\r\n return (<span className='spanDel' onClick={e => this.handleClick(e, 'del', index, record)} ><Ticon type=\"shanchu\" className=\"iconDel primary-color\"/></span>)\r\n } else {\r\n return ''\r\n }\r\n }\r\n renderOther = (showText, record, index, item) => {\r\n const { badge, height = 50, type } = this.props;\r\n //针对存货为赠品属性的处理逻辑。\r\n if (item && item.Name == 'Inventory' && badge && record.badge) {\r\n const { badge: { text, position = 'leftTop', className = '' } = {} } = record;\r\n const badgeClassName = badgeClassNames[position];\r\n const baseNum = position.includes('Bottom') ? 25 : 0;\r\n let style = {}\r\n if (type === 'bee'){\r\n style = {\r\n top : baseNum + (height * index)\r\n }\r\n }\r\n return (\r\n <div className='tplus-table-badge'>\r\n <div className={`badge-item ${className} ${badgeClassName}`} style={style}><span>{text}</span></div>\r\n <div className='row-cell-div row-cell-pad' style={{ width: '100%' }}>{showText}</div>\r\n </div>\r\n )\r\n }\r\n //增加宽度是为了控制超出之后显示省略号。\r\n return <div className='row-cell-div row-cell-pad' style={{ width: '100%' }}>{showText}</div>\r\n }\r\n //自定义列\r\n renderUserDefined = (text, record, index, item) => {\r\n const fn = item.callbackFunc;\r\n if (typeof fn == 'function') {\r\n return fn();\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n getRowClassName = (record, index) => {\r\n const status = this.findSelectedRowKeys(index);\r\n if (status == true) {\r\n return 'row-selected'\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n renderIntegralExchangeItem = (text, record, index, item ,exchangeIntegralValue) => {\r\n return (<div onClick={e => this.handleClick(e, 'modal', text, record, index, item)} className={`Integral-exchange-item hot-key-${item.FieldName ? item.FieldName : item.key}`} >\r\n <span className='money iconText row-cell-div mouse'>{ exchangeIntegralValue+\"积分\"}</span>\r\n <span className='value iconText row-cell-div mouse'>{'¥'+text}</span>\r\n </div>)\r\n }\r\n\r\n getRenderColumns = (cols, dataSource) => {\r\n const { badge, height = 50, mergeQuantityUnit, type } = this.props;\r\n const arr = [];\r\n let check = typeof this.props.checkbox == 'boolean' ? this.props.checkbox : false;\r\n if (check === true) {\r\n arr.push({\r\n key: 'checkbox',\r\n dataIndex: 'checkbox',\r\n title: '',\r\n width: 25,\r\n textAlign: 'center',\r\n readOnly: true,\r\n render: (text, record, index) => this.renderCheckbox(text, record, index)\r\n })\r\n }\r\n let lineType = typeof this.props.lineNum == 'boolean' ? this.props.lineNum : false;\r\n if (lineType === true) {\r\n arr.push({\r\n key: 'rowNum',\r\n dataIndex: 'rowNum',\r\n title: '行号',\r\n width: 50,\r\n textAlign: 'center',\r\n readOnly: true,\r\n fixed: 'left',\r\n render: (text, record, index) => this.renderLineNum(text, record, index)\r\n })\r\n }\r\n if (cols && cols.length > 0) {\r\n for (let item of cols) {\r\n if (item.controlType === 'NumTextBox') {\r\n item.render = (text, record, index) => {\r\n // 增加积分抵现特殊显示方式\r\n let dsItem = dataSource && dataSource[index];\r\n if (dsItem && dsItem.IsIntegralExchange && (item.FieldName == \"TaxPrice\" || item.FieldName == \"TaxAmount\")) {\r\n const singleExchangeIntegral = dataSource[index].ExchangeIntegral\r\n let exchangeIntegralValue = item.FieldName == \"TaxPrice\"?singleExchangeIntegral:singleExchangeIntegral* dataSource[index].Quantity;\r\n if(exchangeIntegralValue>0) {\r\n exchangeIntegralValue = Math.ceil(exchangeIntegralValue);\r\n }else {\r\n exchangeIntegralValue = Math.floor(exchangeIntegralValue);\r\n }\r\n return this.renderIntegralExchangeItem(text, record, index, item,exchangeIntegralValue)\r\n }\r\n return this.renderNumber(text, record, index, item);\r\n } \r\n } else if (item.controlType === 'Userdefined') {\r\n item.render = (text, record, index) => {\r\n return this.renderUserDefined(text, record, index, item);\r\n }\r\n } else if (item.controlType === 'DatePicker' ||item.controlType === 'DateDropDown') {\r\n item.render = (text, record, index) => {\r\n let renderText = tools.dateFormat(text, item.Format);\r\n return <span>{renderText}</span>\r\n }\r\n } else {\r\n item.render = (text, record, index) => {\r\n if (text && typeof text == 'object') {\r\n text = _get(record, item.FieldName)\r\n }\r\n if (text && typeof text == 'object' && 'Name' in text) {\r\n text = text['Name']\r\n }\r\n return this.renderOther(text, record, index, item);\r\n\r\n }\r\n }\r\n if (type !== 'bee'){\r\n if (item.dataIndex.lastIndexOf(\".\") > 0) {\r\n item.dataIndex = item.dataIndex.split('.');\r\n }\r\n item.align = item.textAlign;\r\n }\r\n if (mergeQuantityUnit && item.FieldName == 'Quantity') {\r\n item = { ...item, title: '数量/单位' }\r\n }\r\n arr.push(item);\r\n }\r\n }\r\n //最后一列留白,解决最后一列自适应宽度的问题\r\n let lastColumnResize = typeof this.props.lastColumnResize == 'boolean' ? this.props.lastColumnResize : false;\r\n if (lastColumnResize == true) {\r\n arr.push({\r\n key: 'resize',\r\n dataIndex: 'resize',\r\n title: '',\r\n width: 10,\r\n textAlign: 'center',\r\n readOnly: true\r\n })\r\n }\r\n let delType = typeof this.props.delRow == 'boolean' ? this.props.delRow : true;\r\n let dynamics = typeof this.props.isFixDelColumn == 'boolean' && this.props.isFixDelColumn == true ? { fixed: 'right',width: 50 } : { width: 28};\r\n if (delType === true) {\r\n arr.push({\r\n key: 'del',\r\n ...dynamics,\r\n dataIndex: 'del',\r\n title: '',\r\n className: 'shanchu',\r\n textAlign: 'center', //beeTable居中\r\n align: 'center', //antTable居中\r\n render: (text, record, index) => this.renderAction(text, record, index)\r\n })\r\n }\r\n return arr;\r\n }\r\n\r\n stopPropagation = (_event) => {\r\n if (_event && _event.stopPropagation) {\r\n _event.stopPropagation();\r\n }\r\n }\r\n\r\n /*以下为触发事件*/\r\n handleClick = (_event, type, ...rest) => {\r\n this.isHitRow = true;\r\n const lists = this.props.dataSource;\r\n switch (type) {\r\n case 'rowClick':\r\n this.rowClick(...rest)\r\n break;\r\n case 'del':\r\n this.delClick(lists, ...rest)\r\n this.stopPropagation(_event)\r\n break;\r\n case 'minus':\r\n this.minusClick(lists, ...rest)\r\n this.stopPropagation(_event)\r\n break;\r\n case 'plus':\r\n this.plusClick(lists, ...rest)\r\n this.stopPropagation(_event)\r\n break;\r\n case 'modal':\r\n this.modalClick(...rest)\r\n break;\r\n }\r\n }\r\n\r\n selfHandleClick = () => {\r\n const { rowIndex = undefined } = this.props;\r\n if (rowIndex == undefined) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n rowClick = (record, index, fn) => {\r\n if (this.selfHandleClick()) {\r\n //当不设置行点击事件时,组件内部处理。\r\n if (this.state.selectedRowKeys.indexOf(index) > -1) return;\r\n this.setSelectedRowKeys(index, true);\r\n }else{\r\n //当设置点击事件,组件外处理\r\n this.outerCallback(this.type.click, record, index);\r\n }\r\n }\r\n delClick = async (lists, index, record) => {\r\n let status = AuthProcess.execute('ReverseOperation');\r\n if (!status) {\r\n this.props.authorityValidate && this.props.authorityValidate({callback:(result)=>{\r\n if (result) {\r\n if (this.selfHandleClick()) {\r\n lists.splice(index, 1);\r\n this.clearSelectedRows();\r\n }else{\r\n this.outerCallback(this.type.delete, record, index);\r\n AddLogProcessor.execute(\"删除行\", record.Code, '删除行成功');\r\n }\r\n }\r\n }});\r\n } else {\r\n if (this.selfHandleClick()) {\r\n lists.splice(index, 1);\r\n this.clearSelectedRows();\r\n }else{\r\n this.outerCallback(this.type.delete, record, index);\r\n }\r\n }\r\n }\r\n minusClick = (lists, text, record, index, rowItem) => {\r\n let val = text;\r\n let min = rowItem.minValue;\r\n let quantityUiState = record.uiState&&record.uiState.Quantity;\r\n //单元格状态控制\r\n let cellMin = quantityUiState && quantityUiState.min.value;\r\n let cellMinTip = quantityUiState && quantityUiState.min.tip;\r\n\r\n let item = { ...lists[index] };\r\n let afterValue = this.accSub(val, 1);\r\n\r\n if (min !== undefined) {\r\n if (min >= val) return;\r\n afterValue = (min >= afterValue) ? min : afterValue;\r\n }\r\n //单元格状态控制\r\n if ( !tools.isNull(cellMin)) {\r\n if (cellMin >= val) {\r\n if( !tools.isNull(cellMinTip) ) Message.info(cellMinTip);\r\n return;\r\n }\r\n afterValue = (cellMin >= afterValue) ? cellMin : afterValue;\r\n }\r\n\r\n item[rowItem.key] = afterValue;\r\n this.outerCallback(this.type.update, item, index);\r\n }\r\n \r\n plusClick = (lists, text, record, index, rowItem) => {\r\n if (text.isSerialNumber && text.SerialNumber && text.Amount === 1) {\r\n Message.warn('已录入序列号后,不可增加数量')\r\n return;\r\n }\r\n let val = text;\r\n let max = rowItem.maxValue;\r\n let quantityUiState = record.uiState&&record.uiState.Quantity;\r\n //单元格状态控制\r\n let cellMax = quantityUiState && quantityUiState.max.value;\r\n let cellMaxTip = quantityUiState && quantityUiState.max.tip;\r\n\r\n let item = { ...lists[index] };\r\n let afterValue = this.accAdd(val, 1);\r\n if (max !== undefined) {\r\n if (max <= val) return;\r\n afterValue = (max <= afterValue) ? max : afterValue;\r\n }\r\n //单元格状态控制\r\n if ( !tools.isNull(cellMax)) {\r\n if (cellMax <= val){\r\n if( !tools.isNull(cellMaxTip) ) Message.info(cellMaxTip);\r\n return;\r\n }\r\n afterValue = (cellMax <= afterValue) ? cellMax : afterValue;\r\n }\r\n item[rowItem.key] = afterValue;\r\n this.outerCallback(this.type.update, item, index);\r\n }\r\n\r\n modalClick = (text, record, index, rowItem) => {\r\n const fn = this.props.rowClick;\r\n if (typeof fn == 'function') {\r\n fn(this.type.updateField, index, record, rowItem.key, rowItem)\r\n }\r\n }\r\n\r\n /*以下为抽离公共方法*/\r\n\r\n setRow = (index) => {\r\n this.setSelectedRowKeys(index)\r\n }\r\n\r\n setSelectedRowKeys = (params) => {\r\n const { rowIndex, isScrolling } = this.props;\r\n let arr = new Array();\r\n if (params instanceof Array) {\r\n arr.push(...params)\r\n } else {\r\n arr.push(params)\r\n }\r\n let tops = {};\r\n let isHitRow = event && event.type == 'click' && (event.target.nodeName == 'DIV' || event.target.nodeName == 'I')\r\n if (isScrolling && rowIndex && rowIndex > -1 && !((this.isHitRow === true) ? true : isHitRow)) {\r\n const scrollTop = this.getScrollTopValue();\r\n tops = { scrollTop };\r\n } else {\r\n tops = { scrollTop: null };\r\n }\r\n this.setState({ selectedRowKeys: arr, ...tops });\r\n if (this.isHitRow === true) { setTimeout(() => { this.isHitRow = false }, 600) }\r\n }\r\n\r\n findSelectedRowKeys = (index) => {\r\n let rowIndexs = this.state.selectedRowKeys;\r\n if (rowIndexs && rowIndexs.length > 0) {\r\n for (let i = 0; i < rowIndexs.length; i++) {\r\n let item = rowIndexs[i];\r\n if (item === index) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n clearSelectedRows = () => {\r\n this.setSelectedRowKeys([])\r\n }\r\n\r\n outerCallback = (type, record, index) => {\r\n const cb = this.props.rowClick;\r\n if (typeof cb == 'function') cb(type, index, record)\r\n }\r\n\r\n changeDecimalBuZero = (number, bitNum) => {\r\n if (bitNum == 0) return number;\r\n var f_x = parseFloat(number);\r\n if (isNaN(f_x)) {\r\n return '';\r\n }\r\n // f_x = Math.round(number * 100) / 100;\r\n let newBitNum = Math.pow(10, bitNum)\r\n f_x = Math.round(number * newBitNum) / newBitNum;\r\n let s_x = (f_x + '').toString();\r\n let pos_decimal = s_x.indexOf('.');\r\n if (pos_decimal < 0) {\r\n pos_decimal = s_x.length;\r\n s_x += '.';\r\n }\r\n while (s_x.length <= pos_decimal + bitNum) {\r\n s_x += '0';\r\n }\r\n return s_x;\r\n }\r\n\r\n /* 浮点数做相乘处理 */\r\n changeDecimalMul = (a, b) => {\r\n let c = 0,\r\n d = (a + '').toString(),\r\n e = (b + '').toString();\r\n try {\r\n c += d.split(\".\")[1].length;\r\n } catch (f) { }\r\n try {\r\n c += e.split(\".\")[1].length;\r\n } catch (f) { }\r\n return Number(d.replace(\".\", \"\")) * Number(e.replace(\".\", \"\")) / Math.pow(10, c);\r\n }\r\n\r\n prefixZero = (num, n) => {\r\n return (Array(n).join(0) + num).slice(-n);\r\n }\r\n\r\n //相加\r\n accAdd = (arg1, arg2) => {\r\n let r1, r2, m, c;\r\n try {\r\n r1 = (arg1 + '').toString().split(\".\")[1].length;\r\n }\r\n catch (e) {\r\n r1 = 0;\r\n }\r\n try {\r\n r2 = (arg2 + '').toString().split(\".\")[1].length;\r\n }\r\n catch (e) {\r\n r2 = 0;\r\n }\r\n c = Math.abs(r1 - r2);\r\n m = Math.pow(10, Math.max(r1, r2));\r\n if (c > 0) {\r\n var cm = Math.pow(10, c);\r\n if (r1 > r2) {\r\n arg1 = Number((arg1 + '').toString().replace(\".\", \"\"));\r\n arg2 = Number((arg2 + '').toString().replace(\".\", \"\")) * cm;\r\n } else {\r\n arg1 = Number((arg1 + '').toString().replace(\".\", \"\")) * cm;\r\n arg2 = Number((arg2 + '').toString().replace(\".\", \"\"));\r\n }\r\n } else {\r\n arg1 = Number((arg1 + '').toString().replace(\".\", \"\"));\r\n arg2 = Number((arg2 + '').toString().replace(\".\", \"\"));\r\n }\r\n return (arg1 + arg2) / m;\r\n }\r\n\r\n //相减\r\n accSub = (arg1, arg2) => {\r\n let r1, r2, m, n;\r\n try {\r\n r1 = (arg1 + '').toString().split(\".\")[1].length;\r\n }\r\n catch (e) {\r\n r1 = 0;\r\n }\r\n try {\r\n r2 = (arg2 + '').toString().split(\".\")[1].length;\r\n }\r\n catch (e) {\r\n r2 = 0;\r\n }\r\n m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度\r\n n = (r1 >= r2) ? r1 : r2;\r\n return ((arg1 * m - arg2 * m) / m).toFixed(n);\r\n }\r\n\r\n emptyFunc = (tabHeight, emptyStyle = 'txt') => {\r\n let type = null;\r\n switch (emptyStyle) {\r\n case 'icon':\r\n type = 1;\r\n break;\r\n case 'txt':\r\n type = 2;\r\n break;\r\n case 'icon-txt':\r\n type = 3;\r\n break;\r\n default: type = 0;\r\n }\r\n return (<div className='defaultContainer' style={{ height: tabHeight + 'px' }}>\r\n <div style={{ display: type === 0 ? 'none' : '' }}>\r\n <img className='img' style={{ display: (type === 1 || type === 3) ? '' : 'none' }} src={emptyTabImage} />\r\n <div style={{ display: (type === 2 || type === 3) ? '' : 'none' }}>暂无数据~~</div>\r\n </div>\r\n </div>);\r\n }\r\n\r\n getScrollHeight = () => {\r\n const { tableHeight, headerHeight = 50, type } = this.props;\r\n if (typeof tableHeight == 'number') return tableHeight - headerHeight;\r\n let tab;\r\n if (type === 'bee'){\r\n tab = this.tableElement.current;\r\n } else {\r\n tab = document.getElementsByClassName(\"antTable\")[0];\r\n }\r\n if (tab) {\r\n let t = type === 'bee' ? tab.contentTable.parentNode.clientHeight : tab.clientHeight\r\n return t - headerHeight > 0 ? t - headerHeight : headerHeight\r\n } else {\r\n return 0\r\n }\r\n }\r\n\r\n initScrollHeight = () => {\r\n const scrollHeight = this.getScrollHeight();\r\n this.setState({ scrollY: scrollHeight })\r\n }\r\n\r\n getScrollTopValue = () => {\r\n let top = 0;\r\n const { height = 50, type } = this.props;\r\n let bodyTable;\r\n if (type === 'bee'){\r\n let tab = this.tableElement.current;\r\n bodyTable = tab && tab.bodyTable;\r\n } else {\r\n const parentNodeEl = document.getElementsByClassName(\"antTable\")[0];\r\n bodyTable = parentNodeEl.getElementsByClassName('ant-table-body')[0];\r\n }\r\n if (bodyTable.scrollHeight > bodyTable.clientHeight) {\r\n const { selectedRowKeys } = this.state;\r\n let rowTop = 0;\r\n if (selectedRowKeys && selectedRowKeys.length > 0) {\r\n let index = selectedRowKeys[0];\r\n let tabTop = bodyTable.scrollTop;\r\n let curTop = bodyTable.lastChild.lastChild.childNodes[index].offsetTop;\r\n rowTop = curTop - bodyTable.clientHeight + height + 10;\r\n rowTop = Math.abs(tabTop - curTop) < 100 ? tabTop : rowTop;\r\n }\r\n top = rowTop > 0 ? rowTop : 0\r\n }\r\n return top;\r\n }\r\n\r\n componentDidMount() {\r\n setTimeout(() => {\r\n if( this.props.rowIndex!==void(0) ){\r\n this.setSelectedRowKeys(this.props.rowIndex)\r\n }\r\n this.initScrollHeight()\r\n }, 0)\r\n this.generateWaterMark()\r\n }\r\n componentDidUpdate() {\r\n this.generateWaterMark()\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('rowIndex' in nextProps) {\r\n this.setSelectedRowKeys(nextProps.rowIndex);\r\n this.initScrollHeight();\r\n }\r\n }\r\n render() {\r\n let {\r\n autoScroll, width, tableHeight,\r\n headerHeight = 50, height = 50,\r\n pagination, dataSource,\r\n columns, rowClick, cboxClick, className = '',\r\n checkbox, emptyStyle, rowIndex, type, ...items\r\n } = this.props;\r\n let { scrollY, scrollTop } = this.state;\r\n // let copyColumns = columns.map(el=>{return {...el}});\r\n const tabColumns = this.getRenderColumns(columns, dataSource);\r\n const dyItems = (scrollTop != null) ? { scrollTop } : {};\r\n return (\r\n <div className={`${type === 'bee' ? 'touchTable' : 'antTable'} ${className}`}>\r\n {\r\n type === 'bee' ? (\r\n <Table\r\n {...items}\r\n {...dyItems}\r\n ref={this.tableElement}\r\n style={{ width: width ? width : '100%', height: tableHeight ? tableHeight : '100%' }}\r\n rowKey={row => row.Code}\r\n headerHeight={headerHeight}\r\n pagination={pagination ? pagination : false}\r\n data={dataSource}\r\n columns={tabColumns}\r\n height={height}\r\n rowClassName={this.getRowClassName}\r\n emptyText={() => this.emptyFunc(tableHeight, emptyStyle)}\r\n scroll={autoScroll ? {} : { y: scrollY }}\r\n headerScroll={false}\r\n onRowClick={\r\n (record, index) => {\r\n this.handleClick(null, 'rowClick', record, index, rowClick)\r\n }\r\n }\r\n />\r\n ):(\r\n <AntTable\r\n id=\"ref-table\"\r\n {...items}\r\n {...dyItems}\r\n style={{ width: width ? width : '100%', height: tableHeight ? tableHeight : '100%' }}\r\n rowKey={row => row.Code}\r\n pagination={pagination ? pagination : false}\r\n dataSource={dataSource}\r\n columns={tabColumns}\r\n rowClassName={this.getRowClassName}\r\n locale={{emptyText: this.emptyFunc(tableHeight - 60, emptyStyle)}}\r\n scroll={autoScroll ? {y: null} : {y: tableHeight - 60 }}\r\n onRow={(record, index) => {\r\n return{\r\n onClick: () => this.handleClick(null, 'rowClick', record, index, rowClick)\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n\r\n </div>\r\n )\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["tplus-components-touch/components/touchTable/index.js"],"names":["emptyTabImage","InputNumberCell","props","val","text","record","index","selectedRowKeys","rowItem","rowHeight","handleClick","mergeQuantityUnit","Unit","unitname","Name","fileName","FieldName","key","length","item","parseInt","readOnly","quick","height","lineHeight","e","Component","TouchTable","renderCheckbox","Array","prototype","remove","indexOf","splice","onChange","checked","arr","state","push","setSelectedRowKeys","fn","cboxClick","status","findSelectedRowKeys","margin","width","event","renderLineNum","renderNumber","precision","isPercent","Format","changeDecimalMul","changeDecimalBuZero","rowIndexs","renderAction","renderOther","showText","badge","type","position","className","badgeClassName","badgeClassNames","baseNum","includes","style","top","renderUserDefined","callbackFunc","getRowClassName","renderIntegralExchangeItem","exchangeIntegralValue","getRenderColumns","cols","dataSource","check","checkbox","dataIndex","title","textAlign","render","lineType","lineNum","fixed","controlType","dsItem","IsIntegralExchange","singleExchangeIntegral","ExchangeIntegral","Quantity","Math","ceil","floor","renderText","tools","dateFormat","lastIndexOf","split","align","lastColumnResize","delType","delRow","dynamics","isFixDelColumn","stopPropagation","_event","rest","isHitRow","lists","rowClick","delClick","minusClick","plusClick","modalClick","selfHandleClick","rowIndex","undefined","outerCallback","click","AuthProcess","execute","authorityValidate","callback","result","clearSelectedRows","delete","AddLogProcessor","Code","min","minValue","quantityUiState","uiState","cellMin","value","cellMinTip","tip","afterValue","accSub","isNull","Message","info","update","list1","isSerialNumber","SerialNumber","warn","max","maxValue","cellMax","cellMaxTip","accAdd","updateField","setRow","params","isScrolling","tops","target","nodeName","scrollTop","getScrollTopValue","setState","setTimeout","i","cb","number","bitNum","f_x","parseFloat","isNaN","newBitNum","pow","round","s_x","toString","pos_decimal","a","b","c","d","f","Number","replace","prefixZero","num","n","join","slice","arg1","arg2","r1","r2","m","abs","cm","toFixed","emptyFunc","tabHeight","emptyStyle","display","getScrollHeight","tableHeight","headerHeight","tab","tableElement","current","document","getElementsByClassName","t","contentTable","parentNode","clientHeight","initScrollHeight","scrollHeight","scrollY","bodyTable","parentNodeEl","rowTop","tabTop","curTop","lastChild","childNodes","offsetTop","tabColumns","checkboxedList","React","createRef","getTableElement","bind","waterMark","waterMarkOption","children","handleCallback","generateWaterMark","nextProps","autoScroll","pagination","columns","items","dyItems","row","y","emptyText","onClick","propTypes","PropTypes","string","object"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n *\r\n * waterMark 水印文字内容\r\n * waterMarkOption 水印参数 Object类型 (width, height, font, color,rotate)\r\n *\r\n * badge Boolean 徽章 在dataSource(data) 属性中每一行的数据定义badge字段会自动生成,不需要定义对应的columns\r\n * dataSource: [{badge: {text: '赠', position: 'leftTop', className: ''}}]\r\n * badge: text 文字内容 | position 徽章位置(leftTop/rightTop/leftBottom/rightBottom) | className\r\n *\r\n */\r\nimport React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Checkbox, Table as AntTable } from 'antd';\r\nimport { Ticon } from '../../index';\r\nimport { generateWaterMark } from './generateWater.js';\r\nimport { badgeClassNames } from './utils';\r\nimport tools from '../../util/tools.js'\r\nimport './index.less';\r\nimport _get from 'lodash/get';\r\nimport mobx from \"mobx\";\r\nimport Table from 'bee-table';\r\nimport 'bee-table/build/Table.css';\r\nimport Message from '../message';\r\nimport { AuthProcess } from './AuthProcess';\r\nconst emptyTabImage = 'https://newretail.static.chanjet.com/empty.png';\r\nexport class InputNumberCell extends Component {\r\n render() {\r\n let {\r\n val,\r\n text,\r\n record,\r\n index,\r\n selectedRowKeys,\r\n rowItem,\r\n rowHeight = 50,\r\n handleClick,\r\n mergeQuantityUnit,\r\n } = this.props;\r\n const { Unit } = record || {};\r\n const unitname = Unit && Unit.Name;\r\n const fileName = rowItem.FieldName ? rowItem.FieldName : rowItem.key;\r\n val = (!!mergeQuantityUnit && fileName == 'Quantity') ? (val + unitname || '') : val;\r\n if (selectedRowKeys && selectedRowKeys.length > 0) {\r\n for (let item of selectedRowKeys) {\r\n if (index === parseInt(item) && rowItem.readOnly === false) {\r\n return (<div className={rowItem.quick == true ? 'selectedCell' : 'unSelectedCell'}>\r\n {rowItem.quick == true && <Ticon type='jianqu' className='iconKey primary-color' style={{ height: rowHeight + 'px', lineHeight: rowHeight + 'px' }} onClick={e => handleClick(e, 'minus', text, record, index, rowItem)} />}\r\n <span onClick={e => handleClick(e, 'modal', text, record, index, rowItem)} className={`iconText row-cell-div row-cell-pad mouse hot-key-${rowItem.FieldName ? rowItem.FieldName : rowItem.key}`}>{val}</span>\r\n {rowItem.quick == true && <Ticon type=\"zengjia\" className=\"iconKey primary-color\" style={{ height: rowHeight + 'px', lineHeight: rowHeight + 'px' }} onClick={e => handleClick(e, 'plus', text, record, index, rowItem)} />}\r\n </div>)\r\n }\r\n }\r\n }\r\n return (<div className='unSelectedCell'><span className='iconText row-cell-div row-cell-pad'>{val}</span></div>)\r\n }\r\n}\r\n\r\nexport default class TouchTable extends Component {\r\n static propTypes = {\r\n waterMark: PropTypes.string,\r\n waterMarkOption: PropTypes.object\r\n };\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedRowKeys: [],\r\n tabColumns: [],\r\n scrollY: 0,\r\n scrollTop: null,\r\n }\r\n this.checkboxedList = [];\r\n this.type = {\r\n click: 'click',\r\n update: 'update',\r\n delete: 'delete',\r\n updateField: 'updateField'\r\n }\r\n this.isHitRow = false;\r\n this.tableElement = React.createRef();\r\n this.getTableElement = this.getTableElement.bind(this);\r\n this.getRowClassName = this.getRowClassName.bind(this);\r\n }\r\n getTableElement() {\r\n return this.tableElement;\r\n }\r\n\r\n generateWaterMark() {\r\n const { waterMark, waterMarkOption = {}, type } = this.props;\r\n let contentTable;\r\n\r\n if (type === 'bee') {\r\n contentTable = this.tableElement.current;\r\n } else {\r\n const parentNodeEl = document.getElementsByClassName(\"antTable\")[0];\r\n contentTable = {\r\n contentTable: parentNodeEl.children[0]\r\n };\r\n }\r\n if(waterMark != this.waterMark){\r\n generateWaterMark(contentTable, { text: waterMark, ...waterMarkOption });\r\n this.waterMark = waterMark;\r\n }\r\n this.props.handleCallback && this.props.handleCallback();\r\n }\r\n\r\n renderCheckbox = (text, record, index) => {\r\n Array.prototype.remove = function (val) {\r\n var index = this.indexOf(val);\r\n if (index > -1) {\r\n this.splice(index, 1);\r\n }\r\n };\r\n const onChange = (checked, index) => {\r\n let arr = this.state.selectedRowKeys;\r\n if (checked === true) {\r\n arr.push(index);\r\n }\r\n else if (checked === false) {\r\n arr.remove(index);\r\n }\r\n this.setSelectedRowKeys([...new Set(arr)]);\r\n const fn = this.props.cboxClick;\r\n if (typeof fn == 'function') { fn(checked, index) }\r\n }\r\n const status = this.findSelectedRowKeys(index);\r\n return (\r\n <div style={{ margin: 'auto', width: '20px' }}>\r\n <Checkbox className=\"test\" checked={status} onChange={(event) => onChange(event, index)}></Checkbox>\r\n </div>\r\n )\r\n }\r\n renderLineNum = (text, record, index) => {\r\n return index + 1\r\n //return this.prefixZero(index + 1, 2);\r\n }\r\n renderNumber = (text, record, index, item) => {\r\n const { mergeQuantityUnit } = this.props;\r\n let precision = parseInt(item.precision);\r\n let isPercent = ('Format' in item && item.Format == 'Percent');\r\n text = isPercent ? this.changeDecimalMul(text, 100) : text;\r\n let val = this.changeDecimalBuZero(text, precision);\r\n val = isPercent ? val + \"%\" : val;\r\n const rowIndexs = this.state.selectedRowKeys;\r\n return <InputNumberCell\r\n val={val}\r\n text={text}\r\n record={record}\r\n index={index}\r\n selectedRowKeys={rowIndexs}\r\n rowItem={item}\r\n mergeQuantityUnit={mergeQuantityUnit}\r\n handleClick={this.handleClick} />\r\n }\r\n renderAction = (text, record, index) => {\r\n const status = this.findSelectedRowKeys(index);\r\n if (status == true) {\r\n return (<span className='spanDel' onClick={e => this.handleClick(e, 'del', index, record)} ><Ticon type=\"shanchu\" className=\"iconDel primary-color\"/></span>)\r\n } else {\r\n return ''\r\n }\r\n }\r\n renderOther = (showText, record, index, item) => {\r\n const { badge, height = 50, type } = this.props;\r\n //针对存货为赠品属性的处理逻辑。\r\n if (item && item.Name == 'Inventory' && badge && record.badge) {\r\n const { badge: { text, position = 'leftTop', className = '' } = {} } = record;\r\n const badgeClassName = badgeClassNames[position];\r\n const baseNum = position.includes('Bottom') ? 25 : 0;\r\n let style = {}\r\n if (type === 'bee'){\r\n style = {\r\n top : baseNum + (height * index)\r\n }\r\n }\r\n return (\r\n <div className='tplus-table-badge'>\r\n <div className={`badge-item ${className} ${badgeClassName}`} style={style}><span>{text}</span></div>\r\n <div className='row-cell-div row-cell-pad' style={{ width: '100%' }}>{showText}</div>\r\n </div>\r\n )\r\n }\r\n //增加宽度是为了控制超出之后显示省略号。\r\n return <div className='row-cell-div row-cell-pad' style={{ width: '100%' }}>{showText}</div>\r\n }\r\n //自定义列\r\n renderUserDefined = (text, record, index, item) => {\r\n const fn = item.callbackFunc;\r\n if (typeof fn == 'function') {\r\n return fn();\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n getRowClassName = (record, index) => {\r\n const status = this.findSelectedRowKeys(index);\r\n if (status == true) {\r\n return 'row-selected'\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n renderIntegralExchangeItem = (text, record, index, item ,exchangeIntegralValue) => {\r\n return (<div onClick={e => this.handleClick(e, 'modal', text, record, index, item)} className={`Integral-exchange-item hot-key-${item.FieldName ? item.FieldName : item.key}`} >\r\n <span className='money iconText row-cell-div mouse'>{ exchangeIntegralValue+\"积分\"}</span>\r\n <span className='value iconText row-cell-div mouse'>{'¥'+text}</span>\r\n </div>)\r\n }\r\n\r\n getRenderColumns = (cols, dataSource) => {\r\n const { badge, height = 50, mergeQuantityUnit, type } = this.props;\r\n const arr = [];\r\n let check = typeof this.props.checkbox == 'boolean' ? this.props.checkbox : false;\r\n if (check === true) {\r\n arr.push({\r\n key: 'checkbox',\r\n dataIndex: 'checkbox',\r\n title: '',\r\n width: 25,\r\n textAlign: 'center',\r\n readOnly: true,\r\n render: (text, record, index) => this.renderCheckbox(text, record, index)\r\n })\r\n }\r\n let lineType = typeof this.props.lineNum == 'boolean' ? this.props.lineNum : false;\r\n if (lineType === true) {\r\n arr.push({\r\n key: 'rowNum',\r\n dataIndex: 'rowNum',\r\n title: '行号',\r\n width: 50,\r\n textAlign: 'center',\r\n readOnly: true,\r\n fixed: 'left',\r\n render: (text, record, index) => this.renderLineNum(text, record, index)\r\n })\r\n }\r\n if (cols && cols.length > 0) {\r\n for (let item of cols) {\r\n if (item.controlType === 'NumTextBox') {\r\n item.render = (text, record, index) => {\r\n // 增加积分抵现特殊显示方式\r\n let dsItem = dataSource && dataSource[index];\r\n if (dsItem && dsItem.IsIntegralExchange && (item.FieldName == \"TaxPrice\" || item.FieldName == \"TaxAmount\")) {\r\n const singleExchangeIntegral = dataSource[index].ExchangeIntegral\r\n let exchangeIntegralValue = item.FieldName == \"TaxPrice\"?singleExchangeIntegral:singleExchangeIntegral* dataSource[index].Quantity;\r\n if(exchangeIntegralValue>0) {\r\n exchangeIntegralValue = Math.ceil(exchangeIntegralValue);\r\n }else {\r\n exchangeIntegralValue = Math.floor(exchangeIntegralValue);\r\n }\r\n return this.renderIntegralExchangeItem(text, record, index, item,exchangeIntegralValue)\r\n }\r\n return this.renderNumber(text, record, index, item);\r\n } \r\n } else if (item.controlType === 'Userdefined') {\r\n item.render = (text, record, index) => {\r\n return this.renderUserDefined(text, record, index, item);\r\n }\r\n } else if (item.controlType === 'DatePicker' ||item.controlType === 'DateDropDown') {\r\n item.render = (text, record, index) => {\r\n let renderText = tools.dateFormat(text, item.Format);\r\n return <span>{renderText}</span>\r\n }\r\n } else {\r\n item.render = (text, record, index) => {\r\n if (text && typeof text == 'object') {\r\n text = _get(record, item.FieldName)\r\n }\r\n if (text && typeof text == 'object' && 'Name' in text) {\r\n text = text['Name']\r\n }\r\n return this.renderOther(text, record, index, item);\r\n\r\n }\r\n }\r\n if (type !== 'bee'){\r\n if (item.dataIndex.lastIndexOf(\".\") > 0) {\r\n item.dataIndex = item.dataIndex.split('.');\r\n }\r\n item.align = item.textAlign;\r\n }\r\n if (mergeQuantityUnit && item.FieldName == 'Quantity') {\r\n item = { ...item, title: '数量/单位' }\r\n }\r\n arr.push(item);\r\n }\r\n }\r\n //最后一列留白,解决最后一列自适应宽度的问题\r\n let lastColumnResize = typeof this.props.lastColumnResize == 'boolean' ? this.props.lastColumnResize : false;\r\n if (lastColumnResize == true) {\r\n arr.push({\r\n key: 'resize',\r\n dataIndex: 'resize',\r\n title: '',\r\n width: 10,\r\n textAlign: 'center',\r\n readOnly: true\r\n })\r\n }\r\n let delType = typeof this.props.delRow == 'boolean' ? this.props.delRow : true;\r\n let dynamics = typeof this.props.isFixDelColumn == 'boolean' && this.props.isFixDelColumn == true ? { fixed: 'right',width: 50 } : { width: 28};\r\n if (delType === true) {\r\n arr.push({\r\n key: 'del',\r\n ...dynamics,\r\n dataIndex: 'del',\r\n title: '',\r\n className: 'shanchu',\r\n textAlign: 'center', //beeTable居中\r\n align: 'center', //antTable居中\r\n render: (text, record, index) => this.renderAction(text, record, index)\r\n })\r\n }\r\n return arr;\r\n }\r\n\r\n stopPropagation = (_event) => {\r\n if (_event && _event.stopPropagation) {\r\n _event.stopPropagation();\r\n }\r\n }\r\n\r\n /*以下为触发事件*/\r\n handleClick = (_event, type, ...rest) => {\r\n this.isHitRow = true;\r\n const lists = this.props.dataSource;\r\n switch (type) {\r\n case 'rowClick':\r\n this.rowClick(...rest)\r\n break;\r\n case 'del':\r\n this.delClick(lists, ...rest)\r\n this.stopPropagation(_event)\r\n break;\r\n case 'minus':\r\n this.minusClick(lists, ...rest)\r\n this.stopPropagation(_event)\r\n break;\r\n case 'plus':\r\n this.plusClick(lists, ...rest)\r\n this.stopPropagation(_event)\r\n break;\r\n case 'modal':\r\n this.modalClick(...rest)\r\n break;\r\n }\r\n }\r\n\r\n selfHandleClick = () => {\r\n const { rowIndex = undefined } = this.props;\r\n if (rowIndex == undefined) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n rowClick = (record, index, fn) => {\r\n if (this.selfHandleClick()) {\r\n //当不设置行点击事件时,组件内部处理。\r\n if (this.state.selectedRowKeys.indexOf(index) > -1) return;\r\n this.setSelectedRowKeys(index, true);\r\n }else{\r\n //当设置点击事件,组件外处理\r\n this.outerCallback(this.type.click, record, index);\r\n }\r\n }\r\n delClick = async (lists, index, record) => {\r\n let status = AuthProcess.execute('ReverseOperation');\r\n if (!status) {\r\n this.props.authorityValidate && this.props.authorityValidate({callback:(result)=>{\r\n if (result) {\r\n if (this.selfHandleClick()) {\r\n lists.splice(index, 1);\r\n this.clearSelectedRows();\r\n }else{\r\n this.outerCallback(this.type.delete, record, index);\r\n AddLogProcessor.execute(\"删除行\", record.Code, '删除行成功');\r\n }\r\n }\r\n }});\r\n } else {\r\n if (this.selfHandleClick()) {\r\n lists.splice(index, 1);\r\n this.clearSelectedRows();\r\n }else{\r\n this.outerCallback(this.type.delete, record, index);\r\n }\r\n }\r\n }\r\n minusClick = (lists, text, record, index, rowItem) => {\r\n let val = text;\r\n let min = rowItem.minValue;\r\n let quantityUiState = record.uiState&&record.uiState.Quantity;\r\n //单元格状态控制\r\n let cellMin = quantityUiState && quantityUiState.min.value;\r\n let cellMinTip = quantityUiState && quantityUiState.min.tip;\r\n\r\n let item = { ...lists[index] };\r\n let afterValue = this.accSub(val, 1);\r\n\r\n if (min !== undefined) {\r\n if (min >= val) return;\r\n afterValue = (min >= afterValue) ? min : afterValue;\r\n }\r\n //单元格状态控制\r\n if ( !tools.isNull(cellMin)) {\r\n if (cellMin >= val) {\r\n if( !tools.isNull(cellMinTip) ) Message.info(cellMinTip);\r\n return;\r\n }\r\n afterValue = (cellMin >= afterValue) ? cellMin : afterValue;\r\n }\r\n\r\n item[rowItem.key] = afterValue;\r\n this.outerCallback(this.type.update, item, index);\r\n }\r\n \r\n plusClick = (lists, text, record, index, rowItem) => {\r\n let list1 = lists[index];\r\n if (list1 && list1.isSerialNumber && list1.SerialNumber && list1.Quantity === 1) {\r\n Message.warn('已录入序列号后,不可增加数量')\r\n return;\r\n }\r\n let val = text;\r\n let max = rowItem.maxValue;\r\n let quantityUiState = record.uiState&&record.uiState.Quantity;\r\n //单元格状态控制\r\n let cellMax = quantityUiState && quantityUiState.max.value;\r\n let cellMaxTip = quantityUiState && quantityUiState.max.tip;\r\n\r\n let item = { ...lists[index] };\r\n let afterValue = this.accAdd(val, 1);\r\n if (max !== undefined) {\r\n if (max <= val) return;\r\n afterValue = (max <= afterValue) ? max : afterValue;\r\n }\r\n //单元格状态控制\r\n if ( !tools.isNull(cellMax)) {\r\n if (cellMax <= val){\r\n if( !tools.isNull(cellMaxTip) ) Message.info(cellMaxTip);\r\n return;\r\n }\r\n afterValue = (cellMax <= afterValue) ? cellMax : afterValue;\r\n }\r\n item[rowItem.key] = afterValue;\r\n this.outerCallback(this.type.update, item, index);\r\n }\r\n\r\n modalClick = (text, record, index, rowItem) => {\r\n const fn = this.props.rowClick;\r\n if (typeof fn == 'function') {\r\n fn(this.type.updateField, index, record, rowItem.key, rowItem)\r\n }\r\n }\r\n\r\n /*以下为抽离公共方法*/\r\n\r\n setRow = (index) => {\r\n this.setSelectedRowKeys(index)\r\n }\r\n\r\n setSelectedRowKeys = (params) => {\r\n const { rowIndex, isScrolling } = this.props;\r\n let arr = new Array();\r\n if (params instanceof Array) {\r\n arr.push(...params)\r\n } else {\r\n arr.push(params)\r\n }\r\n let tops = {};\r\n let isHitRow = event && event.type == 'click' && (event.target.nodeName == 'DIV' || event.target.nodeName == 'I')\r\n if (isScrolling && rowIndex && rowIndex > -1 && !((this.isHitRow === true) ? true : isHitRow)) {\r\n const scrollTop = this.getScrollTopValue();\r\n tops = { scrollTop };\r\n } else {\r\n tops = { scrollTop: null };\r\n }\r\n this.setState({ selectedRowKeys: arr, ...tops });\r\n if (this.isHitRow === true) { setTimeout(() => { this.isHitRow = false }, 600) }\r\n }\r\n\r\n findSelectedRowKeys = (index) => {\r\n let rowIndexs = this.state.selectedRowKeys;\r\n if (rowIndexs && rowIndexs.length > 0) {\r\n for (let i = 0; i < rowIndexs.length; i++) {\r\n let item = rowIndexs[i];\r\n if (item === index) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n clearSelectedRows = () => {\r\n this.setSelectedRowKeys([])\r\n }\r\n\r\n outerCallback = (type, record, index) => {\r\n const cb = this.props.rowClick;\r\n if (typeof cb == 'function') cb(type, index, record)\r\n }\r\n\r\n changeDecimalBuZero = (number, bitNum) => {\r\n if (bitNum == 0) return number;\r\n var f_x = parseFloat(number);\r\n if (isNaN(f_x)) {\r\n return '';\r\n }\r\n // f_x = Math.round(number * 100) / 100;\r\n let newBitNum = Math.pow(10, bitNum)\r\n f_x = Math.round(number * newBitNum) / newBitNum;\r\n let s_x = (f_x + '').toString();\r\n let pos_decimal = s_x.indexOf('.');\r\n if (pos_decimal < 0) {\r\n pos_decimal = s_x.length;\r\n s_x += '.';\r\n }\r\n while (s_x.length <= pos_decimal + bitNum) {\r\n s_x += '0';\r\n }\r\n return s_x;\r\n }\r\n\r\n /* 浮点数做相乘处理 */\r\n changeDecimalMul = (a, b) => {\r\n let c = 0,\r\n d = (a + '').toString(),\r\n e = (b + '').toString();\r\n try {\r\n c += d.split(\".\")[1].length;\r\n } catch (f) { }\r\n try {\r\n c += e.split(\".\")[1].length;\r\n } catch (f) { }\r\n return Number(d.replace(\".\", \"\")) * Number(e.replace(\".\", \"\")) / Math.pow(10, c);\r\n }\r\n\r\n prefixZero = (num, n) => {\r\n return (Array(n).join(0) + num).slice(-n);\r\n }\r\n\r\n //相加\r\n accAdd = (arg1, arg2) => {\r\n let r1, r2, m, c;\r\n try {\r\n r1 = (arg1 + '').toString().split(\".\")[1].length;\r\n }\r\n catch (e) {\r\n r1 = 0;\r\n }\r\n try {\r\n r2 = (arg2 + '').toString().split(\".\")[1].length;\r\n }\r\n catch (e) {\r\n r2 = 0;\r\n }\r\n c = Math.abs(r1 - r2);\r\n m = Math.pow(10, Math.max(r1, r2));\r\n if (c > 0) {\r\n var cm = Math.pow(10, c);\r\n if (r1 > r2) {\r\n arg1 = Number((arg1 + '').toString().replace(\".\", \"\"));\r\n arg2 = Number((arg2 + '').toString().replace(\".\", \"\")) * cm;\r\n } else {\r\n arg1 = Number((arg1 + '').toString().replace(\".\", \"\")) * cm;\r\n arg2 = Number((arg2 + '').toString().replace(\".\", \"\"));\r\n }\r\n } else {\r\n arg1 = Number((arg1 + '').toString().replace(\".\", \"\"));\r\n arg2 = Number((arg2 + '').toString().replace(\".\", \"\"));\r\n }\r\n return (arg1 + arg2) / m;\r\n }\r\n\r\n //相减\r\n accSub = (arg1, arg2) => {\r\n let r1, r2, m, n;\r\n try {\r\n r1 = (arg1 + '').toString().split(\".\")[1].length;\r\n }\r\n catch (e) {\r\n r1 = 0;\r\n }\r\n try {\r\n r2 = (arg2 + '').toString().split(\".\")[1].length;\r\n }\r\n catch (e) {\r\n r2 = 0;\r\n }\r\n m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度\r\n n = (r1 >= r2) ? r1 : r2;\r\n return ((arg1 * m - arg2 * m) / m).toFixed(n);\r\n }\r\n\r\n emptyFunc = (tabHeight, emptyStyle = 'txt') => {\r\n let type = null;\r\n switch (emptyStyle) {\r\n case 'icon':\r\n type = 1;\r\n break;\r\n case 'txt':\r\n type = 2;\r\n break;\r\n case 'icon-txt':\r\n type = 3;\r\n break;\r\n default: type = 0;\r\n }\r\n return (<div className='defaultContainer' style={{ height: tabHeight + 'px' }}>\r\n <div style={{ display: type === 0 ? 'none' : '' }}>\r\n <img className='img' style={{ display: (type === 1 || type === 3) ? '' : 'none' }} src={emptyTabImage} />\r\n <div style={{ display: (type === 2 || type === 3) ? '' : 'none' }}>暂无数据~~</div>\r\n </div>\r\n </div>);\r\n }\r\n\r\n getScrollHeight = () => {\r\n const { tableHeight, headerHeight = 50, type } = this.props;\r\n if (typeof tableHeight == 'number') return tableHeight - headerHeight;\r\n let tab;\r\n if (type === 'bee'){\r\n tab = this.tableElement.current;\r\n } else {\r\n tab = document.getElementsByClassName(\"antTable\")[0];\r\n }\r\n if (tab) {\r\n let t = type === 'bee' ? tab.contentTable.parentNode.clientHeight : tab.clientHeight\r\n return t - headerHeight > 0 ? t - headerHeight : headerHeight\r\n } else {\r\n return 0\r\n }\r\n }\r\n\r\n initScrollHeight = () => {\r\n const scrollHeight = this.getScrollHeight();\r\n this.setState({ scrollY: scrollHeight })\r\n }\r\n\r\n getScrollTopValue = () => {\r\n let top = 0;\r\n const { height = 50, type } = this.props;\r\n let bodyTable;\r\n if (type === 'bee'){\r\n let tab = this.tableElement.current;\r\n bodyTable = tab && tab.bodyTable;\r\n } else {\r\n const parentNodeEl = document.getElementsByClassName(\"antTable\")[0];\r\n bodyTable = parentNodeEl.getElementsByClassName('ant-table-body')[0];\r\n }\r\n if (bodyTable.scrollHeight > bodyTable.clientHeight) {\r\n const { selectedRowKeys } = this.state;\r\n let rowTop = 0;\r\n if (selectedRowKeys && selectedRowKeys.length > 0) {\r\n let index = selectedRowKeys[0];\r\n let tabTop = bodyTable.scrollTop;\r\n let curTop = bodyTable.lastChild.lastChild.childNodes[index].offsetTop;\r\n rowTop = curTop - bodyTable.clientHeight + height + 10;\r\n rowTop = Math.abs(tabTop - curTop) < 100 ? tabTop : rowTop;\r\n }\r\n top = rowTop > 0 ? rowTop : 0\r\n }\r\n return top;\r\n }\r\n\r\n componentDidMount() {\r\n setTimeout(() => {\r\n if( this.props.rowIndex!==void(0) ){\r\n this.setSelectedRowKeys(this.props.rowIndex)\r\n }\r\n this.initScrollHeight()\r\n }, 0)\r\n this.generateWaterMark()\r\n }\r\n componentDidUpdate() {\r\n this.generateWaterMark()\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if ('rowIndex' in nextProps) {\r\n this.setSelectedRowKeys(nextProps.rowIndex);\r\n this.initScrollHeight();\r\n }\r\n }\r\n render() {\r\n let {\r\n autoScroll, width, tableHeight,\r\n headerHeight = 50, height = 50,\r\n pagination, dataSource,\r\n columns, rowClick, cboxClick, className = '',\r\n checkbox, emptyStyle, rowIndex, type, ...items\r\n } = this.props;\r\n let { scrollY, scrollTop } = this.state;\r\n // let copyColumns = columns.map(el=>{return {...el}});\r\n const tabColumns = this.getRenderColumns(columns, dataSource);\r\n const dyItems = (scrollTop != null) ? { scrollTop } : {};\r\n return (\r\n <div className={`${type === 'bee' ? 'touchTable' : 'antTable'} ${className}`}>\r\n {\r\n type === 'bee' ? (\r\n <Table\r\n {...items}\r\n {...dyItems}\r\n ref={this.tableElement}\r\n style={{ width: width ? width : '100%', height: tableHeight ? tableHeight : '100%' }}\r\n rowKey={row => row.Code}\r\n headerHeight={headerHeight}\r\n pagination={pagination ? pagination : false}\r\n data={dataSource}\r\n columns={tabColumns}\r\n height={height}\r\n rowClassName={this.getRowClassName}\r\n emptyText={() => this.emptyFunc(tableHeight, emptyStyle)}\r\n scroll={autoScroll ? {} : { y: scrollY }}\r\n headerScroll={false}\r\n onRowClick={\r\n (record, index) => {\r\n this.handleClick(null, 'rowClick', record, index, rowClick)\r\n }\r\n }\r\n />\r\n ):(\r\n <AntTable\r\n id=\"ref-table\"\r\n {...items}\r\n {...dyItems}\r\n style={{ width: width ? width : '100%', height: tableHeight ? tableHeight : '100%' }}\r\n rowKey={row => row.Code}\r\n pagination={pagination ? pagination : false}\r\n dataSource={dataSource}\r\n columns={tabColumns}\r\n rowClassName={this.getRowClassName}\r\n locale={{emptyText: this.emptyFunc(tableHeight - 60, emptyStyle)}}\r\n scroll={autoScroll ? {y: null} : {y: tableHeight - 60 }}\r\n onRow={(record, index) => {\r\n return{\r\n onClick: () => this.handleClick(null, 'rowClick', record, index, rowClick)\r\n }\r\n }}\r\n />\r\n )\r\n }\r\n\r\n </div>\r\n )\r\n }\r\n}\r\n"]}
package/package.json CHANGED
@@ -1,35 +1,35 @@
1
- {
2
- "name": "tplus-components-touch",
3
- "version": "3.23.5",
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-components-touch",
11
- "dev": "node node_modules/mutants-devtools/bin/dev ../touch"
12
- },
13
- "author": "",
14
- "license": "ISC",
15
- "devDependencies": {
16
- "babel-eslint": "^10.0.1",
17
- "babel-plugin-import-bee": "^1.1.0",
18
- "eslint": "^5.15.1",
19
- "eslint-plugin-react": "^7.13.0",
20
- "mocha": "^6.0.2",
21
- "mutants-appfx": "^1.0.0",
22
- "mutants-devtools": "^1.0.0",
23
- "mutants-microfx": "^1.0.0",
24
- "tplus-api": "~5.0.1",
25
- "tplus-components": "~3.23.1"
26
- },
27
- "dependencies": {
28
- "antd": "4.10.3",
29
- "bee-table": "^2.2.24",
30
- "keymaster": "^1.6.2",
31
- "lodash.findindex": "^4.6.0",
32
- "moment": "^2.24.0",
33
- "swiper": "^4.5.0"
34
- }
35
- }
1
+ {
2
+ "name": "tplus-components-touch",
3
+ "version": "3.23.9",
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-components-touch",
11
+ "dev": "node node_modules/mutants-devtools/bin/dev ../touch"
12
+ },
13
+ "author": "",
14
+ "license": "ISC",
15
+ "devDependencies": {
16
+ "babel-eslint": "^10.0.1",
17
+ "babel-plugin-import-bee": "^1.1.0",
18
+ "eslint": "^5.15.1",
19
+ "eslint-plugin-react": "^7.13.0",
20
+ "mocha": "^6.0.2",
21
+ "mutants-appfx": "^1.0.0",
22
+ "mutants-devtools": "^1.0.0",
23
+ "mutants-microfx": "^1.0.0",
24
+ "tplus-api": "~5.0.1",
25
+ "tplus-components": "~3.23.1"
26
+ },
27
+ "dependencies": {
28
+ "antd": "4.10.3",
29
+ "bee-table": "^2.2.24",
30
+ "keymaster": "^1.6.2",
31
+ "lodash.findindex": "^4.6.0",
32
+ "moment": "^2.24.0",
33
+ "swiper": "^4.5.0"
34
+ }
35
+ }