tplus-components-touch 3.56.2 → 3.56.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -123,6 +123,8 @@ var _AuthProcess = require('./AuthProcess');
123
123
 
124
124
  var _mutantsAppfx = require('mutants-appfx');
125
125
 
126
+ var _tplusPoslogin = require('tplus-poslogin');
127
+
126
128
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
127
129
 
128
130
  var InputNumberCell = exports.InputNumberCell = function (_Component) {
@@ -644,6 +646,9 @@ var TouchTable = (_temp = _class = function (_Component2) {
644
646
  }();
645
647
 
646
648
  _this2.minusClick = function (lists, text, record, index, rowItem) {
649
+ if (!_this2.isAllowSignNext(record)) {
650
+ return;
651
+ };
647
652
  var val = text;
648
653
  var min = rowItem.minValue;
649
654
  var quantityUiState = record.uiState && record.uiState.Quantity;
@@ -673,6 +678,9 @@ var TouchTable = (_temp = _class = function (_Component2) {
673
678
  };
674
679
 
675
680
  _this2.plusClick = function (lists, text, record, index, rowItem) {
681
+ if (!_this2.isAllowSignNext(record)) {
682
+ return;
683
+ };
676
684
  var list1 = lists[index];
677
685
  if (list1 && list1.isSerialNumber && list1.SerialNumber && list1.Quantity === 1) {
678
686
  _message2.default.warn('已录入序列号后,不可增加数量');
@@ -721,6 +729,18 @@ var TouchTable = (_temp = _class = function (_Component2) {
721
729
  }
722
730
  };
723
731
 
732
+ _this2.isAllowSignNext = function (record) {
733
+ // 是否称重商品
734
+ if (record && record.Inventory && record.Inventory.IsWeigh) {
735
+ // 是否允许手动修改数量
736
+ if ('1' != (0, _tplusPoslogin.PosInitData)('isBalanceCanChange')) {
737
+ _message2.default.warn('称重商品已设置不允许进行此操作!');
738
+ return false;
739
+ }
740
+ }
741
+ return true;
742
+ };
743
+
724
744
  _this2.setRow = function (index) {
725
745
  _this2.setSelectedRowKeys(index);
726
746
  };
@@ -1026,6 +1046,7 @@ var TouchTable = (_temp = _class = function (_Component2) {
1026
1046
 
1027
1047
  /*以下为抽离公共方法*/
1028
1048
 
1049
+
1029
1050
  /* 浮点数做相乘处理 */
1030
1051
 
1031
1052
 
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-components-touch/components/touchTable/index.js"],"names":["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","sys_parms","touchTableEmptyImage","window","ossAliyuncsFileURL","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","JSON","getCellValue","lastIndexOf","split","align","lastColumnResize","delType","delRow","dynamics","isFixDelColumn","stopPropagation","_event","rest","isHitRow","lists","rowClick","delClick","minusClick","plusClick","modalClick","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","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","operateType","update","list1","isSerialNumber","SerialNumber","warn","max","maxValue","cellMax","cellMaxTip","accAdd","WaitPickUpArr","WaitPickUpObj","find","o","unitId","Idunit","waitPickUpQty","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","emptyText","emptyImage","display","getScrollHeight","tableHeight","headerHeight","tab","tableElement","current","document","getElementsByClassName","uuid","t","contentTable","parentNode","clientHeight","initScrollHeight","scrollHeight","scrollY","bodyTable","parentNodeEl","rowTop","tabTop","curTop","lastChild","childNodes","offsetTop","console","log","tabColumns","checkboxedList","React","createRef","getTableElement","bind","waterMark","waterMarkOption","children","handleCallback","generateWaterMark","nextProps","autoScroll","pagination","columns","items","dyItems","row","y","onClick","propTypes","PropTypes","string","object","contextTypes","func"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAA;;;;;;;;;;;;;;;;AAUA;;;;AACA;;;;AAEA;;AACA;;AACA;;AACA;;;;AACA;;AACA;;;;AACA;;;;AACA;;;;AACA;;AACA;;;;AACA;;AACA;;;;IAEaA,e,WAAAA,e;;;;;;;;;;iCACA;AAAA,yBAWD,KAAKC,KAXJ;AAAA,gBAEDC,GAFC,UAEDA,GAFC;AAAA,gBAGDC,IAHC,UAGDA,IAHC;AAAA,gBAIDC,MAJC,UAIDA,MAJC;AAAA,gBAKDC,KALC,UAKDA,KALC;AAAA,gBAMDC,eANC,UAMDA,eANC;AAAA,gBAODC,OAPC,UAODA,OAPC;AAAA,0CAQDC,SARC;AAAA,gBAQDA,SARC,oCAQW,EARX;AAAA,gBASDC,WATC,UASDA,WATC;AAAA,gBAUDC,iBAVC,UAUDA,iBAVC;;AAAA,uBAYYN,UAAU,EAZtB;AAAA,gBAYGO,IAZH,QAYGA,IAZH;;AAaL,gBAAMC,WAAWD,QAAQA,KAAKE,IAA9B;AACA,gBAAMC,WAAWP,QAAQQ,SAAR,GAAoBR,QAAQQ,SAA5B,GAAwCR,QAAQS,GAAjE;AACAd,kBAAO,CAAC,CAACQ,iBAAF,IAAuBI,YAAY,UAApC,GAAmDZ,MAAMU,QAAN,IAAkB,EAArE,GAA2EV,GAAjF;AACA,gBAAII,mBAAmBA,gBAAgBW,MAAhB,GAAyB,CAAhD,EAAmD;AAAA;AAAA;AAAA;;AAAA;AAC/C,oEAAiBX,eAAjB,4GAAkC;AAAA,4BAAzBY,IAAyB;;AAC9B,4BAAIb,UAAUc,SAASD,IAAT,CAAV,IAA4BX,QAAQa,QAAR,KAAqB,KAArD,EAA4D;AACxD,mCAAQ;AAAA;AAAA,kCAAK,iBAAcb,QAAQc,KAAR,IAAiB,IAAjB,GAAwB,cAAxB,GAAyC,gBAAvD,CAAL;AACHd,wCAAQc,KAAR,IAAiB,IAAjB,IAAyB,8BAAC,YAAD,IAAO,MAAK,QAAZ,EAAsB,WAAU,uBAAhC,EAAwD,OAAO,EAAEC,QAAQd,YAAY,IAAtB,EAA4Be,YAAYf,YAAY,IAApD,EAA/D,EAA2H,SAAS;AAAA,+CAAKC,YAAYe,CAAZ,EAAe,OAAf,EAAwBrB,IAAxB,EAA8BC,MAA9B,EAAsCC,KAAtC,EAA6CE,OAA7C,CAAL;AAAA,qCAApI,GADtB;AAEJ;AAAA;AAAA,sCAAM,SAAS;AAAA,mDAAKE,YAAYe,CAAZ,EAAe,OAAf,EAAwBrB,IAAxB,EAA8BC,MAA9B,EAAsCC,KAAtC,EAA6CE,OAA7C,CAAL;AAAA,yCAAf,EAA2E,kEAA+DA,QAAQQ,SAAR,GAAoBR,QAAQQ,SAA5B,GAAwCR,QAAQS,GAA/G,CAA3E;AAAkMd;AAAlM,iCAFI;AAGJ,wEAAM,WAAU,YAAhB,GAHI;AAIHK,wCAAQc,KAAR,IAAiB,IAAjB,IAAyB,8BAAC,YAAD,IAAO,MAAK,SAAZ,EAAsB,WAAU,uBAAhC,EAAwD,OAAO,EAAEC,QAAQd,YAAY,IAAtB,EAA4Be,YAAYf,YAAY,IAApD,EAA/D,EAA2H,SAAS;AAAA,+CAAKC,YAAYe,CAAZ,EAAe,MAAf,EAAuBrB,IAAvB,EAA6BC,MAA7B,EAAqCC,KAArC,EAA4CE,OAA5C,CAAL;AAAA,qCAApI;AAJtB,6BAAR;AAMH;AACJ;AAV8C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWlD;AACD,mBAAQ;AAAA;AAAA,kBAAK,WAAU,gBAAf;AAAgC;AAAA;AAAA,sBAAM,WAAU,oCAAhB;AAAsDL;AAAtD;AAAhC,aAAR;AACH;;;EA9BgCuB,gB;;IAiChBC,U;;;AAcjB,wBAAYzB,KAAZ,EAAmB;AAAA;;AAAA;;AAAA,mJACTA,KADS;;AAAA,eAJnB0B,SAImB,GAJP;AACRC,kCAAyBC,OAAOC,kBAAhC;AADQ,SAIO;;AAAA,eA6CnBC,cA7CmB,GA6CF,UAAC5B,IAAD,EAAOC,MAAP,EAAeC,KAAf,EAAyB;AACtC2B,kBAAMC,SAAN,CAAgBC,MAAhB,GAAyB,UAAUhC,GAAV,EAAe;AACpC,oBAAIG,QAAQ,KAAK8B,OAAL,CAAajC,GAAb,CAAZ;AACA,oBAAIG,QAAQ,CAAC,CAAb,EAAgB;AACZ,yBAAK+B,MAAL,CAAY/B,KAAZ,EAAmB,CAAnB;AACH;AACJ,aALD;AAMA,gBAAMgC,YAAW,SAAXA,SAAW,CAACC,OAAD,EAAUjC,KAAV,EAAoB;AACjC,oBAAIkC,MAAM,OAAKC,KAAL,CAAWlC,eAArB;AACA,oBAAIgC,YAAY,IAAhB,EAAsB;AAClBC,wBAAIE,IAAJ,CAASpC,KAAT;AACH,iBAFD,MAGK,IAAIiC,YAAY,KAAhB,EAAuB;AACxBC,wBAAIL,MAAJ,CAAW7B,KAAX;AACH;AACD,uBAAKqC,kBAAL,4CAA4B,kBAAQH,GAAR,CAA5B;AACA,oBAAMI,KAAK,OAAK1C,KAAL,CAAW2C,SAAtB;AACA,oBAAI,OAAOD,EAAP,IAAa,UAAjB,EAA6B;AAAEA,uBAAGL,OAAH,EAAYjC,KAAZ;AAAoB;AACtD,aAXD;AAYA,gBAAMwC,SAAS,OAAKC,mBAAL,CAAyBzC,KAAzB,CAAf;AACA,mBACI;AAAA;AAAA,kBAAK,OAAO,EAAE0C,QAAQ,MAAV,EAAkBC,OAAO,MAAzB,EAAZ;AACI,oEAAU,WAAU,MAApB,EAA2B,SAASH,MAApC,EAA4C,UAAU,kBAACI,KAAD;AAAA,+BAAWZ,UAASY,KAAT,EAAgB5C,KAAhB,CAAX;AAAA,qBAAtD;AADJ,aADJ;AAKH,SAtEkB;;AAAA,eAuEnB6C,aAvEmB,GAuEH,UAAC/C,IAAD,EAAOC,MAAP,EAAeC,KAAf,EAAyB;AACrC,mBAAOA,QAAQ,CAAf;AACA;AACH,SA1EkB;;AAAA,eA2EnB8C,YA3EmB,GA2EJ,UAAChD,IAAD,EAAOC,MAAP,EAAeC,KAAf,EAAsBa,IAAtB,EAA+B;AAAA,gBAClCR,iBADkC,GACZ,OAAKT,KADO,CAClCS,iBADkC;;AAE1C,gBAAI0C,YAAYjC,SAASD,KAAKkC,SAAd,CAAhB;AACA,gBAAIC,YAAa,YAAYnC,IAAZ,IAAoBA,KAAKoC,MAAL,IAAe,SAApD;AACAnD,mBAAOkD,YAAY,OAAKE,gBAAL,CAAsBpD,IAAtB,EAA4B,GAA5B,CAAZ,GAA+CA,IAAtD;AACA,gBAAID,MAAM,OAAKsD,mBAAL,CAAyBrD,IAAzB,EAA+BiD,SAA/B,CAAV;AACAlD,kBAAMmD,YAAYnD,MAAM,GAAlB,GAAwBA,GAA9B;AACA,gBAAMuD,YAAY,OAAKjB,KAAL,CAAWlC,eAA7B;AACA,mBAAO,8BAAC,eAAD;AACH,qBAAKJ,GADF;AAEH,sBAAMC,IAFH;AAGH,wBAAQC,MAHL;AAIH,uBAAOC,KAJJ;AAKH,iCAAiBoD,SALd;AAMH,yBAASvC,IANN;AAOH,mCAAmBR,iBAPhB;AAQH,6BAAa,OAAKD,WARf,GAAP;AASH,SA5FkB;;AAAA,eA6FnBiD,YA7FmB,GA6FJ,UAACvD,IAAD,EAAOC,MAAP,EAAeC,KAAf,EAAyB;AACpC,gBAAMwC,SAAS,OAAKC,mBAAL,CAAyBzC,KAAzB,CAAf;AACA,gBAAIwC,UAAU,IAAd,EAAoB;AAChB,uBAAQ;AAAA;AAAA,sBAAM,WAAU,SAAhB,EAA0B,SAAS;AAAA,mCAAK,OAAKpC,WAAL,CAAiBe,CAAjB,EAAoB,KAApB,EAA2BnB,KAA3B,EAAkCD,MAAlC,CAAL;AAAA,yBAAnC;AAAoF,kDAAC,YAAD,IAAO,MAAK,SAAZ,EAAsB,WAAU,uBAAhC;AAApF,iBAAR;AACH,aAFD,MAEO;AACH,uBAAO,EAAP;AACH;AACJ,SApGkB;;AAAA,eAqGnBuD,WArGmB,GAqGL,UAACC,QAAD,EAAWxD,MAAX,EAAmBC,KAAnB,EAA0Ba,IAA1B,EAAmC;AAAA,+BACR,OAAKjB,KADG;AAAA,gBACrC4D,KADqC,gBACrCA,KADqC;AAAA,mDAC9BvC,MAD8B;AAAA,gBAC9BA,MAD8B,uCACrB,EADqB;AAAA,gBACjBwC,IADiB,gBACjBA,IADiB;AAE7C;;AACA,gBAAI5C,QAAQA,KAAKL,IAAL,IAAa,WAArB,IAAoCgD,KAApC,IAA6CzD,OAAOyD,KAAxD,EAA+D;AAAA,oCACYzD,MADZ,CACnDyD,KADmD;AAAA,8DACK,EADL;AAAA,oBAC1C1D,IAD0C,iBAC1CA,IAD0C;AAAA,0DACpC4D,QADoC;AAAA,oBACpCA,QADoC,yCACzB,SADyB;AAAA,0DACdC,SADc;AAAA,oBACdA,SADc,yCACF,EADE;;AAE3D,oBAAMC,iBAAiBC,uBAAgBH,QAAhB,CAAvB;AACA,oBAAMI,UAAUJ,SAASK,QAAT,CAAkB,QAAlB,IAA8B,EAA9B,GAAmC,CAAnD;AACA,oBAAIC,QAAQ,EAAZ;AACA,oBAAIP,SAAS,KAAb,EAAmB;AACfO,4BAAQ;AACJC,6BAAMH;AADF,qBAAR;AAGH;AACD,uBACI;AAAA;AAAA,sBAAK,WAAU,mBAAf;AACI;AAAA;AAAA,0BAAK,2BAAyBH,SAAzB,SAAsCC,cAA3C,EAA6D,OAAOI,KAApE;AAA2E;AAAA;AAAA;AAAOlE;AAAP;AAA3E,qBADJ;AAEI;AAAA;AAAA,0BAAK,WAAU,2BAAf;AAA4CyD;AAA5C;AAFJ,iBADJ;AAMH;AACD;AACA,mBAAO;AAAA;AAAA,kBAAK,WAAU,2BAAf;AAA4CA;AAA5C,aAAP;AACH,SA3HkB;;AAAA,eA6HnBW,iBA7HmB,GA6HC,UAACpE,IAAD,EAAOC,MAAP,EAAeC,KAAf,EAAsBa,IAAtB,EAA+B;AAC/C,gBAAMyB,KAAKzB,KAAKsD,YAAhB;AACA,gBAAI,OAAO7B,EAAP,IAAa,UAAjB,EAA6B;AACzB,uBAAOA,IAAP;AACH,aAFD,MAGK;AACD,uBAAO,EAAP;AACH;AACJ,SArIkB;;AAAA,eAsInB8B,eAtImB,GAsID,UAACrE,MAAD,EAASC,KAAT,EAAmB;AACjC,gBAAMwC,SAAS,OAAKC,mBAAL,CAAyBzC,KAAzB,CAAf;AACA,gBAAIwC,UAAU,IAAd,EAAoB;AAChB,uBAAO,cAAP;AACH,aAFD,MAEO;AACH,uBAAO,EAAP;AACH;AACJ,SA7IkB;;AAAA,eA+InB6B,0BA/ImB,GA+IU,UAACvE,IAAD,EAAOC,MAAP,EAAeC,KAAf,EAAsBa,IAAtB,EAA4ByD,qBAA5B,EAAsD;AAC/E,mBAAQ;AAAA;AAAA,kBAAK,SAAS;AAAA,+BAAK,OAAKlE,WAAL,CAAiBe,CAAjB,EAAoB,OAApB,EAA6BrB,IAA7B,EAAmCC,MAAnC,EAA2CC,KAA3C,EAAkDa,IAAlD,CAAL;AAAA,qBAAd,EAA6E,iDAA8CA,KAAKH,SAAL,GAAiBG,KAAKH,SAAtB,GAAkCG,KAAKF,GAArF,CAA7E;AACA;AAAA;AAAA,sBAAM,WAAU,qCAAhB;AAAwD2D,4CAAsB;AAA9E,iBADA;AAEA;AAAA;AAAA,sBAAM,WAAU,qCAAhB;AAAuD,0BAAIxE;AAA3D;AAFA,aAAR;AAIH,SApJkB;;AAAA,eAsJnByE,gBAtJmB,GAsJA,UAACC,IAAD,EAAOC,UAAP,EAAsB;AAAA,gCACmB,OAAK7E,KADxB;AAAA,gBAC7B4D,KAD6B,iBAC7BA,KAD6B;AAAA,qDACtBvC,MADsB;AAAA,gBACtBA,MADsB,wCACb,EADa;AAAA,gBACTZ,iBADS,iBACTA,iBADS;AAAA,gBACUoD,IADV,iBACUA,IADV;;AAErC,gBAAMvB,MAAM,EAAZ;AACA,gBAAIwC,QAAQ,OAAO,OAAK9E,KAAL,CAAW+E,QAAlB,IAA8B,SAA9B,GAA0C,OAAK/E,KAAL,CAAW+E,QAArD,GAAgE,KAA5E;AACA,gBAAID,UAAU,IAAd,EAAoB;AAChBxC,oBAAIE,IAAJ,CAAS;AACLzB,yBAAK,UADA;AAELiE,+BAAW,UAFN;AAGLC,2BAAO,EAHF;AAILlC,2BAAO,EAJF;AAKLmC,+BAAW,QALN;AAML/D,8BAAU,IANL;AAOLgE,4BAAQ,gBAACjF,IAAD,EAAOC,MAAP,EAAeC,KAAf;AAAA,+BAAyB,OAAK0B,cAAL,CAAoB5B,IAApB,EAA0BC,MAA1B,EAAkCC,KAAlC,CAAzB;AAAA;AAPH,iBAAT;AASH;AACD,gBAAIgF,WAAW,OAAO,OAAKpF,KAAL,CAAWqF,OAAlB,IAA6B,SAA7B,GAAyC,OAAKrF,KAAL,CAAWqF,OAApD,GAA8D,KAA7E;AACA,gBAAID,aAAa,IAAjB,EAAuB;AACnB9C,oBAAIE,IAAJ,CAAS;AACLzB,yBAAK,QADA;AAELiE,+BAAW,QAFN;AAGLC,2BAAO,IAHF;AAILlC,2BAAO,EAJF;AAKLmC,+BAAW,QALN;AAML/D,8BAAU,IANL;AAOLmE,2BAAO,MAPF;AAQLH,4BAAQ,gBAACjF,IAAD,EAAOC,MAAP,EAAeC,KAAf;AAAA,+BAAyB,OAAK6C,aAAL,CAAmB/C,IAAnB,EAAyBC,MAAzB,EAAiCC,KAAjC,CAAzB;AAAA;AARH,iBAAT;AAUH;AACD,gBAAIwE,QAAQA,KAAK5D,MAAL,GAAc,CAA1B,EAA6B;AAAA;AAErB,wBAAIC,MAAKsE,WAAL,KAAqB,YAAzB,EAAuC;AAC/BtE,8BAAKkE,MAAL,GAAc,UAACjF,IAAD,EAAOC,MAAP,EAAeC,KAAf,EAAyB;AACnC;AACA,gCAAIoF,SAASX,cAAcA,WAAWzE,KAAX,CAA3B;AACA,gCAAIoF,UAAUA,OAAOC,kBAAjB,KAAwCxE,MAAKH,SAAL,IAAkB,UAAlB,IAAgCG,MAAKH,SAAL,IAAkB,WAA1F,CAAJ,EAA4G;AACxG,oCAAM4E,yBAAyBb,WAAWzE,KAAX,EAAkBuF,gBAAjD;AACA,oCAAIjB,wBAAwBzD,MAAKH,SAAL,IAAmB,UAAnB,GAA8B4E,sBAA9B,GAAqDA,yBAAwBb,WAAWzE,KAAX,EAAkBwF,QAA3H;AACA,oCAAGlB,wBAAsB,CAAzB,EAA4B;AACxBA,4DAAyBmB,KAAKC,IAAL,CAAUpB,qBAAV,CAAzB;AACH,iCAFD,MAEM;AACFA,4DAAyBmB,KAAKE,KAAL,CAAWrB,qBAAX,CAAzB;AACH;AACD,uCAAO,OAAKD,0BAAL,CAAgCvE,IAAhC,EAAsCC,MAAtC,EAA8CC,KAA9C,EAAqDa,KAArD,EAA0DyD,qBAA1D,CAAP;AACH;AACD,mCAAO,OAAKxB,YAAL,CAAkBhD,IAAlB,EAAwBC,MAAxB,EAAgCC,KAAhC,EAAuCa,KAAvC,CAAP;AACH,yBAdD;AAeP,qBAhBD,MAgBO,IAAIA,MAAKsE,WAAL,KAAqB,aAAzB,EAAwC;AAC3CtE,8BAAKkE,MAAL,GAAc,UAACjF,IAAD,EAAOC,MAAP,EAAeC,KAAf,EAAyB;AACnC,mCAAO,OAAKkE,iBAAL,CAAuBpE,IAAvB,EAA6BC,MAA7B,EAAqCC,KAArC,EAA4Ca,KAA5C,CAAP;AACH,yBAFD;AAGH,qBAJM,MAIA,IAAIA,MAAKsE,WAAL,KAAqB,YAArB,IAAoCtE,MAAKsE,WAAL,KAAqB,cAA7D,EAA6E;AAChFtE,8BAAKkE,MAAL,GAAc,UAACjF,IAAD,EAAOC,MAAP,EAAeC,KAAf,EAAyB;AACnC,gCAAI4F,aAAaC,gBAAMC,UAAN,CAAiBhG,IAAjB,EAAuBe,MAAKoC,MAA5B,CAAjB;AACA,mCAAO;AAAA;AAAA;AAAO2C;AAAP,6BAAP;AACH,yBAHD;AAIH,qBALM,MAKA;AACH/E,8BAAKkE,MAAL,GAAc,UAACjF,IAAD,EAAOC,MAAP,EAAeC,KAAf,EAAyB;AACnC,gCAAIF,QAAQ,QAAOA,IAAP,uDAAOA,IAAP,MAAe,QAA3B,EAAqC;AACjCA,uCAAO,mBAAKC,MAAL,EAAac,MAAKH,SAAlB,CAAP;AACH;AACD,gCAAIZ,QAAQ,QAAOA,IAAP,uDAAOA,IAAP,MAAe,QAAvB,IAAmC,UAAUA,IAAjD,EAAuD;AACnDA,uCAAOA,KAAK,MAAL,CAAP;AACH;AACD;AACA,gCAAI,CAACA,IAAD,IAASe,KAAT,IAAiBA,MAAKH,SAA1B,EAAqC;AACjCZ,uCAAOiG,KAAKC,YAAL,CAAkBjG,MAAlB,EAA0Bc,MAAKH,SAA/B,CAAP;AACH;AACD,mCAAO,OAAK4C,WAAL,CAAiBxD,IAAjB,EAAuBC,MAAvB,EAA+BC,KAA/B,EAAsCa,KAAtC,CAAP;AACH,yBAZD;AAaH;AACD,wBAAI4C,SAAS,KAAb,EAAmB;AACf,4BAAI5C,MAAK+D,SAAL,CAAeqB,WAAf,CAA2B,GAA3B,IAAkC,CAAtC,EAAyC;AACrCpF,kCAAK+D,SAAL,GAAiB/D,MAAK+D,SAAL,CAAesB,KAAf,CAAqB,GAArB,CAAjB;AACH;AACDrF,8BAAKsF,KAAL,GAAatF,MAAKiE,SAAlB;AACH;AACD,wBAAIzE,qBAAqBQ,MAAKH,SAAL,IAAkB,UAA3C,EAAuD;AACnDG,2DAAYA,KAAZ,IAAkBgE,OAAO,OAAzB;AACH;AACD3C,wBAAIE,IAAJ,CAASvB,KAAT;AAlDKA,wBADgB;AAAA;;AAAA;AAAA;AAAA;;AAAA;AACzB,qEAAiB2D,IAAjB,iHAAuB;AAAA,4BAAd3D,IAAc;;AAAA,8BAAdA,IAAc;AAmDtB;AApDwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqD5B;AACD;AACA,gBAAIuF,mBAAmB,OAAO,OAAKxG,KAAL,CAAWwG,gBAAlB,IAAsC,SAAtC,GAAkD,OAAKxG,KAAL,CAAWwG,gBAA7D,GAAgF,KAAvG;AACA,gBAAIA,oBAAoB,IAAxB,EAA8B;AAC1BlE,oBAAIE,IAAJ,CAAS;AACLzB,yBAAK,QADA;AAELiE,+BAAW,QAFN;AAGLC,2BAAO,EAHF;AAILlC,2BAAO,EAJF;AAKLmC,+BAAW,QALN;AAML/D,8BAAU;AANL,iBAAT;AAQH;AACD,gBAAIsF,UAAU,OAAO,OAAKzG,KAAL,CAAW0G,MAAlB,IAA4B,SAA5B,GAAwC,OAAK1G,KAAL,CAAW0G,MAAnD,GAA4D,IAA1E;AACA,gBAAIC,WAAW,OAAO,OAAK3G,KAAL,CAAW4G,cAAlB,IAAoC,SAApC,IAAiD,OAAK5G,KAAL,CAAW4G,cAAX,IAA6B,IAA9E,GAAqF,EAAEtB,OAAO,OAAT,EAAiBvC,OAAO,EAAxB,EAArF,GAAoH,EAAEA,OAAO,EAAT,EAAnI;AACA,gBAAI0D,YAAY,IAAhB,EAAsB;AAClBnE,oBAAIE,IAAJ;AACIzB,yBAAK;AADT,mBAEO4F,QAFP;AAGI3B,+BAAW,KAHf;AAIIC,2BAAO,EAJX;AAKIlB,+BAAW,SALf;AAMImB,+BAAW,QANf,EAM0B;AACtBqB,2BAAO,QAPX,EAOqB;AACjBpB,4BAAQ,gBAACjF,IAAD,EAAOC,MAAP,EAAeC,KAAf;AAAA,+BAAyB,OAAKqD,YAAL,CAAkBvD,IAAlB,EAAwBC,MAAxB,EAAgCC,KAAhC,CAAzB;AAAA;AARZ;AAUH;AACD,mBAAOkC,GAAP;AACH,SAnQkB;;AAAA,eAqQnBuE,eArQmB,GAqQD,UAACC,MAAD,EAAY;AAC1B,gBAAIA,UAAUA,OAAOD,eAArB,EAAsC;AAClCC,uBAAOD,eAAP;AACH;AACJ,SAzQkB;;AAAA,eA4QnBrG,WA5QmB,GA4QL,UAACsG,MAAD,EAASjD,IAAT,EAA2B;AAAA,8CAATkD,IAAS;AAATA,oBAAS;AAAA;;AACrC,mBAAKC,QAAL,GAAgB,IAAhB;AACA,gBAAMC,QAAQ,OAAKjH,KAAL,CAAW6E,UAAzB;AACA,oBAAQhB,IAAR;AACI,qBAAK,UAAL;AACI,2BAAKqD,QAAL,eAAiBH,IAAjB;AACA;AACJ,qBAAK,KAAL;AACI,2BAAKI,QAAL,gBAAcF,KAAd,SAAwBF,IAAxB;AACA,2BAAKF,eAAL,CAAqBC,MAArB;AACA;AACJ,qBAAK,OAAL;AACI,2BAAKM,UAAL,gBAAgBH,KAAhB,SAA0BF,IAA1B;AACA,2BAAKF,eAAL,CAAqBC,MAArB;AACA;AACJ,qBAAK,MAAL;AACI,2BAAKO,SAAL,gBAAeJ,KAAf,SAAyBF,IAAzB;AACA,2BAAKF,eAAL,CAAqBC,MAArB;AACA;AACJ,qBAAK,OAAL;AACI,2BAAKQ,UAAL,eAAmBP,IAAnB;AACA;AAlBR;AAoBH,SAnSkB;;AAAA,eAoSnBQ,eApSmB,GAoSD,UAACC,UAAD,EAAaC,UAAb,EAA4B;AAC1C,mBAAKC,OAAL,CAAaC,OAAb,CAAqB,EAAE,mBAAmBC,qBAAOC,MAAP,CAAc,OAAKH,OAAL,CAAaI,SAA3B,EAAsCN,UAAtC,CAArB,EAArB,EAA+F,iBAA/F,EAAkHC,UAAlH;AACH,SAtSkB;;AAAA,eAuSnBM,eAvSmB,GAuSD,YAAM;AAAA,wCACa,OAAK/H,KADlB,CACZgI,QADY;AAAA,gBACZA,QADY,yCACDC,SADC;;AAEpB,gBAAID,YAAYC,SAAhB,EAA2B;AACvB,uBAAO,IAAP;AACH;AACD,mBAAO,KAAP;AACH,SA7SkB;;AAAA,eA+SnBf,QA/SmB,GA+SR,UAAC/G,MAAD,EAASC,KAAT,EAAgBsC,EAAhB,EAAuB;AAC9B,gBAAI,OAAKqF,eAAL,EAAJ,EAA4B;AACvB;AACD,oBAAI,OAAKxF,KAAL,CAAWlC,eAAX,CAA2B6B,OAA3B,CAAmC9B,KAAnC,IAA4C,CAAC,CAAjD,EAAoD;AACpD,uBAAKqC,kBAAL,CAAwBrC,KAAxB,EAA+B,IAA/B;AACH,aAJD,MAIK;AACD;AACA,uBAAK8H,aAAL,CAAmB,OAAKrE,IAAL,CAAUsE,KAA7B,EAAoChI,MAApC,EAA4CC,KAA5C;AACH;AACJ,SAxTkB;;AAAA,eAyTnB+G,QAzTmB;AAAA,iGAyTR,iBAAOF,KAAP,EAAc7G,KAAd,EAAqBD,MAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AACHyC,sCADG,GACMwF,yBAAYC,OAAZ,CAAoB,kBAApB,CADN;;AAEP,oCAAI,CAACzF,MAAL,EAAa;AACT,2CAAK5C,KAAL,CAAWsI,iBAAX,IAAgC,OAAKtI,KAAL,CAAWsI,iBAAX,CAA6B,EAACC,UAAS,kBAACC,MAAD,EAAU;AAC7E,gDAAIA,MAAJ,EAAY;AACR,oDAAI,OAAKT,eAAL,EAAJ,EAA4B;AACxBd,0DAAM9E,MAAN,CAAa/B,KAAb,EAAoB,CAApB;AACA,2DAAKqI,iBAAL;AACH,iDAHD,MAGK;AACD,2DAAKP,aAAL,CAAmB,OAAKrE,IAAL,CAAU6E,MAA7B,EAAqCvI,MAArC,EAA6CC,KAA7C;AACAuI,oEAAgBN,OAAhB,CAAwB,KAAxB,EAA+BlI,OAAOyI,IAAtC,EAA4C,OAA5C;AACH;AACJ;AACJ,yCAV4D,EAA7B,CAAhC;AAWH,iCAZD,MAYO;AACH,wCAAI,OAAKb,eAAL,EAAJ,EAA4B;AACxBd,8CAAM9E,MAAN,CAAa/B,KAAb,EAAoB,CAApB;AACA,+CAAKqI,iBAAL;AACH,qCAHD,MAGK;AACD,+CAAKP,aAAL,CAAmB,OAAKrE,IAAL,CAAU6E,MAA7B,EAAqCvI,MAArC,EAA6CC,KAA7C;AACH;AACJ;AACD,uCAAKmH,eAAL,CAAqB,mBAArB;;AAtBO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAzTQ;;AAAA;AAAA;AAAA;AAAA;;AAAA,eAiVnBH,UAjVmB,GAiVN,UAACH,KAAD,EAAQ/G,IAAR,EAAcC,MAAd,EAAsBC,KAAtB,EAA6BE,OAA7B,EAAyC;AAClD,gBAAIL,MAAMC,IAAV;AACA,gBAAI2I,MAAMvI,QAAQwI,QAAlB;AACA,gBAAIC,kBAAkB5I,OAAO6I,OAAP,IAAgB7I,OAAO6I,OAAP,CAAepD,QAArD;AACG;AACH,gBAAIqD,UAAUF,mBAAmBA,gBAAgBF,GAAhB,CAAoBK,KAArD;AACA,gBAAIC,aAAaJ,mBAAmBA,gBAAgBF,GAAhB,CAAoBO,GAAxD;;AAEA,gBAAInI,kCAAYgG,MAAM7G,KAAN,CAAZ,CAAJ;AACA,gBAAIiJ,aAAa,OAAKC,MAAL,CAAYrJ,GAAZ,EAAiB,CAAjB,CAAjB;;AAEA,gBAAI4I,QAAQZ,SAAZ,EAAuB;AACnB,oBAAIY,OAAO5I,GAAX,EAAgB;AAChBoJ,6BAAcR,OAAOQ,UAAR,GAAsBR,GAAtB,GAA4BQ,UAAzC;AACH;AACD;AACA,gBAAK,CAACpD,gBAAMsD,MAAN,CAAaN,OAAb,CAAN,EAA6B;AACzB,oBAAIA,WAAWhJ,GAAf,EAAoB;AAChB,wBAAI,CAACgG,gBAAMsD,MAAN,CAAaJ,UAAb,CAAL,EAAgCK,kBAAQC,IAAR,CAAaN,UAAb;AAChC;AACH;AACDE,6BAAcJ,WAAWI,UAAZ,GAA0BJ,OAA1B,GAAoCI,UAAjD;AACH;;AAEDpI,iBAAKX,QAAQS,GAAb,IAAoBsI,UAApB;AACApI,iBAAKyI,WAAL,GAAmB,OAAnB;AACA,mBAAKxB,aAAL,CAAmB,OAAKrE,IAAL,CAAU8F,MAA7B,EAAqC1I,IAArC,EAA2Cb,KAA3C;AACH,SA5WkB;;AAAA,eA8WnBiH,SA9WmB,GA8WP,UAACJ,KAAD,EAAQ/G,IAAR,EAAcC,MAAd,EAAsBC,KAAtB,EAA6BE,OAA7B,EAAyC;AACjD,gBAAIsJ,QAAQ3C,MAAM7G,KAAN,CAAZ;AACA,gBAAIwJ,SAASA,MAAMC,cAAf,IAAiCD,MAAME,YAAvC,IAAuDF,MAAMhE,QAAN,KAAmB,CAA9E,EAAiF;AAC7E4D,kCAAQO,IAAR,CAAa,gBAAb;AACA;AACH;AACD,gBAAI9J,MAAMC,IAAV;AACA,gBAAI8J,MAAM1J,QAAQ2J,QAAlB;AACA,gBAAIlB,kBAAkB5I,OAAO6I,OAAP,IAAgB7I,OAAO6I,OAAP,CAAepD,QAArD;AACA;AACA,gBAAIsE,UAAUnB,mBAAmBA,gBAAgBiB,GAAhB,CAAoBd,KAArD;AACA,gBAAIiB,aAAapB,mBAAmBA,gBAAgBiB,GAAhB,CAAoBZ,GAAxD;;AAEA,gBAAInI,kCAAYgG,MAAM7G,KAAN,CAAZ,CAAJ;AACA,gBAAIiJ,aAAa,OAAKe,MAAL,CAAYnK,GAAZ,EAAiB,CAAjB,CAAjB;AACA,gBAAIE,OAAOkK,aAAP,IAAwBlK,OAAOkK,aAAP,CAAqBrJ,MAArB,GAA8B,CAA1D,EAA4D;AACxD,oBAAIsJ,gBAAgBnK,OAAOkK,aAAP,CAAqBE,IAArB,CAA0B;AAAA,2BAAGC,EAAEC,MAAF,IAAYtK,OAAOuK,MAAtB;AAAA,iBAA1B,KAA2D,EAA/E;AACA,oBAAIxK,OAAOoK,cAAcK,aAAzB,EAAuC;AACnCnB,sCAAQO,IAAR,kEAA0BO,cAAcK,aAAxC;AACA;AACH,iBAHD,MAGO,IAAItB,aAAaiB,cAAcK,aAA3B,IAA4CzK,QAAQoK,cAAcK,aAAtE,EAAoF;AACvFtB,iCAAaiB,cAAcK,aAA3B;AACH;AACJ;AACD,gBAAIX,QAAQ/B,SAAZ,EAAuB;AACnB,oBAAI+B,OAAO/J,GAAX,EAAgB;AAChBoJ,6BAAcW,OAAOX,UAAR,GAAsBW,GAAtB,GAA4BX,UAAzC;AACH;AACD;AACA,gBAAK,CAACpD,gBAAMsD,MAAN,CAAaW,OAAb,CAAN,EAA6B;AACzB,oBAAIA,WAAWjK,GAAf,EAAmB;AACf,wBAAI,CAACgG,gBAAMsD,MAAN,CAAaY,UAAb,CAAL,EAAgCX,kBAAQC,IAAR,CAAaU,UAAb;AAChC;AACH;AACDd,6BAAca,WAAWb,UAAZ,GAA0Ba,OAA1B,GAAoCb,UAAjD;AACH;AACDpI,iBAAKX,QAAQS,GAAb,IAAoBsI,UAApB;AACA,mBAAKnB,aAAL,CAAmB,OAAKrE,IAAL,CAAU8F,MAA7B,EAAqC1I,IAArC,EAA2Cb,KAA3C;AACH,SApZkB;;AAAA,eAsZnBkH,UAtZmB,GAsZN,UAACpH,IAAD,EAAOC,MAAP,EAAeC,KAAf,EAAsBE,OAAtB,EAAkC;AAC3C,gBAAMoC,KAAK,OAAK1C,KAAL,CAAWkH,QAAtB;AACA,gBAAI,OAAOxE,EAAP,IAAa,UAAjB,EAA6B;AACzBA,mBAAG,OAAKmB,IAAL,CAAU+G,WAAb,EAA0BxK,KAA1B,EAAiCD,MAAjC,EAAyCG,QAAQS,GAAjD,EAAsDT,OAAtD;AACH;AACJ,SA3ZkB;;AAAA,eA+ZnBuK,MA/ZmB,GA+ZV,UAACzK,KAAD,EAAW;AAChB,mBAAKqC,kBAAL,CAAwBrC,KAAxB;AACH,SAjakB;;AAAA,eAmanBqC,kBAnamB,GAmaE,UAACqI,MAAD,EAAY;AAAA,gCACK,OAAK9K,KADV;AAAA,gBACrBgI,QADqB,iBACrBA,QADqB;AAAA,gBACX+C,WADW,iBACXA,WADW;;AAE7B,gBAAIzI,MAAM,IAAIP,KAAJ,EAAV;AACA,gBAAI+I,kBAAkB/I,KAAtB,EAA6B;AACzBO,oBAAIE,IAAJ,6CAAYsI,MAAZ;AACH,aAFD,MAEO;AACHxI,oBAAIE,IAAJ,CAASsI,MAAT;AACH;AACD,gBAAIE,OAAO,EAAX;AACA,gBAAIhE,WAAWhE,SAASA,MAAMa,IAAN,IAAc,OAAvB,KAAmCb,MAAMiI,MAAN,CAAaC,QAAb,IAAyB,KAAzB,IAAkClI,MAAMiI,MAAN,CAAaC,QAAb,IAAyB,GAA9F,CAAf;AACA,gBAAIH,eAAe/C,QAAf,IAA2BA,WAAW,CAAC,CAAvC,IAA4C,EAAG,OAAKhB,QAAL,KAAkB,IAAnB,GAA2B,IAA3B,GAAkCA,QAApC,CAAhD,EAA+F;AAC3F,oBAAMmE,YAAY,OAAKC,iBAAL,EAAlB;AACAJ,uBAAO,EAAEG,oBAAF,EAAP;AACH,aAHD,MAGO;AACHH,uBAAO,EAAEG,WAAW,IAAb,EAAP;AACH;AACD,mBAAKE,QAAL,0BAAgBhL,iBAAiBiC,GAAjC,IAAyC0I,IAAzC;AACA,gBAAI,OAAKhE,QAAL,KAAkB,IAAtB,EAA4B;AAAEsE,2BAAW,YAAM;AAAE,2BAAKtE,QAAL,GAAgB,KAAhB;AAAuB,iBAA1C,EAA4C,GAA5C;AAAkD;AACnF,SArbkB;;AAAA,eAubnBnE,mBAvbmB,GAubG,UAACzC,KAAD,EAAW;AAC7B,gBAAIoD,YAAY,OAAKjB,KAAL,CAAWlC,eAA3B;AACA,gBAAImD,aAAaA,UAAUxC,MAAV,GAAmB,CAApC,EAAuC;AACnC,qBAAK,IAAIuK,IAAI,CAAb,EAAgBA,IAAI/H,UAAUxC,MAA9B,EAAsCuK,GAAtC,EAA2C;AACvC,wBAAItK,SAAOuC,UAAU+H,CAAV,CAAX;AACA,wBAAItK,WAASb,KAAb,EAAoB;AAChB,+BAAO,IAAP;AACH;AACJ;AACJ;AACD,mBAAO,KAAP;AACH,SAlckB;;AAAA,eAocnBqI,iBApcmB,GAocC,YAAM;AACtB,mBAAKhG,kBAAL,CAAwB,EAAxB;AACH,SAtckB;;AAAA,eAwcnByF,aAxcmB,GAwcH,UAACrE,IAAD,EAAO1D,MAAP,EAAeC,KAAf,EAAyB;AACrC,gBAAMoL,KAAK,OAAKxL,KAAL,CAAWkH,QAAtB;AACA,gBAAI,OAAOsE,EAAP,IAAa,UAAjB,EAA6BA,GAAG3H,IAAH,EAASzD,KAAT,EAAgBD,MAAhB;AAChC,SA3ckB;;AAAA,eA6cnBoD,mBA7cmB,GA6cG,UAACkI,MAAD,EAASC,MAAT,EAAoB;AACtC,gBAAIA,UAAU,CAAd,EAAiB,OAAOD,MAAP;AACjB,gBAAIE,MAAMC,WAAWH,MAAX,CAAV;AACA,gBAAII,MAAMF,GAAN,CAAJ,EAAgB;AACZ,uBAAO,EAAP;AACH;AACD;AACA,gBAAIG,YAAYjG,KAAKkG,GAAL,CAAS,EAAT,EAAaL,MAAb,CAAhB;AACAC,kBAAM9F,KAAKmG,KAAL,CAAWP,SAASK,SAApB,IAAiCA,SAAvC;AACA,gBAAIG,MAAM,CAACN,MAAM,EAAP,EAAWO,QAAX,EAAV;AACA,gBAAIC,cAAcF,IAAI/J,OAAJ,CAAY,GAAZ,CAAlB;AACA,gBAAIiK,cAAc,CAAlB,EAAqB;AACjBA,8BAAcF,IAAIjL,MAAlB;AACAiL,uBAAO,GAAP;AACH;AACD,mBAAOA,IAAIjL,MAAJ,IAAcmL,cAAcT,MAAnC,EAA2C;AACvCO,uBAAO,GAAP;AACH;AACD,mBAAOA,GAAP;AACH,SAhekB;;AAAA,eAmenB3I,gBAnemB,GAmeA,UAAC8I,CAAD,EAAIC,CAAJ,EAAU;AACzB,gBAAIC,IAAI,CAAR;AAAA,gBACIC,IAAI,CAACH,IAAI,EAAL,EAASF,QAAT,EADR;AAAA,gBAEI3K,IAAI,CAAC8K,IAAI,EAAL,EAASH,QAAT,EAFR;AAGA,gBAAI;AACAI,qBAAKC,EAAEjG,KAAF,CAAQ,GAAR,EAAa,CAAb,EAAgBtF,MAArB;AACH,aAFD,CAEE,OAAOwL,CAAP,EAAU,CAAG;AACf,gBAAI;AACAF,qBAAK/K,EAAE+E,KAAF,CAAQ,GAAR,EAAa,CAAb,EAAgBtF,MAArB;AACH,aAFD,CAEE,OAAOwL,CAAP,EAAU,CAAG;AACf,mBAAOC,OAAOF,EAAEG,OAAF,CAAU,GAAV,EAAe,EAAf,CAAP,IAA6BD,OAAOlL,EAAEmL,OAAF,CAAU,GAAV,EAAe,EAAf,CAAP,CAA7B,GAA0D7G,KAAKkG,GAAL,CAAS,EAAT,EAAaO,CAAb,CAAjE;AACH,SA9ekB;;AAAA,eAgfnBK,UAhfmB,GAgfN,UAACC,GAAD,EAAMC,CAAN,EAAY;AACrB,mBAAO,CAAC9K,MAAM8K,CAAN,EAASC,IAAT,CAAc,CAAd,IAAmBF,GAApB,EAAyBG,KAAzB,CAA+B,CAACF,CAAhC,CAAP;AACH,SAlfkB;;AAAA,eAqfnBzC,MArfmB,GAqfV,UAAC4C,IAAD,EAAOC,IAAP,EAAgB;AACrB,gBAAIC,WAAJ;AAAA,gBAAQC,WAAR;AAAA,gBAAYC,UAAZ;AAAA,gBAAed,UAAf;AACA,gBAAI;AACAY,qBAAK,CAACF,OAAO,EAAR,EAAYd,QAAZ,GAAuB5F,KAAvB,CAA6B,GAA7B,EAAkC,CAAlC,EAAqCtF,MAA1C;AACH,aAFD,CAGA,OAAOO,CAAP,EAAU;AACN2L,qBAAK,CAAL;AACH;AACD,gBAAI;AACAC,qBAAK,CAACF,OAAO,EAAR,EAAYf,QAAZ,GAAuB5F,KAAvB,CAA6B,GAA7B,EAAkC,CAAlC,EAAqCtF,MAA1C;AACH,aAFD,CAGA,OAAOO,CAAP,EAAU;AACN4L,qBAAK,CAAL;AACH;AACDb,gBAAIzG,KAAKwH,GAAL,CAASH,KAAKC,EAAd,CAAJ;AACAC,gBAAIvH,KAAKkG,GAAL,CAAS,EAAT,EAAalG,KAAKmE,GAAL,CAASkD,EAAT,EAAaC,EAAb,CAAb,CAAJ;AACA,gBAAIb,IAAI,CAAR,EAAW;AACP,oBAAIgB,KAAKzH,KAAKkG,GAAL,CAAS,EAAT,EAAaO,CAAb,CAAT;AACA,oBAAIY,KAAKC,EAAT,EAAa;AACTH,2BAAOP,OAAO,CAACO,OAAO,EAAR,EAAYd,QAAZ,GAAuBQ,OAAvB,CAA+B,GAA/B,EAAoC,EAApC,CAAP,CAAP;AACAO,2BAAOR,OAAO,CAACQ,OAAO,EAAR,EAAYf,QAAZ,GAAuBQ,OAAvB,CAA+B,GAA/B,EAAoC,EAApC,CAAP,IAAkDY,EAAzD;AACH,iBAHD,MAGO;AACHN,2BAAOP,OAAO,CAACO,OAAO,EAAR,EAAYd,QAAZ,GAAuBQ,OAAvB,CAA+B,GAA/B,EAAoC,EAApC,CAAP,IAAkDY,EAAzD;AACAL,2BAAOR,OAAO,CAACQ,OAAO,EAAR,EAAYf,QAAZ,GAAuBQ,OAAvB,CAA+B,GAA/B,EAAoC,EAApC,CAAP,CAAP;AACH;AACJ,aATD,MASO;AACHM,uBAAOP,OAAO,CAACO,OAAO,EAAR,EAAYd,QAAZ,GAAuBQ,OAAvB,CAA+B,GAA/B,EAAoC,EAApC,CAAP,CAAP;AACAO,uBAAOR,OAAO,CAACQ,OAAO,EAAR,EAAYf,QAAZ,GAAuBQ,OAAvB,CAA+B,GAA/B,EAAoC,EAApC,CAAP,CAAP;AACH;AACD,mBAAO,CAACM,OAAOC,IAAR,IAAgBG,CAAvB;AACH,SAnhBkB;;AAAA,eAshBnB9D,MAthBmB,GAshBV,UAAC0D,IAAD,EAAOC,IAAP,EAAgB;AACrB,gBAAIC,WAAJ;AAAA,gBAAQC,WAAR;AAAA,gBAAYC,UAAZ;AAAA,gBAAeP,UAAf;AACA,gBAAI;AACAK,qBAAK,CAACF,OAAO,EAAR,EAAYd,QAAZ,GAAuB5F,KAAvB,CAA6B,GAA7B,EAAkC,CAAlC,EAAqCtF,MAA1C;AACH,aAFD,CAGA,OAAOO,CAAP,EAAU;AACN2L,qBAAK,CAAL;AACH;AACD,gBAAI;AACAC,qBAAK,CAACF,OAAO,EAAR,EAAYf,QAAZ,GAAuB5F,KAAvB,CAA6B,GAA7B,EAAkC,CAAlC,EAAqCtF,MAA1C;AACH,aAFD,CAGA,OAAOO,CAAP,EAAU;AACN4L,qBAAK,CAAL;AACH;AACDC,gBAAIvH,KAAKkG,GAAL,CAAS,EAAT,EAAalG,KAAKmE,GAAL,CAASkD,EAAT,EAAaC,EAAb,CAAb,CAAJ,CAdqB,CAce;AACpCN,gBAAKK,MAAMC,EAAP,GAAaD,EAAb,GAAkBC,EAAtB;AACA,mBAAO,CAAC,CAACH,OAAOI,CAAP,GAAWH,OAAOG,CAAnB,IAAwBA,CAAzB,EAA4BG,OAA5B,CAAoCV,CAApC,CAAP;AACH,SAviBkB;;AAAA,eAyiBnBW,SAziBmB,GAyiBP,UAACC,SAAD,EAAe;AAAA,gCACgF,OAAKzN,KADrF;AAAA,sDACf0N,UADe;AAAA,gBACfA,UADe,yCACF,KADE;AAAA,sDACKC,SADL;AAAA,gBACKA,SADL,yCACiB,QADjB;AAAA,sDAC2BC,UAD3B;AAAA,gBAC2BA,UAD3B,yCACwC,OAAKlM,SAAL,CAAeC,oBADvD;;AAEvB,gBAAIkC,OAAO,IAAX;AACA,oBAAQ6J,UAAR;AACI,qBAAK,MAAL;AACI7J,2BAAO,CAAP;AACA;AACJ,qBAAK,KAAL;AACIA,2BAAO,CAAP;AACA;AACJ,qBAAK,UAAL;AACIA,2BAAO,CAAP;AACA;AACJ;AAASA,2BAAO,CAAP;AAVb;AAYA,mBAAQ;AAAA;AAAA,kBAAK,WAAU,kBAAf,EAAkC,OAAO,EAAExC,QAAQoM,YAAY,IAAtB,EAAzC;AACJ;AAAA;AAAA,sBAAK,OAAO,EAAEI,SAAShK,SAAS,CAAT,GAAa,MAAb,GAAsB,EAAjC,EAAZ;AACI,2DAAK,WAAU,KAAf,EAAqB,OAAO,EAAEgK,SAAUhK,SAAS,CAAT,IAAcA,SAAS,CAAxB,GAA6B,EAA7B,GAAkC,MAA7C,EAA5B,EAAmF,KAAK+J,UAAxF,GADJ;AAEI;AAAA;AAAA,0BAAK,OAAO,EAAEC,SAAUhK,SAAS,CAAT,IAAcA,SAAS,CAAxB,GAA6B,EAA7B,GAAkC,MAA7C,EAAZ;AAAoE8J;AAApE;AAFJ;AADI,aAAR;AAMH,SA9jBkB;;AAAA,eAgkBnBG,eAhkBmB,GAgkBD,YAAM;AAAA,gCAC6B,OAAK9N,KADlC;AAAA,gBACZ+N,WADY,iBACZA,WADY;AAAA,sDACCC,YADD;AAAA,gBACCA,YADD,yCACgB,EADhB;AAAA,gBACoBnK,IADpB,iBACoBA,IADpB;;AAEpB,gBAAI,OAAOkK,WAAP,IAAsB,QAA1B,EAAoC,OAAOA,cAAcC,YAArB;AACpC,gBAAIC,YAAJ;AACA,gBAAIpK,SAAS,KAAb,EAAmB;AACfoK,sBAAM,OAAKC,YAAL,CAAkBC,OAAxB;AACH,aAFD,MAEO;AACHF,sBAAMG,SAASC,sBAAT,eAA4C,OAAKC,IAAjD,EAAyD,CAAzD,CAAN;AACH;AACD,gBAAIL,GAAJ,EAAS;AACL,oBAAIM,IAAI1K,SAAS,KAAT,GAAiBoK,IAAIO,YAAJ,CAAiBC,UAAjB,CAA4BC,YAA7C,GAA4DT,IAAIS,YAAxE;AACA,uBAAOH,IAAIP,YAAJ,GAAmB,CAAnB,GAAuBO,IAAIP,YAA3B,GAA0CA,YAAjD;AACH,aAHD,MAGO;AACH,uBAAO,CAAP;AACH;AACJ,SA/kBkB;;AAAA,eAilBnBW,gBAjlBmB,GAilBA,YAAM;AACrB,gBAAMC,eAAe,OAAKd,eAAL,EAArB;AACA,mBAAKzC,QAAL,CAAc,EAAEwD,SAASD,YAAX,EAAd;AACH,SAplBkB;;AAAA,eAslBnBxD,iBAtlBmB,GAslBC,YAAM;AACtB,gBAAI/G,MAAM,CAAV;AADsB,gCAEQ,OAAKrE,KAFb;AAAA,qDAEdqB,MAFc;AAAA,gBAEdA,MAFc,wCAEL,EAFK;AAAA,gBAEDwC,IAFC,iBAEDA,IAFC;;AAGtB,gBAAIiL,kBAAJ;AACA,gBAAIjL,SAAS,KAAb,EAAmB;AACf,oBAAIoK,MAAM,OAAKC,YAAL,CAAkBC,OAA5B;AACAW,4BAAYb,OAAOA,IAAIa,SAAvB;AACH,aAHD,MAGO;AACH,oBAAMC,eAAeX,SAASC,sBAAT,eAA4C,OAAKC,IAAjD,EAAyD,CAAzD,CAArB;AACAQ,4BAAYC,aAAaV,sBAAb,CAAoC,gBAApC,EAAsD,CAAtD,CAAZ;AACH;AACD,gBAAIS,UAAUF,YAAV,GAAyBE,UAAUJ,YAAvC,EAAqD;AAAA,oBACzCrO,eADyC,GACrB,OAAKkC,KADgB,CACzClC,eADyC;;AAEjD,oBAAI2O,SAAS,CAAb;AACA,oBAAI3O,mBAAmBA,gBAAgBW,MAAhB,GAAyB,CAAhD,EAAmD;AAC/C,wBAAIZ,QAAQC,gBAAgB,CAAhB,CAAZ;AACA,wBAAI4O,SAASH,UAAU3D,SAAvB;AACA,wBAAI;AACA,4BAAI+D,SAASJ,UAAUK,SAAV,CAAoBA,SAApB,CAA8BC,UAA9B,CAAyChP,KAAzC,EAAgDiP,SAA7D;AACAL,iCAASE,SAASJ,UAAUJ,YAAnB,GAAkCrN,MAAlC,GAA2C,EAApD;AACA2N,iCAASnJ,KAAKwH,GAAL,CAAS4B,SAASC,MAAlB,IAA4B,GAA5B,GAAkCD,MAAlC,GAA2CD,MAApD;AACH,qBAJD,CAIE,OAAOzN,CAAP,EAAS;AACP+N,gCAAQC,GAAR,CAAYhO,CAAZ;AACH;AACJ;AACD8C,sBAAM2K,SAAS,CAAT,GAAaA,MAAb,GAAsB,CAA5B;AACH;AACD,mBAAO3K,GAAP;AACH,SAlnBkB;;AAEf,eAAK9B,KAAL,GAAa;AACTlC,6BAAiB,EADR;AAETmP,wBAAY,EAFH;AAGTX,qBAAS,CAHA;AAIT1D,uBAAW;AAJF,SAAb;AAMA,eAAKsE,cAAL,GAAsB,EAAtB;AACA,eAAK5L,IAAL,GAAY;AACRsE,mBAAO,OADC;AAERwB,oBAAQ,QAFA;AAGRjB,oBAAQ,QAHA;AAIRkC,yBAAa;AAJL,SAAZ;AAMA,eAAK5D,QAAL,GAAgB,KAAhB;AACA,eAAKkH,YAAL,GAAoBwB,gBAAMC,SAAN,EAApB;AACA,eAAKC,eAAL,GAAuB,OAAKA,eAAL,CAAqBC,IAArB,QAAvB;AACA,eAAKrL,eAAL,GAAuB,OAAKA,eAAL,CAAqBqL,IAArB,QAAvB;;AAEA,eAAKvB,IAAL,GAAY,qBAAZ;AApBe;AAqBlB;;;;0CACiB;AACd,mBAAO,KAAKJ,YAAZ;AACH;;;4CAEmB;AAAA,0BACkC,KAAKlO,KADvC;AAAA,gBACR8P,SADQ,WACRA,SADQ;AAAA,gDACGC,eADH;AAAA,gBACGA,eADH,yCACqB,EADrB;AAAA,gBACyBlM,IADzB,WACyBA,IADzB;;AAEhB,gBAAI2K,qBAAJ;;AAEA,gBAAI3K,SAAS,KAAb,EAAoB;AAChB2K,+BAAe,KAAKN,YAAL,CAAkBC,OAAjC;AACH,aAFD,MAEO;AACH,oBAAMY,eAAeX,SAASC,sBAAT,eAA4C,KAAKC,IAAjD,EAAyD,CAAzD,CAArB;AACAE,+BAAe;AACXA,kCAAcO,aAAaiB,QAAb,CAAsB,CAAtB;AADH,iBAAf;AAGH;AACD,gBAAGF,aAAa,KAAKA,SAArB,EAA+B;AAC3B,sDAAkBtB,YAAlB,2BAAkCtO,MAAM4P,SAAxC,IAAsDC,eAAtD;AACA,qBAAKD,SAAL,GAAiBA,SAAjB;AACH;AACD,iBAAK9P,KAAL,CAAWiQ,cAAX,IAA6B,KAAKjQ,KAAL,CAAWiQ,cAAX,EAA7B;AACH;AAiFD;;;AA+IA;;;AAkJA;;AAqEA;;;AAkBA;;;AAiCA;;;;4CA+FoB;AAAA;;AAChB3E,uBAAW,YAAM;AACb,oBAAI,OAAKtL,KAAL,CAAWgI,QAAX,KAAsB,KAAK,CAA/B,EAAmC;AAC/B,2BAAKvF,kBAAL,CAAwB,OAAKzC,KAAL,CAAWgI,QAAnC;AACH;AACD,uBAAK2G,gBAAL;AACH,aALD,EAKG,CALH;AAMA,iBAAKuB,iBAAL;AACH;;;6CACoB;AACjB,iBAAKA,iBAAL;AACH;;;kDACyBC,S,EAAW;AACjC,gBAAI,cAAcA,SAAlB,EAA6B;AACzB,qBAAK1N,kBAAL,CAAwB0N,UAAUnI,QAAlC;AACA,qBAAK2G,gBAAL;AACH;AACJ;;;iCACQ;AAAA;;AAAA,0BAOD,KAAK3O,KAPJ;AAAA,gBAEDoQ,UAFC,WAEDA,UAFC;AAAA,gBAEWrN,KAFX,WAEWA,KAFX;AAAA,gBAEkBgL,WAFlB,WAEkBA,WAFlB;AAAA,+CAGDC,YAHC;AAAA,gBAGDA,YAHC,wCAGc,EAHd;AAAA,yCAGkB3M,MAHlB;AAAA,gBAGkBA,MAHlB,kCAG2B,EAH3B;AAAA,gBAIDgP,UAJC,WAIDA,UAJC;AAAA,gBAIWxL,UAJX,WAIWA,UAJX;AAAA,gBAKDyL,OALC,WAKDA,OALC;AAAA,gBAKQpJ,QALR,WAKQA,QALR;AAAA,gBAKkBvE,SALlB,WAKkBA,SALlB;AAAA,4CAK6BoB,SAL7B;AAAA,gBAK6BA,SAL7B,qCAKyC,EALzC;AAAA,gBAMDgB,QANC,WAMDA,QANC;AAAA,gBAMSiD,QANT,WAMSA,QANT;AAAA,gBAMmBnE,IANnB,WAMmBA,IANnB;AAAA,gBAM4B0M,KAN5B;AAAA,yBAQwB,KAAKhO,KAR7B;AAAA,gBAQCsM,OARD,UAQCA,OARD;AAAA,gBAQU1D,SARV,UAQUA,SARV;AASL;;AACA,gBAAMqE,aAAa,KAAK7K,gBAAL,CAAsB2L,OAAtB,EAA+BzL,UAA/B,CAAnB;AACA,gBAAM2L,UAAWrF,aAAa,IAAd,GAAsB,EAAEA,oBAAF,EAAtB,GAAsC,EAAtD;AACA,mBACI;AAAA;AAAA,kBAAK,YAActH,SAAS,KAAT,GAAiB,YAAjB,GAAgC,UAA9C,UAA4DE,SAA5D,SAAyE,KAAKuK,IAAnF;AAEQzK,yBAAS,KAAT,GACI,8BAAC,kBAAD,6BACQ0M,KADR,EAEQC,OAFR;AAGI,yBAAK,KAAKtC,YAHd;AAII,2BAAO,EAAEnL,OAAOA,QAAQA,KAAR,GAAgB,MAAzB,EAAiC1B,QAAQ0M,cAAcA,WAAd,GAA4B,MAArE,EAJX;AAKI,4BAAQ;AAAA,+BAAO0C,IAAI7H,IAAX;AAAA,qBALZ;AAMI,kCAAcoF,YANlB;AAOI,gCAAYqC,aAAaA,UAAb,GAA0B,KAP1C;AAQI,0BAAMxL,UARV;AASI,6BAAS2K,UATb;AAUI,4BAAQnO,MAVZ;AAWI,kCAAc,KAAKmD,eAXvB;AAYI,+BAAW;AAAA,+BAAM,OAAKgJ,SAAL,CAAeO,WAAf,CAAN;AAAA,qBAZf;AAaI,4BAAQqC,aAAa,EAAb,GAAkB,EAAEM,GAAG7B,OAAL,EAb9B;AAcI,kCAAc,KAdlB;AAeI,gCACI,oBAAC1O,MAAD,EAASC,KAAT,EAAmB;AACf,+BAAKI,WAAL,CAAiB,IAAjB,EAAuB,UAAvB,EAAmCL,MAAnC,EAA2CC,KAA3C,EAAkD8G,QAAlD;AACH;AAlBT,mBADJ,GAuBI;AACI,wBAAG;AADP,mBAEQqJ,KAFR,EAGQC,OAHR;AAII,2BAAO,EAAEzN,OAAOA,QAAQA,KAAR,GAAgB,MAAzB,EAAiC1B,QAAQ0M,cAAcA,WAAd,GAA4B,MAArE,EAJX;AAKI,4BAAQ;AAAA,+BAAO0C,IAAI1P,GAAJ,IAAW0P,IAAI7H,IAAtB;AAAA,qBALZ;AAMI,gCAAYyH,aAAaA,UAAb,GAA0B,KAN1C;AAOI,gCAAYxL,UAPhB;AAQI,6BAAS2K,UARb;AASI,kCAAc,KAAKhL,eATvB;AAUI,4BAAQ,EAACmJ,WAAW,KAAKH,SAAL,CAAeO,cAAc,EAA7B,CAAZ,EAVZ;AAWI,4BAAQqC,aAAa,EAACM,GAAG,IAAJ,EAAb,GAAyB,EAACA,GAAG3C,cAAc,EAAlB,EAXrC;AAYI,2BAAO,eAAC5N,MAAD,EAASC,KAAT,EAAmB;AACtB,+BAAM;AACFuQ,qCAAS;AAAA,uCAAM,OAAKnQ,WAAL,CAAiB,IAAjB,EAAuB,UAAvB,EAAmCL,MAAnC,EAA2CC,KAA3C,EAAkD8G,QAAlD,CAAN;AAAA;AADP,yBAAN;AAGH;AAhBL;AAzBZ,aADJ;AAiDH;;;EAjtBmC1F,gB,UAC7BoP,S,GAAY;AACfd,eAAWe,oBAAUC,MADN;AAEff,qBAAiBc,oBAAUE;AAFZ,C,SAIZC,Y,GAAe;AAClBrJ,aAAQkJ,oBAAUI,IADA;AAElBnJ,eAAW+I,oBAAUE;AAFH,C;kBALLtP,U","file":"index.js","sourcesContent":["/**\n *\n * waterMark 水印文字内容\n * waterMarkOption 水印参数 Object类型 (width, height, font, color,rotate)\n *\n * badge Boolean 徽章 在dataSource(data) 属性中每一行的数据定义badge字段会自动生成,不需要定义对应的columns\n * dataSource: [{badge: {text: '赠', position: 'leftTop', className: ''}}]\n * badge: text 文字内容 | position 徽章位置(leftTop/rightTop/leftBottom/rightBottom) | className\n *\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Checkbox, Table as AntTable } from 'antd';\nimport { Ticon } from '../../index';\nimport { generateWaterMark } from './generateWater.js';\nimport {badgeClassNames, getUuid} from './utils';\nimport tools from '../../util/tools.js'\nimport './index.less';\nimport _get from 'lodash/get';\nimport mobx from \"mobx\";\nimport Table from 'bee-table';\nimport 'bee-table/build/Table.css';\nimport Message from '../message';\nimport { AuthProcess } from './AuthProcess';\nimport { Action } from 'mutants-appfx';\n\nexport class InputNumberCell extends Component {\n render() {\n let {\n val,\n text,\n record,\n index,\n selectedRowKeys,\n rowItem,\n rowHeight = 50,\n handleClick,\n mergeQuantityUnit,\n } = this.props;\n const { Unit } = record || {};\n const unitname = Unit && Unit.Name;\n const fileName = rowItem.FieldName ? rowItem.FieldName : rowItem.key;\n val = (!!mergeQuantityUnit && fileName == 'Quantity') ? (val + unitname || '') : val;\n if (selectedRowKeys && selectedRowKeys.length > 0) {\n for (let item of selectedRowKeys) {\n if (index === parseInt(item) && rowItem.readOnly === false) {\n return (<div className={`${rowItem.quick == true ? 'selectedCell' : 'unSelectedCell'}`}>\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)} />}\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>\n <span className='editorLine'></span>\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)} />}\n </div>)\n }\n }\n }\n return (<div className='unSelectedCell'><span className='iconText row-cell-div row-cell-pad'>{val}</span></div>)\n }\n}\n\nexport default class TouchTable extends Component {\n static propTypes = {\n waterMark: PropTypes.string,\n waterMarkOption: PropTypes.object\n };\n static contextTypes = {\n onEvent:PropTypes.func,\n viewModel: PropTypes.object\n }\n\n sys_parms = {\n touchTableEmptyImage: `${window.ossAliyuncsFileURL}/empty.png`\n }\n \n constructor(props) {\n super(props);\n this.state = {\n selectedRowKeys: [],\n tabColumns: [],\n scrollY: 0,\n scrollTop: null,\n }\n this.checkboxedList = [];\n this.type = {\n click: 'click',\n update: 'update',\n delete: 'delete',\n updateField: 'updateField'\n }\n this.isHitRow = false;\n this.tableElement = React.createRef();\n this.getTableElement = this.getTableElement.bind(this);\n this.getRowClassName = this.getRowClassName.bind(this);\n\n this.uuid = getUuid();\n }\n getTableElement() {\n return this.tableElement;\n }\n\n generateWaterMark() {\n const { waterMark, waterMarkOption = {}, type } = this.props;\n let contentTable;\n\n if (type === 'bee') {\n contentTable = this.tableElement.current;\n } else {\n const parentNodeEl = document.getElementsByClassName(`antTable ${this.uuid}`)[0];\n contentTable = {\n contentTable: parentNodeEl.children[0]\n };\n }\n if(waterMark != this.waterMark){\n generateWaterMark(contentTable, { text: waterMark, ...waterMarkOption });\n this.waterMark = waterMark;\n }\n this.props.handleCallback && this.props.handleCallback();\n }\n\n renderCheckbox = (text, record, index) => {\n Array.prototype.remove = function (val) {\n var index = this.indexOf(val);\n if (index > -1) {\n this.splice(index, 1);\n }\n };\n const onChange = (checked, index) => {\n let arr = this.state.selectedRowKeys;\n if (checked === true) {\n arr.push(index);\n }\n else if (checked === false) {\n arr.remove(index);\n }\n this.setSelectedRowKeys([...new Set(arr)]);\n const fn = this.props.cboxClick;\n if (typeof fn == 'function') { fn(checked, index) }\n }\n const status = this.findSelectedRowKeys(index);\n return (\n <div style={{ margin: 'auto', width: '20px' }}>\n <Checkbox className=\"test\" checked={status} onChange={(event) => onChange(event, index)}></Checkbox>\n </div>\n )\n }\n renderLineNum = (text, record, index) => {\n return index + 1\n //return this.prefixZero(index + 1, 2);\n }\n renderNumber = (text, record, index, item) => {\n const { mergeQuantityUnit } = this.props;\n let precision = parseInt(item.precision);\n let isPercent = ('Format' in item && item.Format == 'Percent');\n text = isPercent ? this.changeDecimalMul(text, 100) : text;\n let val = this.changeDecimalBuZero(text, precision);\n val = isPercent ? val + \"%\" : val;\n const rowIndexs = this.state.selectedRowKeys;\n return <InputNumberCell\n val={val}\n text={text}\n record={record}\n index={index}\n selectedRowKeys={rowIndexs}\n rowItem={item}\n mergeQuantityUnit={mergeQuantityUnit}\n handleClick={this.handleClick} />\n }\n renderAction = (text, record, index) => {\n const status = this.findSelectedRowKeys(index);\n if (status == true) {\n return (<span className='spanDel' onClick={e => this.handleClick(e, 'del', index, record)} ><Ticon type=\"shanchu\" className=\"iconDel primary-color\"/></span>)\n } else {\n return ''\n }\n }\n renderOther = (showText, record, index, item) => {\n const { badge, height = 50, type } = this.props;\n //针对存货为赠品属性的处理逻辑。\n if (item && item.Name == 'Inventory' && badge && record.badge) {\n const { badge: { text, position = 'leftTop', className = '' } = {} } = record;\n const badgeClassName = badgeClassNames[position];\n const baseNum = position.includes('Bottom') ? 25 : 0;\n let style = {}\n if (type === 'bee'){\n style = {\n top : baseNum\n }\n }\n return (\n <div className='tplus-table-badge'>\n <div className={`badge-item ${className} ${badgeClassName}`} style={style}><span>{text}</span></div>\n <div className='row-cell-div row-cell-pad'>{showText}</div>\n </div>\n )\n }\n //增加宽度是为了控制超出之后显示省略号。\n return <div className='row-cell-div row-cell-pad'>{showText}</div>\n }\n //自定义列\n renderUserDefined = (text, record, index, item) => {\n const fn = item.callbackFunc;\n if (typeof fn == 'function') {\n return fn();\n }\n else {\n return '';\n }\n }\n getRowClassName = (record, index) => {\n const status = this.findSelectedRowKeys(index);\n if (status == true) {\n return 'row-selected'\n } else {\n return '';\n }\n }\n\n renderIntegralExchangeItem = (text, record, index, item ,exchangeIntegralValue) => {\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}`} >\n <span className='money iconText row-cell-div mouse'>{ exchangeIntegralValue+\"积分\"}</span>\n <span className='value iconText row-cell-div mouse'>{'¥'+text}</span>\n </div>)\n }\n\n getRenderColumns = (cols, dataSource) => {\n const { badge, height = 50, mergeQuantityUnit, type } = this.props;\n const arr = [];\n let check = typeof this.props.checkbox == 'boolean' ? this.props.checkbox : false;\n if (check === true) {\n arr.push({\n key: 'checkbox',\n dataIndex: 'checkbox',\n title: '',\n width: 25,\n textAlign: 'center',\n readOnly: true,\n render: (text, record, index) => this.renderCheckbox(text, record, index)\n })\n }\n let lineType = typeof this.props.lineNum == 'boolean' ? this.props.lineNum : false;\n if (lineType === true) {\n arr.push({\n key: 'rowNum',\n dataIndex: 'rowNum',\n title: '行号',\n width: 50,\n textAlign: 'center',\n readOnly: true,\n fixed: 'left',\n render: (text, record, index) => this.renderLineNum(text, record, index)\n })\n }\n if (cols && cols.length > 0) {\n for (let item of cols) {\n if (item.controlType === 'NumTextBox') {\n item.render = (text, record, index) => {\n // 增加积分抵现特殊显示方式\n let dsItem = dataSource && dataSource[index];\n if (dsItem && dsItem.IsIntegralExchange && (item.FieldName == \"TaxPrice\" || item.FieldName == \"TaxAmount\")) {\n const singleExchangeIntegral = dataSource[index].ExchangeIntegral\n let exchangeIntegralValue = item.FieldName == \"TaxPrice\"?singleExchangeIntegral:singleExchangeIntegral* dataSource[index].Quantity;\n if(exchangeIntegralValue>0) {\n exchangeIntegralValue = Math.ceil(exchangeIntegralValue);\n }else {\n exchangeIntegralValue = Math.floor(exchangeIntegralValue);\n }\n return this.renderIntegralExchangeItem(text, record, index, item,exchangeIntegralValue)\n }\n return this.renderNumber(text, record, index, item);\n }\n } else if (item.controlType === 'Userdefined') {\n item.render = (text, record, index) => {\n return this.renderUserDefined(text, record, index, item);\n }\n } else if (item.controlType === 'DatePicker' ||item.controlType === 'DateDropDown') {\n item.render = (text, record, index) => {\n let renderText = tools.dateFormat(text, item.Format);\n return <span>{renderText}</span>\n }\n } else {\n item.render = (text, record, index) => {\n if (text && typeof text == 'object') {\n text = _get(record, item.FieldName)\n }\n if (text && typeof text == 'object' && 'Name' in text) {\n text = text['Name']\n }\n // 自由项的商品,如果取不到,从DynamicPropertyKeys,DynamicPropertyValues 里面取,采用下面的方式\n if (!text && item && item.FieldName) {\n text = JSON.getCellValue(record, item.FieldName)\n }\n return this.renderOther(text, record, index, item);\n }\n }\n if (type !== 'bee'){\n if (item.dataIndex.lastIndexOf(\".\") > 0) {\n item.dataIndex = item.dataIndex.split('.');\n }\n item.align = item.textAlign;\n }\n if (mergeQuantityUnit && item.FieldName == 'Quantity') {\n item = { ...item, title: '数量/单位' }\n }\n arr.push(item);\n }\n }\n //最后一列留白,解决最后一列自适应宽度的问题\n let lastColumnResize = typeof this.props.lastColumnResize == 'boolean' ? this.props.lastColumnResize : false;\n if (lastColumnResize == true) {\n arr.push({\n key: 'resize',\n dataIndex: 'resize',\n title: '',\n width: 10,\n textAlign: 'center',\n readOnly: true\n })\n }\n let delType = typeof this.props.delRow == 'boolean' ? this.props.delRow : true;\n let dynamics = typeof this.props.isFixDelColumn == 'boolean' && this.props.isFixDelColumn == true ? { fixed: 'right',width: 50 } : { width: 28};\n if (delType === true) {\n arr.push({\n key: 'del',\n ...dynamics,\n dataIndex: 'del',\n title: '',\n className: 'shanchu',\n textAlign: 'center', //beeTable居中\n align: 'center', //antTable居中\n render: (text, record, index) => this.renderAction(text, record, index)\n })\n }\n return arr;\n }\n\n stopPropagation = (_event) => {\n if (_event && _event.stopPropagation) {\n _event.stopPropagation();\n }\n }\n\n /*以下为触发事件*/\n handleClick = (_event, type, ...rest) => {\n this.isHitRow = true;\n const lists = this.props.dataSource;\n switch (type) {\n case 'rowClick':\n this.rowClick(...rest)\n break;\n case 'del':\n this.delClick(lists, ...rest)\n this.stopPropagation(_event)\n break;\n case 'minus':\n this.minusClick(lists, ...rest)\n this.stopPropagation(_event)\n break;\n case 'plus':\n this.plusClick(lists, ...rest)\n this.stopPropagation(_event)\n break;\n case 'modal':\n this.modalClick(...rest)\n break;\n }\n }\n controllerEvent = (methodName, methodArgs) => {\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\n }\n selfHandleClick = () => {\n const { rowIndex = undefined } = this.props;\n if (rowIndex == undefined) {\n return true;\n }\n return false;\n }\n\n rowClick = (record, index, fn) => {\n if (this.selfHandleClick()) {\n //当不设置行点击事件时,组件内部处理。\n if (this.state.selectedRowKeys.indexOf(index) > -1) return;\n this.setSelectedRowKeys(index, true);\n }else{\n //当设置点击事件,组件外处理\n this.outerCallback(this.type.click, record, index);\n }\n }\n delClick = async (lists, index, record) => {\n let status = AuthProcess.execute('ReverseOperation');\n if (!status) {\n this.props.authorityValidate && this.props.authorityValidate({callback:(result)=>{\n if (result) {\n if (this.selfHandleClick()) {\n lists.splice(index, 1);\n this.clearSelectedRows();\n }else{\n this.outerCallback(this.type.delete, record, index);\n AddLogProcessor.execute(\"删除行\", record.Code, '删除行成功');\n }\n }\n }});\n } else {\n if (this.selfHandleClick()) {\n lists.splice(index, 1);\n this.clearSelectedRows();\n }else{\n this.outerCallback(this.type.delete, record, index);\n }\n }\n this.controllerEvent('setInventoryFocus');\n }\n minusClick = (lists, text, record, index, rowItem) => {\n let val = text;\n let min = rowItem.minValue;\n let quantityUiState = record.uiState&&record.uiState.Quantity;\n //单元格状态控制\n let cellMin = quantityUiState && quantityUiState.min.value;\n let cellMinTip = quantityUiState && quantityUiState.min.tip;\n\n let item = { ...lists[index] };\n let afterValue = this.accSub(val, 1);\n\n if (min !== undefined) {\n if (min >= val) return;\n afterValue = (min >= afterValue) ? min : afterValue;\n }\n //单元格状态控制\n if ( !tools.isNull(cellMin)) {\n if (cellMin >= val) {\n if( !tools.isNull(cellMinTip) ) Message.info(cellMinTip);\n return;\n }\n afterValue = (cellMin >= afterValue) ? cellMin : afterValue;\n }\n\n item[rowItem.key] = afterValue;\n item.operateType = 'minus';\n this.outerCallback(this.type.update, item, index);\n }\n\n plusClick = (lists, text, record, index, rowItem) => {\n let list1 = lists[index];\n if (list1 && list1.isSerialNumber && list1.SerialNumber && list1.Quantity === 1) {\n Message.warn('已录入序列号后,不可增加数量')\n return;\n }\n let val = text;\n let max = rowItem.maxValue;\n let quantityUiState = record.uiState&&record.uiState.Quantity;\n //单元格状态控制\n let cellMax = quantityUiState && quantityUiState.max.value;\n let cellMaxTip = quantityUiState && quantityUiState.max.tip;\n\n let item = { ...lists[index] };\n let afterValue = this.accAdd(val, 1);\n if (record.WaitPickUpArr && record.WaitPickUpArr.length > 0){\n let WaitPickUpObj = record.WaitPickUpArr.find(o=>o.unitId == record.Idunit) || {};\n if (text > WaitPickUpObj.waitPickUpQty){\n Message.warn(`不能超过最大可取数量${WaitPickUpObj.waitPickUpQty}`);\n return;\n } else if (afterValue > WaitPickUpObj.waitPickUpQty && text != WaitPickUpObj.waitPickUpQty){\n afterValue = WaitPickUpObj.waitPickUpQty;\n }\n }\n if (max !== undefined) {\n if (max <= val) return;\n afterValue = (max <= afterValue) ? max : afterValue;\n }\n //单元格状态控制\n if ( !tools.isNull(cellMax)) {\n if (cellMax <= val){\n if( !tools.isNull(cellMaxTip) ) Message.info(cellMaxTip);\n return;\n }\n afterValue = (cellMax <= afterValue) ? cellMax : afterValue;\n }\n item[rowItem.key] = afterValue;\n this.outerCallback(this.type.update, item, index);\n }\n\n modalClick = (text, record, index, rowItem) => {\n const fn = this.props.rowClick;\n if (typeof fn == 'function') {\n fn(this.type.updateField, index, record, rowItem.key, rowItem)\n }\n }\n\n /*以下为抽离公共方法*/\n\n setRow = (index) => {\n this.setSelectedRowKeys(index)\n }\n\n setSelectedRowKeys = (params) => {\n const { rowIndex, isScrolling } = this.props;\n let arr = new Array();\n if (params instanceof Array) {\n arr.push(...params)\n } else {\n arr.push(params)\n }\n let tops = {};\n let isHitRow = event && event.type == 'click' && (event.target.nodeName == 'DIV' || event.target.nodeName == 'I')\n if (isScrolling && rowIndex && rowIndex > -1 && !((this.isHitRow === true) ? true : isHitRow)) {\n const scrollTop = this.getScrollTopValue();\n tops = { scrollTop };\n } else {\n tops = { scrollTop: null };\n }\n this.setState({ selectedRowKeys: arr, ...tops });\n if (this.isHitRow === true) { setTimeout(() => { this.isHitRow = false }, 600) }\n }\n\n findSelectedRowKeys = (index) => {\n let rowIndexs = this.state.selectedRowKeys;\n if (rowIndexs && rowIndexs.length > 0) {\n for (let i = 0; i < rowIndexs.length; i++) {\n let item = rowIndexs[i];\n if (item === index) {\n return true;\n }\n }\n }\n return false;\n }\n\n clearSelectedRows = () => {\n this.setSelectedRowKeys([])\n }\n\n outerCallback = (type, record, index) => {\n const cb = this.props.rowClick;\n if (typeof cb == 'function') cb(type, index, record)\n }\n\n changeDecimalBuZero = (number, bitNum) => {\n if (bitNum == 0) return number;\n var f_x = parseFloat(number);\n if (isNaN(f_x)) {\n return '';\n }\n // f_x = Math.round(number * 100) / 100;\n let newBitNum = Math.pow(10, bitNum)\n f_x = Math.round(number * newBitNum) / newBitNum;\n let s_x = (f_x + '').toString();\n let pos_decimal = s_x.indexOf('.');\n if (pos_decimal < 0) {\n pos_decimal = s_x.length;\n s_x += '.';\n }\n while (s_x.length <= pos_decimal + bitNum) {\n s_x += '0';\n }\n return s_x;\n }\n\n /* 浮点数做相乘处理 */\n changeDecimalMul = (a, b) => {\n let c = 0,\n d = (a + '').toString(),\n e = (b + '').toString();\n try {\n c += d.split(\".\")[1].length;\n } catch (f) { }\n try {\n c += e.split(\".\")[1].length;\n } catch (f) { }\n return Number(d.replace(\".\", \"\")) * Number(e.replace(\".\", \"\")) / Math.pow(10, c);\n }\n\n prefixZero = (num, n) => {\n return (Array(n).join(0) + num).slice(-n);\n }\n\n //相加\n accAdd = (arg1, arg2) => {\n let r1, r2, m, c;\n try {\n r1 = (arg1 + '').toString().split(\".\")[1].length;\n }\n catch (e) {\n r1 = 0;\n }\n try {\n r2 = (arg2 + '').toString().split(\".\")[1].length;\n }\n catch (e) {\n r2 = 0;\n }\n c = Math.abs(r1 - r2);\n m = Math.pow(10, Math.max(r1, r2));\n if (c > 0) {\n var cm = Math.pow(10, c);\n if (r1 > r2) {\n arg1 = Number((arg1 + '').toString().replace(\".\", \"\"));\n arg2 = Number((arg2 + '').toString().replace(\".\", \"\")) * cm;\n } else {\n arg1 = Number((arg1 + '').toString().replace(\".\", \"\")) * cm;\n arg2 = Number((arg2 + '').toString().replace(\".\", \"\"));\n }\n } else {\n arg1 = Number((arg1 + '').toString().replace(\".\", \"\"));\n arg2 = Number((arg2 + '').toString().replace(\".\", \"\"));\n }\n return (arg1 + arg2) / m;\n }\n\n //相减\n accSub = (arg1, arg2) => {\n let r1, r2, m, n;\n try {\n r1 = (arg1 + '').toString().split(\".\")[1].length;\n }\n catch (e) {\n r1 = 0;\n }\n try {\n r2 = (arg2 + '').toString().split(\".\")[1].length;\n }\n catch (e) {\n r2 = 0;\n }\n m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度\n n = (r1 >= r2) ? r1 : r2;\n return ((arg1 * m - arg2 * m) / m).toFixed(n);\n }\n\n emptyFunc = (tabHeight) => {\n const { emptyStyle = 'txt', emptyText = '暂无数据~~', emptyImage = this.sys_parms.touchTableEmptyImage } = this.props\n let type = null;\n switch (emptyStyle) {\n case 'icon':\n type = 1;\n break;\n case 'txt':\n type = 2;\n break;\n case 'icon-txt':\n type = 3;\n break;\n default: type = 0;\n }\n return (<div className='defaultContainer' style={{ height: tabHeight + 'px' }}>\n <div style={{ display: type === 0 ? 'none' : '' }}>\n <img className='img' style={{ display: (type === 1 || type === 3) ? '' : 'none' }} src={emptyImage} />\n <div style={{ display: (type === 2 || type === 3) ? '' : 'none' }}>{emptyText}</div>\n </div>\n </div>);\n }\n\n getScrollHeight = () => {\n const { tableHeight, headerHeight = 50, type } = this.props;\n if (typeof tableHeight == 'number') return tableHeight - headerHeight;\n let tab;\n if (type === 'bee'){\n tab = this.tableElement.current;\n } else {\n tab = document.getElementsByClassName(`antTable ${this.uuid}`)[0];\n }\n if (tab) {\n let t = type === 'bee' ? tab.contentTable.parentNode.clientHeight : tab.clientHeight\n return t - headerHeight > 0 ? t - headerHeight : headerHeight\n } else {\n return 0\n }\n }\n\n initScrollHeight = () => {\n const scrollHeight = this.getScrollHeight();\n this.setState({ scrollY: scrollHeight })\n }\n\n getScrollTopValue = () => {\n let top = 0;\n const { height = 50, type } = this.props;\n let bodyTable;\n if (type === 'bee'){\n let tab = this.tableElement.current;\n bodyTable = tab && tab.bodyTable;\n } else {\n const parentNodeEl = document.getElementsByClassName(`antTable ${this.uuid}`)[0];\n bodyTable = parentNodeEl.getElementsByClassName('ant-table-body')[0];\n }\n if (bodyTable.scrollHeight > bodyTable.clientHeight) {\n const { selectedRowKeys } = this.state;\n let rowTop = 0;\n if (selectedRowKeys && selectedRowKeys.length > 0) {\n let index = selectedRowKeys[0];\n let tabTop = bodyTable.scrollTop;\n try {\n let curTop = bodyTable.lastChild.lastChild.childNodes[index].offsetTop;\n rowTop = curTop - bodyTable.clientHeight + height + 10;\n rowTop = Math.abs(tabTop - curTop) < 100 ? tabTop : rowTop;\n } catch (e){\n console.log(e);\n }\n }\n top = rowTop > 0 ? rowTop : 0\n }\n return top;\n }\n\n componentDidMount() {\n setTimeout(() => {\n if( this.props.rowIndex!==void(0) ){\n this.setSelectedRowKeys(this.props.rowIndex)\n }\n this.initScrollHeight()\n }, 0)\n this.generateWaterMark()\n }\n componentDidUpdate() {\n this.generateWaterMark()\n }\n componentWillReceiveProps(nextProps) {\n if ('rowIndex' in nextProps) {\n this.setSelectedRowKeys(nextProps.rowIndex);\n this.initScrollHeight();\n }\n }\n render() {\n let {\n autoScroll, width, tableHeight,\n headerHeight = 50, height = 50,\n pagination, dataSource,\n columns, rowClick, cboxClick, className = '',\n checkbox, rowIndex, type, ...items\n } = this.props;\n let { scrollY, scrollTop } = this.state;\n // let copyColumns = columns.map(el=>{return {...el}});\n const tabColumns = this.getRenderColumns(columns, dataSource);\n const dyItems = (scrollTop != null) ? { scrollTop } : {};\n return (\n <div className={`${type === 'bee' ? 'touchTable' : 'antTable'} ${className} ${this.uuid}`}>\n {\n type === 'bee' ? (\n <Table\n {...items}\n {...dyItems}\n ref={this.tableElement}\n style={{ width: width ? width : '100%', height: tableHeight ? tableHeight : '100%' }}\n rowKey={row => row.Code}\n headerHeight={headerHeight}\n pagination={pagination ? pagination : false}\n data={dataSource}\n columns={tabColumns}\n height={height}\n rowClassName={this.getRowClassName}\n emptyText={() => this.emptyFunc(tableHeight)}\n scroll={autoScroll ? {} : { y: scrollY }}\n headerScroll={false}\n onRowClick={\n (record, index) => {\n this.handleClick(null, 'rowClick', record, index, rowClick)\n }\n }\n />\n ):(\n <AntTable\n id=\"ref-table\"\n {...items}\n {...dyItems}\n style={{ width: width ? width : '100%', height: tableHeight ? tableHeight : '100%' }}\n rowKey={row => row.key || row.Code}\n pagination={pagination ? pagination : false}\n dataSource={dataSource}\n columns={tabColumns}\n rowClassName={this.getRowClassName}\n locale={{emptyText: this.emptyFunc(tableHeight - 60)}}\n scroll={autoScroll ? {y: null} : {y: tableHeight - 60 }}\n onRow={(record, index) => {\n return{\n onClick: () => this.handleClick(null, 'rowClick', record, index, rowClick)\n }\n }}\n />\n )\n }\n\n </div>\n )\n }\n}\n"]}
1
+ {"version":3,"sources":["tplus-components-touch/components/touchTable/index.js"],"names":["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","sys_parms","touchTableEmptyImage","window","ossAliyuncsFileURL","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","JSON","getCellValue","lastIndexOf","split","align","lastColumnResize","delType","delRow","dynamics","isFixDelColumn","stopPropagation","_event","rest","isHitRow","lists","rowClick","delClick","minusClick","plusClick","modalClick","controllerEvent","methodName","methodArgs","context","onEvent","Action","fromJS","viewModel","selfHandleClick","rowIndex","undefined","outerCallback","click","AuthProcess","execute","authorityValidate","callback","result","clearSelectedRows","delete","AddLogProcessor","Code","isAllowSignNext","min","minValue","quantityUiState","uiState","cellMin","value","cellMinTip","tip","afterValue","accSub","isNull","Message","info","operateType","update","list1","isSerialNumber","SerialNumber","warn","max","maxValue","cellMax","cellMaxTip","accAdd","WaitPickUpArr","WaitPickUpObj","find","o","unitId","Idunit","waitPickUpQty","updateField","Inventory","IsWeigh","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","emptyText","emptyImage","display","getScrollHeight","tableHeight","headerHeight","tab","tableElement","current","document","getElementsByClassName","uuid","t","contentTable","parentNode","clientHeight","initScrollHeight","scrollHeight","scrollY","bodyTable","parentNodeEl","rowTop","tabTop","curTop","lastChild","childNodes","offsetTop","console","log","tabColumns","checkboxedList","React","createRef","getTableElement","bind","waterMark","waterMarkOption","children","handleCallback","generateWaterMark","nextProps","autoScroll","pagination","columns","items","dyItems","row","y","onClick","propTypes","PropTypes","string","object","contextTypes","func"],"mappings":"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","file":"index.js","sourcesContent":["/**\n *\n * waterMark 水印文字内容\n * waterMarkOption 水印参数 Object类型 (width, height, font, color,rotate)\n *\n * badge Boolean 徽章 在dataSource(data) 属性中每一行的数据定义badge字段会自动生成,不需要定义对应的columns\n * dataSource: [{badge: {text: '赠', position: 'leftTop', className: ''}}]\n * badge: text 文字内容 | position 徽章位置(leftTop/rightTop/leftBottom/rightBottom) | className\n *\n */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Checkbox, Table as AntTable } from 'antd';\nimport { Ticon } from '../../index';\nimport { generateWaterMark } from './generateWater.js';\nimport {badgeClassNames, getUuid} from './utils';\nimport tools from '../../util/tools.js'\nimport './index.less';\nimport _get from 'lodash/get';\nimport mobx from \"mobx\";\nimport Table from 'bee-table';\nimport 'bee-table/build/Table.css';\nimport Message from '../message';\nimport { AuthProcess } from './AuthProcess';\nimport { Action } from 'mutants-appfx';\nimport { PosInitData } from 'tplus-poslogin';\nexport class InputNumberCell extends Component {\n render() {\n let {\n val,\n text,\n record,\n index,\n selectedRowKeys,\n rowItem,\n rowHeight = 50,\n handleClick,\n mergeQuantityUnit,\n } = this.props;\n const { Unit } = record || {};\n const unitname = Unit && Unit.Name;\n const fileName = rowItem.FieldName ? rowItem.FieldName : rowItem.key;\n val = (!!mergeQuantityUnit && fileName == 'Quantity') ? (val + unitname || '') : val;\n if (selectedRowKeys && selectedRowKeys.length > 0) {\n for (let item of selectedRowKeys) {\n if (index === parseInt(item) && rowItem.readOnly === false) {\n return (<div className={`${rowItem.quick == true ? 'selectedCell' : 'unSelectedCell'}`}>\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)} />}\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>\n <span className='editorLine'></span>\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)} />}\n </div>)\n }\n }\n }\n return (<div className='unSelectedCell'><span className='iconText row-cell-div row-cell-pad'>{val}</span></div>)\n }\n}\n\nexport default class TouchTable extends Component {\n static propTypes = {\n waterMark: PropTypes.string,\n waterMarkOption: PropTypes.object\n };\n static contextTypes = {\n onEvent:PropTypes.func,\n viewModel: PropTypes.object\n }\n\n sys_parms = {\n touchTableEmptyImage: `${window.ossAliyuncsFileURL}/empty.png`\n }\n \n constructor(props) {\n super(props);\n this.state = {\n selectedRowKeys: [],\n tabColumns: [],\n scrollY: 0,\n scrollTop: null,\n }\n this.checkboxedList = [];\n this.type = {\n click: 'click',\n update: 'update',\n delete: 'delete',\n updateField: 'updateField'\n }\n this.isHitRow = false;\n this.tableElement = React.createRef();\n this.getTableElement = this.getTableElement.bind(this);\n this.getRowClassName = this.getRowClassName.bind(this);\n\n this.uuid = getUuid();\n }\n getTableElement() {\n return this.tableElement;\n }\n\n generateWaterMark() {\n const { waterMark, waterMarkOption = {}, type } = this.props;\n let contentTable;\n\n if (type === 'bee') {\n contentTable = this.tableElement.current;\n } else {\n const parentNodeEl = document.getElementsByClassName(`antTable ${this.uuid}`)[0];\n contentTable = {\n contentTable: parentNodeEl.children[0]\n };\n }\n if(waterMark != this.waterMark){\n generateWaterMark(contentTable, { text: waterMark, ...waterMarkOption });\n this.waterMark = waterMark;\n }\n this.props.handleCallback && this.props.handleCallback();\n }\n\n renderCheckbox = (text, record, index) => {\n Array.prototype.remove = function (val) {\n var index = this.indexOf(val);\n if (index > -1) {\n this.splice(index, 1);\n }\n };\n const onChange = (checked, index) => {\n let arr = this.state.selectedRowKeys;\n if (checked === true) {\n arr.push(index);\n }\n else if (checked === false) {\n arr.remove(index);\n }\n this.setSelectedRowKeys([...new Set(arr)]);\n const fn = this.props.cboxClick;\n if (typeof fn == 'function') { fn(checked, index) }\n }\n const status = this.findSelectedRowKeys(index);\n return (\n <div style={{ margin: 'auto', width: '20px' }}>\n <Checkbox className=\"test\" checked={status} onChange={(event) => onChange(event, index)}></Checkbox>\n </div>\n )\n }\n renderLineNum = (text, record, index) => {\n return index + 1\n //return this.prefixZero(index + 1, 2);\n }\n renderNumber = (text, record, index, item) => {\n const { mergeQuantityUnit } = this.props;\n let precision = parseInt(item.precision);\n let isPercent = ('Format' in item && item.Format == 'Percent');\n text = isPercent ? this.changeDecimalMul(text, 100) : text;\n let val = this.changeDecimalBuZero(text, precision);\n val = isPercent ? val + \"%\" : val;\n const rowIndexs = this.state.selectedRowKeys;\n return <InputNumberCell\n val={val}\n text={text}\n record={record}\n index={index}\n selectedRowKeys={rowIndexs}\n rowItem={item}\n mergeQuantityUnit={mergeQuantityUnit}\n handleClick={this.handleClick} />\n }\n renderAction = (text, record, index) => {\n const status = this.findSelectedRowKeys(index);\n if (status == true) {\n return (<span className='spanDel' onClick={e => this.handleClick(e, 'del', index, record)} ><Ticon type=\"shanchu\" className=\"iconDel primary-color\"/></span>)\n } else {\n return ''\n }\n }\n renderOther = (showText, record, index, item) => {\n const { badge, height = 50, type } = this.props;\n //针对存货为赠品属性的处理逻辑。\n if (item && item.Name == 'Inventory' && badge && record.badge) {\n const { badge: { text, position = 'leftTop', className = '' } = {} } = record;\n const badgeClassName = badgeClassNames[position];\n const baseNum = position.includes('Bottom') ? 25 : 0;\n let style = {}\n if (type === 'bee'){\n style = {\n top : baseNum\n }\n }\n return (\n <div className='tplus-table-badge'>\n <div className={`badge-item ${className} ${badgeClassName}`} style={style}><span>{text}</span></div>\n <div className='row-cell-div row-cell-pad'>{showText}</div>\n </div>\n )\n }\n //增加宽度是为了控制超出之后显示省略号。\n return <div className='row-cell-div row-cell-pad'>{showText}</div>\n }\n //自定义列\n renderUserDefined = (text, record, index, item) => {\n const fn = item.callbackFunc;\n if (typeof fn == 'function') {\n return fn();\n }\n else {\n return '';\n }\n }\n getRowClassName = (record, index) => {\n const status = this.findSelectedRowKeys(index);\n if (status == true) {\n return 'row-selected'\n } else {\n return '';\n }\n }\n\n renderIntegralExchangeItem = (text, record, index, item ,exchangeIntegralValue) => {\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}`} >\n <span className='money iconText row-cell-div mouse'>{ exchangeIntegralValue+\"积分\"}</span>\n <span className='value iconText row-cell-div mouse'>{'¥'+text}</span>\n </div>)\n }\n\n getRenderColumns = (cols, dataSource) => {\n const { badge, height = 50, mergeQuantityUnit, type } = this.props;\n const arr = [];\n let check = typeof this.props.checkbox == 'boolean' ? this.props.checkbox : false;\n if (check === true) {\n arr.push({\n key: 'checkbox',\n dataIndex: 'checkbox',\n title: '',\n width: 25,\n textAlign: 'center',\n readOnly: true,\n render: (text, record, index) => this.renderCheckbox(text, record, index)\n })\n }\n let lineType = typeof this.props.lineNum == 'boolean' ? this.props.lineNum : false;\n if (lineType === true) {\n arr.push({\n key: 'rowNum',\n dataIndex: 'rowNum',\n title: '行号',\n width: 50,\n textAlign: 'center',\n readOnly: true,\n fixed: 'left',\n render: (text, record, index) => this.renderLineNum(text, record, index)\n })\n }\n if (cols && cols.length > 0) {\n for (let item of cols) {\n if (item.controlType === 'NumTextBox') {\n item.render = (text, record, index) => {\n // 增加积分抵现特殊显示方式\n let dsItem = dataSource && dataSource[index];\n if (dsItem && dsItem.IsIntegralExchange && (item.FieldName == \"TaxPrice\" || item.FieldName == \"TaxAmount\")) {\n const singleExchangeIntegral = dataSource[index].ExchangeIntegral\n let exchangeIntegralValue = item.FieldName == \"TaxPrice\"?singleExchangeIntegral:singleExchangeIntegral* dataSource[index].Quantity;\n if(exchangeIntegralValue>0) {\n exchangeIntegralValue = Math.ceil(exchangeIntegralValue);\n }else {\n exchangeIntegralValue = Math.floor(exchangeIntegralValue);\n }\n return this.renderIntegralExchangeItem(text, record, index, item,exchangeIntegralValue)\n }\n return this.renderNumber(text, record, index, item);\n }\n } else if (item.controlType === 'Userdefined') {\n item.render = (text, record, index) => {\n return this.renderUserDefined(text, record, index, item);\n }\n } else if (item.controlType === 'DatePicker' ||item.controlType === 'DateDropDown') {\n item.render = (text, record, index) => {\n let renderText = tools.dateFormat(text, item.Format);\n return <span>{renderText}</span>\n }\n } else {\n item.render = (text, record, index) => {\n if (text && typeof text == 'object') {\n text = _get(record, item.FieldName)\n }\n if (text && typeof text == 'object' && 'Name' in text) {\n text = text['Name']\n }\n // 自由项的商品,如果取不到,从DynamicPropertyKeys,DynamicPropertyValues 里面取,采用下面的方式\n if (!text && item && item.FieldName) {\n text = JSON.getCellValue(record, item.FieldName)\n }\n return this.renderOther(text, record, index, item);\n }\n }\n if (type !== 'bee'){\n if (item.dataIndex.lastIndexOf(\".\") > 0) {\n item.dataIndex = item.dataIndex.split('.');\n }\n item.align = item.textAlign;\n }\n if (mergeQuantityUnit && item.FieldName == 'Quantity') {\n item = { ...item, title: '数量/单位' }\n }\n arr.push(item);\n }\n }\n //最后一列留白,解决最后一列自适应宽度的问题\n let lastColumnResize = typeof this.props.lastColumnResize == 'boolean' ? this.props.lastColumnResize : false;\n if (lastColumnResize == true) {\n arr.push({\n key: 'resize',\n dataIndex: 'resize',\n title: '',\n width: 10,\n textAlign: 'center',\n readOnly: true\n })\n }\n let delType = typeof this.props.delRow == 'boolean' ? this.props.delRow : true;\n let dynamics = typeof this.props.isFixDelColumn == 'boolean' && this.props.isFixDelColumn == true ? { fixed: 'right',width: 50 } : { width: 28};\n if (delType === true) {\n arr.push({\n key: 'del',\n ...dynamics,\n dataIndex: 'del',\n title: '',\n className: 'shanchu',\n textAlign: 'center', //beeTable居中\n align: 'center', //antTable居中\n render: (text, record, index) => this.renderAction(text, record, index)\n })\n }\n return arr;\n }\n\n stopPropagation = (_event) => {\n if (_event && _event.stopPropagation) {\n _event.stopPropagation();\n }\n }\n\n /*以下为触发事件*/\n handleClick = (_event, type, ...rest) => {\n this.isHitRow = true;\n const lists = this.props.dataSource;\n switch (type) {\n case 'rowClick':\n this.rowClick(...rest)\n break;\n case 'del':\n this.delClick(lists, ...rest)\n this.stopPropagation(_event)\n break;\n case 'minus':\n this.minusClick(lists, ...rest)\n this.stopPropagation(_event)\n break;\n case 'plus':\n this.plusClick(lists, ...rest)\n this.stopPropagation(_event)\n break;\n case 'modal':\n this.modalClick(...rest)\n break;\n }\n }\n controllerEvent = (methodName, methodArgs) => {\n this.context.onEvent({ 'controllerEvent': Action.fromJS(this.context.viewModel, methodName) }, 'controllerEvent', methodArgs);\n }\n selfHandleClick = () => {\n const { rowIndex = undefined } = this.props;\n if (rowIndex == undefined) {\n return true;\n }\n return false;\n }\n\n rowClick = (record, index, fn) => {\n if (this.selfHandleClick()) {\n //当不设置行点击事件时,组件内部处理。\n if (this.state.selectedRowKeys.indexOf(index) > -1) return;\n this.setSelectedRowKeys(index, true);\n }else{\n //当设置点击事件,组件外处理\n this.outerCallback(this.type.click, record, index);\n }\n }\n delClick = async (lists, index, record) => {\n let status = AuthProcess.execute('ReverseOperation');\n if (!status) {\n this.props.authorityValidate && this.props.authorityValidate({callback:(result)=>{\n if (result) {\n if (this.selfHandleClick()) {\n lists.splice(index, 1);\n this.clearSelectedRows();\n }else{\n this.outerCallback(this.type.delete, record, index);\n AddLogProcessor.execute(\"删除行\", record.Code, '删除行成功');\n }\n }\n }});\n } else {\n if (this.selfHandleClick()) {\n lists.splice(index, 1);\n this.clearSelectedRows();\n }else{\n this.outerCallback(this.type.delete, record, index);\n }\n }\n this.controllerEvent('setInventoryFocus');\n }\n minusClick = (lists, text, record, index, rowItem) => {\n if (!this.isAllowSignNext(record)) { return };\n let val = text;\n let min = rowItem.minValue;\n let quantityUiState = record.uiState&&record.uiState.Quantity;\n //单元格状态控制\n let cellMin = quantityUiState && quantityUiState.min.value;\n let cellMinTip = quantityUiState && quantityUiState.min.tip;\n\n let item = { ...lists[index] };\n let afterValue = this.accSub(val, 1);\n\n if (min !== undefined) {\n if (min >= val) return;\n afterValue = (min >= afterValue) ? min : afterValue;\n }\n //单元格状态控制\n if ( !tools.isNull(cellMin)) {\n if (cellMin >= val) {\n if( !tools.isNull(cellMinTip) ) Message.info(cellMinTip);\n return;\n }\n afterValue = (cellMin >= afterValue) ? cellMin : afterValue;\n }\n\n item[rowItem.key] = afterValue;\n item.operateType = 'minus';\n this.outerCallback(this.type.update, item, index);\n }\n\n plusClick = (lists, text, record, index, rowItem) => {\n if (!this.isAllowSignNext(record)) { return };\n let list1 = lists[index];\n if (list1 && list1.isSerialNumber && list1.SerialNumber && list1.Quantity === 1) {\n Message.warn('已录入序列号后,不可增加数量')\n return;\n }\n let val = text;\n let max = rowItem.maxValue;\n let quantityUiState = record.uiState&&record.uiState.Quantity;\n //单元格状态控制\n let cellMax = quantityUiState && quantityUiState.max.value;\n let cellMaxTip = quantityUiState && quantityUiState.max.tip;\n\n let item = { ...lists[index] };\n let afterValue = this.accAdd(val, 1);\n if (record.WaitPickUpArr && record.WaitPickUpArr.length > 0){\n let WaitPickUpObj = record.WaitPickUpArr.find(o=>o.unitId == record.Idunit) || {};\n if (text > WaitPickUpObj.waitPickUpQty){\n Message.warn(`不能超过最大可取数量${WaitPickUpObj.waitPickUpQty}`);\n return;\n } else if (afterValue > WaitPickUpObj.waitPickUpQty && text != WaitPickUpObj.waitPickUpQty){\n afterValue = WaitPickUpObj.waitPickUpQty;\n }\n }\n if (max !== undefined) {\n if (max <= val) return;\n afterValue = (max <= afterValue) ? max : afterValue;\n }\n //单元格状态控制\n if ( !tools.isNull(cellMax)) {\n if (cellMax <= val){\n if( !tools.isNull(cellMaxTip) ) Message.info(cellMaxTip);\n return;\n }\n afterValue = (cellMax <= afterValue) ? cellMax : afterValue;\n }\n item[rowItem.key] = afterValue;\n this.outerCallback(this.type.update, item, index);\n }\n\n modalClick = (text, record, index, rowItem) => {\n const fn = this.props.rowClick;\n if (typeof fn == 'function') {\n fn(this.type.updateField, index, record, rowItem.key, rowItem)\n }\n }\n\n /*以下为抽离公共方法*/\n isAllowSignNext = (record) => {\n // 是否称重商品\n if (record && record.Inventory && record.Inventory.IsWeigh) {\n // 是否允许手动修改数量\n if ('1' != PosInitData('isBalanceCanChange')) {\n Message.warn('称重商品已设置不允许进行此操作!');\n return false;\n }\n }\n return true;\n }\n setRow = (index) => {\n this.setSelectedRowKeys(index)\n }\n\n setSelectedRowKeys = (params) => {\n const { rowIndex, isScrolling } = this.props;\n let arr = new Array();\n if (params instanceof Array) {\n arr.push(...params)\n } else {\n arr.push(params)\n }\n let tops = {};\n let isHitRow = event && event.type == 'click' && (event.target.nodeName == 'DIV' || event.target.nodeName == 'I')\n if (isScrolling && rowIndex && rowIndex > -1 && !((this.isHitRow === true) ? true : isHitRow)) {\n const scrollTop = this.getScrollTopValue();\n tops = { scrollTop };\n } else {\n tops = { scrollTop: null };\n }\n this.setState({ selectedRowKeys: arr, ...tops });\n if (this.isHitRow === true) { setTimeout(() => { this.isHitRow = false }, 600) }\n }\n\n findSelectedRowKeys = (index) => {\n let rowIndexs = this.state.selectedRowKeys;\n if (rowIndexs && rowIndexs.length > 0) {\n for (let i = 0; i < rowIndexs.length; i++) {\n let item = rowIndexs[i];\n if (item === index) {\n return true;\n }\n }\n }\n return false;\n }\n\n clearSelectedRows = () => {\n this.setSelectedRowKeys([])\n }\n\n outerCallback = (type, record, index) => {\n const cb = this.props.rowClick;\n if (typeof cb == 'function') cb(type, index, record)\n }\n\n changeDecimalBuZero = (number, bitNum) => {\n if (bitNum == 0) return number;\n var f_x = parseFloat(number);\n if (isNaN(f_x)) {\n return '';\n }\n // f_x = Math.round(number * 100) / 100;\n let newBitNum = Math.pow(10, bitNum)\n f_x = Math.round(number * newBitNum) / newBitNum;\n let s_x = (f_x + '').toString();\n let pos_decimal = s_x.indexOf('.');\n if (pos_decimal < 0) {\n pos_decimal = s_x.length;\n s_x += '.';\n }\n while (s_x.length <= pos_decimal + bitNum) {\n s_x += '0';\n }\n return s_x;\n }\n\n /* 浮点数做相乘处理 */\n changeDecimalMul = (a, b) => {\n let c = 0,\n d = (a + '').toString(),\n e = (b + '').toString();\n try {\n c += d.split(\".\")[1].length;\n } catch (f) { }\n try {\n c += e.split(\".\")[1].length;\n } catch (f) { }\n return Number(d.replace(\".\", \"\")) * Number(e.replace(\".\", \"\")) / Math.pow(10, c);\n }\n\n prefixZero = (num, n) => {\n return (Array(n).join(0) + num).slice(-n);\n }\n\n //相加\n accAdd = (arg1, arg2) => {\n let r1, r2, m, c;\n try {\n r1 = (arg1 + '').toString().split(\".\")[1].length;\n }\n catch (e) {\n r1 = 0;\n }\n try {\n r2 = (arg2 + '').toString().split(\".\")[1].length;\n }\n catch (e) {\n r2 = 0;\n }\n c = Math.abs(r1 - r2);\n m = Math.pow(10, Math.max(r1, r2));\n if (c > 0) {\n var cm = Math.pow(10, c);\n if (r1 > r2) {\n arg1 = Number((arg1 + '').toString().replace(\".\", \"\"));\n arg2 = Number((arg2 + '').toString().replace(\".\", \"\")) * cm;\n } else {\n arg1 = Number((arg1 + '').toString().replace(\".\", \"\")) * cm;\n arg2 = Number((arg2 + '').toString().replace(\".\", \"\"));\n }\n } else {\n arg1 = Number((arg1 + '').toString().replace(\".\", \"\"));\n arg2 = Number((arg2 + '').toString().replace(\".\", \"\"));\n }\n return (arg1 + arg2) / m;\n }\n\n //相减\n accSub = (arg1, arg2) => {\n let r1, r2, m, n;\n try {\n r1 = (arg1 + '').toString().split(\".\")[1].length;\n }\n catch (e) {\n r1 = 0;\n }\n try {\n r2 = (arg2 + '').toString().split(\".\")[1].length;\n }\n catch (e) {\n r2 = 0;\n }\n m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度\n n = (r1 >= r2) ? r1 : r2;\n return ((arg1 * m - arg2 * m) / m).toFixed(n);\n }\n\n emptyFunc = (tabHeight) => {\n const { emptyStyle = 'txt', emptyText = '暂无数据~~', emptyImage = this.sys_parms.touchTableEmptyImage } = this.props\n let type = null;\n switch (emptyStyle) {\n case 'icon':\n type = 1;\n break;\n case 'txt':\n type = 2;\n break;\n case 'icon-txt':\n type = 3;\n break;\n default: type = 0;\n }\n return (<div className='defaultContainer' style={{ height: tabHeight + 'px' }}>\n <div style={{ display: type === 0 ? 'none' : '' }}>\n <img className='img' style={{ display: (type === 1 || type === 3) ? '' : 'none' }} src={emptyImage} />\n <div style={{ display: (type === 2 || type === 3) ? '' : 'none' }}>{emptyText}</div>\n </div>\n </div>);\n }\n\n getScrollHeight = () => {\n const { tableHeight, headerHeight = 50, type } = this.props;\n if (typeof tableHeight == 'number') return tableHeight - headerHeight;\n let tab;\n if (type === 'bee'){\n tab = this.tableElement.current;\n } else {\n tab = document.getElementsByClassName(`antTable ${this.uuid}`)[0];\n }\n if (tab) {\n let t = type === 'bee' ? tab.contentTable.parentNode.clientHeight : tab.clientHeight\n return t - headerHeight > 0 ? t - headerHeight : headerHeight\n } else {\n return 0\n }\n }\n\n initScrollHeight = () => {\n const scrollHeight = this.getScrollHeight();\n this.setState({ scrollY: scrollHeight })\n }\n\n getScrollTopValue = () => {\n let top = 0;\n const { height = 50, type } = this.props;\n let bodyTable;\n if (type === 'bee'){\n let tab = this.tableElement.current;\n bodyTable = tab && tab.bodyTable;\n } else {\n const parentNodeEl = document.getElementsByClassName(`antTable ${this.uuid}`)[0];\n bodyTable = parentNodeEl.getElementsByClassName('ant-table-body')[0];\n }\n if (bodyTable.scrollHeight > bodyTable.clientHeight) {\n const { selectedRowKeys } = this.state;\n let rowTop = 0;\n if (selectedRowKeys && selectedRowKeys.length > 0) {\n let index = selectedRowKeys[0];\n let tabTop = bodyTable.scrollTop;\n try {\n let curTop = bodyTable.lastChild.lastChild.childNodes[index].offsetTop;\n rowTop = curTop - bodyTable.clientHeight + height + 10;\n rowTop = Math.abs(tabTop - curTop) < 100 ? tabTop : rowTop;\n } catch (e){\n console.log(e);\n }\n }\n top = rowTop > 0 ? rowTop : 0\n }\n return top;\n }\n\n componentDidMount() {\n setTimeout(() => {\n if( this.props.rowIndex!==void(0) ){\n this.setSelectedRowKeys(this.props.rowIndex)\n }\n this.initScrollHeight()\n }, 0)\n this.generateWaterMark()\n }\n componentDidUpdate() {\n this.generateWaterMark()\n }\n componentWillReceiveProps(nextProps) {\n if ('rowIndex' in nextProps) {\n this.setSelectedRowKeys(nextProps.rowIndex);\n this.initScrollHeight();\n }\n }\n render() {\n let {\n autoScroll, width, tableHeight,\n headerHeight = 50, height = 50,\n pagination, dataSource,\n columns, rowClick, cboxClick, className = '',\n checkbox, rowIndex, type, ...items\n } = this.props;\n let { scrollY, scrollTop } = this.state;\n // let copyColumns = columns.map(el=>{return {...el}});\n const tabColumns = this.getRenderColumns(columns, dataSource);\n const dyItems = (scrollTop != null) ? { scrollTop } : {};\n return (\n <div className={`${type === 'bee' ? 'touchTable' : 'antTable'} ${className} ${this.uuid}`}>\n {\n type === 'bee' ? (\n <Table\n {...items}\n {...dyItems}\n ref={this.tableElement}\n style={{ width: width ? width : '100%', height: tableHeight ? tableHeight : '100%' }}\n rowKey={row => row.Code}\n headerHeight={headerHeight}\n pagination={pagination ? pagination : false}\n data={dataSource}\n columns={tabColumns}\n height={height}\n rowClassName={this.getRowClassName}\n emptyText={() => this.emptyFunc(tableHeight)}\n scroll={autoScroll ? {} : { y: scrollY }}\n headerScroll={false}\n onRowClick={\n (record, index) => {\n this.handleClick(null, 'rowClick', record, index, rowClick)\n }\n }\n />\n ):(\n <AntTable\n id=\"ref-table\"\n {...items}\n {...dyItems}\n style={{ width: width ? width : '100%', height: tableHeight ? tableHeight : '100%' }}\n rowKey={row => row.key || row.Code}\n pagination={pagination ? pagination : false}\n dataSource={dataSource}\n columns={tabColumns}\n rowClassName={this.getRowClassName}\n locale={{emptyText: this.emptyFunc(tableHeight - 60)}}\n scroll={autoScroll ? {y: null} : {y: tableHeight - 60 }}\n onRow={(record, index) => {\n return{\n onClick: () => this.handleClick(null, 'rowClick', record, index, rowClick)\n }\n }}\n />\n )\n }\n\n </div>\n )\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tplus-components-touch",
3
- "version": "3.56.2",
3
+ "version": "3.56.3",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -32,4 +32,4 @@
32
32
  "moment": "^2.24.0",
33
33
  "swiper": "^4.5.0"
34
34
  }
35
- }
35
+ }