{"version":3,"sources":["webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack:///./node_modules/core-js/internals/array-for-each.js","webpack:///./node_modules/core-js/modules/es.array.for-each.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./src/services/reportService.ts","webpack:///./src/views/Report/StockPL.vue?8c7a","webpack:///./src/views/Report/StockPL.vue","webpack:///./src/views/Report/StockPL.vue?65f6","webpack:///./src/views/Report/StockPL.vue?538a","webpack:///./src/components/SortHeader.vue?281b","webpack:///./src/components/SortHeader.vue","webpack:///./src/components/SortHeader.vue?7d35","webpack:///./src/components/SortHeader.vue?0045"],"names":["module","exports","Object","is","x","y","global","DOMIterables","forEach","createNonEnumerableProperty","COLLECTION_NAME","Collection","CollectionPrototype","prototype","error","$forEach","arrayMethodIsStrict","arrayMethodUsesToLength","STRICT_METHOD","USES_TO_LENGTH","callbackfn","this","arguments","length","undefined","$","target","proto","forced","$filter","filter","arrayMethodHasSpeciesSupport","HAS_SPECIES_SUPPORT","$find","find","addToUnscopables","FIND","SKIPS_HOLES","Array","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","searcher","call","RegExp","String","res","done","value","rx","S","previousLastIndex","lastIndex","result","index","getTrades","type","forceUpdate","calcExercised","tryPostResult","ContractType","ForceUpdate","CalcExercised","trades","getDayProfits","symbols","start","end","contractType","includeFee","Symbol","parseSymbols","Start","End","IncludeFee","getSingleDayProfits","day","Day","uploadExcel","file","excelType","tryUploadResult","downloadSample","name","tryDownload","Name","download","getLastSyncDate","desc","Result","getDividends","render","_vm","_h","$createElement","_c","_self","directives","rawName","expression","staticClass","_m","_v","attrs","on","filterSymbols","model","search","callback","$$v","$set","_l","s","key","staticStyle","feeChanged","profits","Realized","Unrealized","trade","_s","TradeDate","Currency","SymbolName","AccountId","BuySell","Quantity","TradePrice","SecType","$t","Right","_e","Strike","Expiry","Rate","Multiplier","Math","abs","IbCommission","staticRenderFns","pageTrades","Set","loading","selectedSymbols","Count","loadData","reportService","data","Error","$alert","arr","item","push","utility","getSymbolDisplay","e","sortArr","freezeArrayAndItems","p","add","freezeArrayItems","calc","parseDate","q","iSameSymbol","indexOf","Stock","Total","Option","components","SortHeader","component","currentDirection","$event","sortItems","direction","sort","a","b","v","left","getByKey","right","sortTarget","dataType","column"],"mappings":"mGAEAA,EAAOC,QAAUC,OAAOC,IAAM,SAAYC,EAAGC,GAE3C,OAAOD,IAAMC,EAAU,IAAND,GAAW,EAAIA,IAAM,EAAIC,EAAID,GAAKA,GAAKC,GAAKA,I,uBCJ/D,IAAIC,EAAS,EAAQ,QACjBC,EAAe,EAAQ,QACvBC,EAAU,EAAQ,QAClBC,EAA8B,EAAQ,QAE1C,IAAK,IAAIC,KAAmBH,EAAc,CACxC,IAAII,EAAaL,EAAOI,GACpBE,EAAsBD,GAAcA,EAAWE,UAEnD,GAAID,GAAuBA,EAAoBJ,UAAYA,EAAS,IAClEC,EAA4BG,EAAqB,UAAWJ,GAC5D,MAAOM,GACPF,EAAoBJ,QAAUA,K,oCCXlC,IAAIO,EAAW,EAAQ,QAAgCP,QACnDQ,EAAsB,EAAQ,QAC9BC,EAA0B,EAAQ,QAElCC,EAAgBF,EAAoB,WACpCG,EAAiBF,EAAwB,WAI7CjB,EAAOC,QAAYiB,GAAkBC,EAEjC,GAAGX,QAFgD,SAAiBY,GACtE,OAAOL,EAASM,KAAMD,EAAYE,UAAUC,OAAS,EAAID,UAAU,QAAKE,K,kCCV1E,IAAIC,EAAI,EAAQ,QACZjB,EAAU,EAAQ,QAItBiB,EAAE,CAAEC,OAAQ,QAASC,OAAO,EAAMC,OAAQ,GAAGpB,SAAWA,GAAW,CACjEA,QAASA,K,oCCNX,IAAIiB,EAAI,EAAQ,QACZI,EAAU,EAAQ,QAAgCC,OAClDC,EAA+B,EAAQ,QACvCd,EAA0B,EAAQ,QAElCe,EAAsBD,EAA6B,UAEnDZ,EAAiBF,EAAwB,UAK7CQ,EAAE,CAAEC,OAAQ,QAASC,OAAO,EAAMC,QAASI,IAAwBb,GAAkB,CACnFW,OAAQ,SAAgBV,GACtB,OAAOS,EAAQR,KAAMD,EAAYE,UAAUC,OAAS,EAAID,UAAU,QAAKE,O,oCCd3E,IAAIC,EAAI,EAAQ,QACZQ,EAAQ,EAAQ,QAAgCC,KAChDC,EAAmB,EAAQ,QAC3BlB,EAA0B,EAAQ,QAElCmB,EAAO,OACPC,GAAc,EAEdlB,EAAiBF,EAAwBmB,GAGzCA,IAAQ,IAAIE,MAAM,GAAGF,IAAM,WAAcC,GAAc,KAI3DZ,EAAE,CAAEC,OAAQ,QAASC,OAAO,EAAMC,OAAQS,IAAgBlB,GAAkB,CAC1Ee,KAAM,SAAcd,GAClB,OAAOa,EAAMZ,KAAMD,EAAYE,UAAUC,OAAS,EAAID,UAAU,QAAKE,MAKzEW,EAAiBC,I,oCCtBjB,IAAIG,EAAgC,EAAQ,QACxCC,EAAW,EAAQ,QACnBC,EAAyB,EAAQ,QACjCC,EAAY,EAAQ,QACpBC,EAAa,EAAQ,QAGzBJ,EAA8B,SAAU,GAAG,SAAUK,EAAQC,EAAcC,GACzE,MAAO,CAGL,SAAgBC,GACd,IAAIC,EAAIP,EAAuBpB,MAC3B4B,OAAqBzB,GAAVuB,OAAsBvB,EAAYuB,EAAOH,GACxD,YAAoBpB,IAAbyB,EAAyBA,EAASC,KAAKH,EAAQC,GAAK,IAAIG,OAAOJ,GAAQH,GAAQQ,OAAOJ,KAI/F,SAAUD,GACR,IAAIM,EAAMP,EAAgBD,EAAcE,EAAQ1B,MAChD,GAAIgC,EAAIC,KAAM,OAAOD,EAAIE,MAEzB,IAAIC,EAAKhB,EAASO,GACdU,EAAIL,OAAO/B,MAEXqC,EAAoBF,EAAGG,UACtBjB,EAAUgB,EAAmB,KAAIF,EAAGG,UAAY,GACrD,IAAIC,EAASjB,EAAWa,EAAIC,GAE5B,OADKf,EAAUc,EAAGG,UAAWD,KAAoBF,EAAGG,UAAYD,GAC9C,OAAXE,GAAmB,EAAIA,EAAOC,Y,oFCiC5B,QACPC,UADO,SACIC,EAAcC,GAA2C,4KAArBC,EAAqB,yCACnD,OAAYC,cAA2B,oBAAqB,CAC/EC,aAAc,CAACJ,GACfK,YAAaJ,EACbK,cAAeJ,IAJuD,cAClEK,EADkE,yBAMjEA,GANiE,8CAQpEC,cATO,SASQC,EAAmBC,EAAeC,EAAaC,EAAyBC,GAAoB,mKAC1F,OAAYV,cAA+B,wBAAyB,CACvFW,OAAQ,OAAQC,aAAaN,GAC7BO,MAAON,EACPO,IAAKN,EACLP,aAAcQ,EACdM,WAAYL,IANiG,cACzGN,EADyG,yBAQxGA,GARwG,8CAU3GY,oBAnBO,SAmBcC,EAAaR,GAAoB,mKACrC,OAAYT,cAA2B,4BAA6B,CACvFkB,IAAKD,EACLhB,aAAcQ,IAH0C,cACpDL,EADoD,yBAKnDA,GALmD,8CAOtDe,YA1BO,SA0BMC,EAAYC,GAAiB,6JACjC,OAAYC,gBAAyB,sBAAuB,CACvEF,KAAMA,EACNC,UAAWA,IAHiC,sFAM1CE,eAhCO,SAgCSC,GAAY,6JACnB,OAAYC,YAAY,yBAA0B,CAC7DC,KAAMF,IAFwB,sFAK5BG,SArCO,SAqCG9B,GAAY,6JACb,OAAY4B,YAAY,mBAAoB,CACvDxB,aAAc,CAACJ,KAFS,sFAKtB+B,gBA1CO,WA0CQ,mKACA,OAAY5B,cAAsB,2BADlC,cACb6B,EADa,yBAEZA,EAAKC,QAFO,8CAIfC,aA9CO,SA8COjC,GAAoB,mKACjB,OAAYE,cAA8B,uBAAwB,CACrFE,YAAaJ,IAFuB,cAChCM,EADgC,yBAI/BA,GAJ+B,gD,yCC7G1C,IAAI4B,EAAS,WAAa,IAAIC,EAAI9E,KAAS+E,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,WAAW,CAAC,CAACd,KAAK,UAAUe,QAAQ,YAAYlD,MAAO4C,EAAW,QAAEO,WAAW,YAAYC,YAAY,UAAU,CAACR,EAAIS,GAAG,GAAGN,EAAG,MAAM,CAACA,EAAG,OAAO,CAACK,YAAY,QAAQ,CAACR,EAAIU,GAAG,YAAYP,EAAG,YAAY,CAACQ,MAAM,CAAC,SAAW,IAAIC,GAAG,CAAC,OAASZ,EAAIa,eAAeC,MAAM,CAAC1D,MAAO4C,EAAIe,OAAsB,gBAAEC,SAAS,SAAUC,GAAMjB,EAAIkB,KAAKlB,EAAIe,OAAQ,kBAAmBE,IAAMV,WAAW,2BAA2BP,EAAImB,GAAInB,EAAW,SAAE,SAASoB,GAAG,OAAOjB,EAAG,YAAY,CAACkB,IAAID,EAAET,MAAM,CAAC,MAAQS,EAAE,MAAQA,QAAO,GAAGjB,EAAG,OAAO,CAACK,YAAY,aAAa,CAACR,EAAIU,GAAG,cAAcP,EAAG,YAAY,CAACK,YAAY,SAASG,MAAM,CAAC,SAAW,IAAIC,GAAG,CAAC,OAASZ,EAAIa,eAAeC,MAAM,CAAC1D,MAAO4C,EAAIe,OAAmB,aAAEC,SAAS,SAAUC,GAAMjB,EAAIkB,KAAKlB,EAAIe,OAAQ,eAAgBE,IAAMV,WAAW,wBAAwB,CAACJ,EAAG,YAAY,CAACQ,MAAM,CAAC,MAAQ,gBAAgB,MAAQ,MAAMR,EAAG,YAAY,CAACQ,MAAM,CAAC,MAAQ,QAAQ,MAAQ,WAAWR,EAAG,YAAY,CAACQ,MAAM,CAAC,MAAQ,SAAS,MAAQ,aAAa,GAAGR,EAAG,OAAO,CAACK,YAAY,aAAa,CAACR,EAAIU,GAAG,gBAAgBP,EAAG,iBAAiB,CAACK,YAAY,QAAQc,YAAY,CAAC,YAAY,SAASX,MAAM,CAAC,OAAS,SAAS,eAAe,UAAUC,GAAG,CAAC,OAASZ,EAAIa,eAAeC,MAAM,CAAC1D,MAAO4C,EAAIe,OAAY,MAAEC,SAAS,SAAUC,GAAMjB,EAAIkB,KAAKlB,EAAIe,OAAQ,QAASE,IAAMV,WAAW,kBAAkBP,EAAIU,GAAG,OAAOP,EAAG,iBAAiB,CAACK,YAAY,QAAQc,YAAY,CAAC,YAAY,SAASX,MAAM,CAAC,OAAS,SAAS,eAAe,UAAUC,GAAG,CAAC,OAASZ,EAAIa,eAAeC,MAAM,CAAC1D,MAAO4C,EAAIe,OAAU,IAAEC,SAAS,SAAUC,GAAMjB,EAAIkB,KAAKlB,EAAIe,OAAQ,MAAOE,IAAMV,WAAW,gBAAgBJ,EAAG,cAAc,CAACK,YAAY,YAAYI,GAAG,CAAC,OAASZ,EAAIuB,YAAYT,MAAM,CAAC1D,MAAO4C,EAAIe,OAAiB,WAAEC,SAAS,SAAUC,GAAMjB,EAAIkB,KAAKlB,EAAIe,OAAQ,aAAcE,IAAMV,WAAW,sBAAsB,CAACP,EAAIU,GAAG,8BAA8B,GAAGP,EAAG,QAAQ,CAACK,YAAY,uCAAuCc,YAAY,CAAC,kBAAkB,WAAW,MAAQ,QAAQ,CAACtB,EAAIS,GAAG,GAAGN,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACK,YAAY,OAAO,CAACL,EAAG,cAAc,CAACQ,MAAM,CAAC,cAAa,EAAK,eAAeX,EAAI7B,OAAO/C,WAAW,GAAG+E,EAAG,KAAK,CAACK,YAAY,OAAO,CAACL,EAAG,cAAc,CAACQ,MAAM,CAAC,eAAeX,EAAIwB,QAAQC,aAAa,GAAGtB,EAAG,KAAK,CAACK,YAAY,OAAO,CAACL,EAAG,cAAc,CAACQ,MAAM,CAAC,eAAeX,EAAIwB,QAAQE,eAAe,GAAGvB,EAAG,KAAK,CAACK,YAAY,OAAO,CAACL,EAAG,cAAc,CAACQ,MAAM,CAAC,eAAeX,EAAIwB,QAAQC,SAAWzB,EAAIwB,QAAQE,eAAe,SAASvB,EAAG,QAAQ,CAACK,YAAY,mCAAmCc,YAAY,CAAC,kBAAkB,aAAa,CAACnB,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACK,YAAY,kCAAkC,CAACL,EAAG,KAAK,CAACK,YAAY,MAAMc,YAAY,CAAC,YAAY,SAAS,CAACtB,EAAIU,GAAG,SAASP,EAAG,cAAc,CAACQ,MAAM,CAAC,OAAS,YAAY,YAAY,OAAO,cAAcX,EAAI7B,WAAW,GAAGgC,EAAG,KAAK,CAACK,YAAY,MAAMc,YAAY,CAAC,YAAY,UAAU,CAACtB,EAAIU,GAAG,YAAYP,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,aAAaP,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,sBAAsBP,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,cAAcV,EAAIS,GAAG,GAAGN,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,cAAcP,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,YAAYP,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,gBAAgBP,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,cAAcV,EAAIS,GAAG,GAAGT,EAAIS,GAAG,GAAGT,EAAIS,GAAG,GAAGN,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,mBAAmBP,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,iBAAiBP,EAAG,QAAQH,EAAImB,GAAInB,EAAU,QAAE,SAAS2B,EAAMjE,GAAO,OAAOyC,EAAG,KAAK,CAACkB,IAAI3D,GAAO,CAACyC,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAI4B,GAAGD,EAAME,cAAc1B,EAAG,KAAK,CAACA,EAAG,aAAa,CAACQ,MAAM,CAAC,SAAWgB,EAAMG,SAAS,WAAWH,EAAMI,eAAe,GAAG5B,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAI4B,GAAGD,EAAMK,cAAc7B,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAI4B,GAAGD,EAAMM,YAAY9B,EAAG,KAAK,CAACA,EAAG,cAAc,CAACQ,MAAM,CAAC,cAAa,EAAK,eAAegB,EAAMO,aAAa,GAAG/B,EAAG,KAAK,CAACA,EAAG,cAAc,CAACQ,MAAM,CAAC,eAAegB,EAAMQ,eAAe,GAAGhC,EAAG,KAAK,CAAqB,WAAlBwB,EAAMS,QAAuBjC,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAI4B,GAAG5B,EAAIqC,GAAG,OAASV,EAAMW,WAAWtC,EAAIuC,OAAOpC,EAAG,KAAK,CAAqB,WAAlBwB,EAAMS,QAAuBjC,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAI4B,GAAGD,EAAMa,WAAWxC,EAAIuC,OAAOpC,EAAG,KAAK,CAAqB,WAAlBwB,EAAMS,QAAuBjC,EAAG,MAAM,CAACH,EAAIU,GAAGV,EAAI4B,GAAGD,EAAMc,WAAWzC,EAAIuC,OAAOpC,EAAG,KAAK,CAACH,EAAIU,GAAGV,EAAI4B,GAAGD,EAAMG,aAAa3B,EAAG,KAAK,CAAqB,UAAlBwB,EAAMS,QAAsBjC,EAAG,MAAM,CAACA,EAAG,cAAc,CAACQ,MAAM,CAAC,eAAgBgB,EAAMQ,WAAaR,EAAMO,UAAWP,EAAMe,KAAO,SAAW,GAAuB,WAAlBf,EAAMS,QAAuBjC,EAAG,MAAM,CAACA,EAAG,cAAc,CAACQ,MAAM,CAAC,eAAgBgB,EAAMQ,WAAaR,EAAMO,SAAWP,EAAMgB,YAAahB,EAAMe,KAAO,SAAW,GAAG1C,EAAIuC,OAAOpC,EAAG,KAAK,CAACA,EAAG,cAAc,CAACQ,MAAM,CAAC,eAAeiC,KAAKC,IAAIlB,EAAMmB,cAAcnB,EAAMe,KAAO,UAAY,GAAGvC,EAAG,KAAK,CAAqB,UAAlBwB,EAAMS,QAAsBjC,EAAG,MAAM,CAACA,EAAG,cAAc,CAACQ,MAAM,CAAC,gBAAgBgB,EAAMQ,WAAaR,EAAMO,SAAWP,EAAMmB,eAAenB,EAAMe,KAAO,SAAW,GAAuB,WAAlBf,EAAMS,QAAuBjC,EAAG,MAAM,CAACA,EAAG,cAAc,CAACQ,MAAM,CAAC,gBAAgBgB,EAAMQ,WAAaR,EAAMO,SAAWP,EAAMgB,WAAahB,EAAMmB,eAAenB,EAAMe,KAAO,SAAW,GAAG1C,EAAIuC,OAAOpC,EAAG,KAAK,CAACA,EAAG,cAAc,CAACQ,MAAM,CAAC,eAAegB,EAAMe,KAAO,QAAU,GAAGvC,EAAG,KAAK,CAAEwB,EAAiB,YAAExB,EAAG,MAAM,CAACH,EAAIU,GAAG,eAAgBiB,EAAW,MAAExB,EAAG,MAAM,CAACH,EAAIU,GAAG,aAAaV,EAAIuC,YAAW,QAC1pKQ,EAAkB,CAAC,WAAa,IAAI/C,EAAI9E,KAAS+E,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACK,YAAY,aAAa,CAACL,EAAG,KAAK,CAACH,EAAIU,GAAG,qBAAqB,WAAa,IAAIV,EAAI9E,KAAS+E,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACK,YAAY,sBAAsB,CAACL,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,iBAAiBP,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,2BAA2BP,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,6BAA6BP,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,gCAAgC,WAAa,IAAIV,EAAI9E,KAAS+E,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,mBAAmBP,EAAG,MAAMH,EAAIU,GAAG,cAAc,WAAa,IAAIV,EAAI9E,KAAS+E,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,gBAAgBP,EAAG,MAAMH,EAAIU,GAAG,YAAY,WAAa,IAAIV,EAAI9E,KAAS+E,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,iBAAiBP,EAAG,MAAMH,EAAIU,GAAG,YAAY,WAAa,IAAIV,EAAI9E,KAAS+E,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,KAAK,CAACK,YAAY,OAAO,CAACR,EAAIU,GAAG,qBAAqBP,EAAG,MAAMH,EAAIU,GAAG,a,gQCwI9rCsC,EAA0B,GAIT,EAArB,yG,0BACE,EAAA7E,OAAsB,GACtB,EAAAE,QAAU,IAAI4E,IACd,EAAAC,SAAU,EACV,EAAAnC,OAAiH,CAC/GoC,gBAAiB,IAAIhH,MACrBmC,MAAO,KACPC,IAAK,KACLE,YAAY,EACZD,aAAc,IAGhB,EAAAgD,QAAmE,CAAE4B,MAAO,KAAM3B,SAAU,KAAMC,WAAY,MAZhH,uNAeUxG,KAAKmI,UAAS,GAfxB,mMAkBkBxF,GAlBlB,6GAmBI3C,KAAKgI,SAAU,EAnBnB,SAoBuBI,EAAA,KAAc3F,UAAU,KAAME,GAAa,GApBlE,UAoBU0F,EApBV,OAqBIrI,KAAKgI,SAAU,GACXK,EAAKC,MAtBb,gCAuBYtI,KAAKuI,OAAOF,EAAKC,OAvB7B,wCA0BIR,EAAaO,EAAK1D,OACZ6D,EAAM,GA3BhB,iBA4BuBH,EAAK1D,QA5B5B,IA4BI,2BAAW8D,EAAqB,QAC1BA,EAAK5B,YACP2B,EAAIE,KAAKC,EAAA,KAAQC,iBAAiBH,EAAK5B,WAAY4B,EAAK7B,WA9BhE,WAAAiC,EAAA,wBAiCIF,EAAA,KAAQG,QAAQN,GAChBG,EAAA,KAAQI,oBAAoBP,GAC5BA,EAAIrJ,SAAQ,SAAA6J,GAAC,OAAI,EAAK7F,QAAQ8F,IAAID,MAClChJ,KAAKiD,OAAS0F,EAAA,KAAQO,iBAAiBpB,GApC3C,UAqCU9H,KAAKmJ,OArCf,qTAyCU/F,EAAQuF,EAAA,KAAQS,UAAUpJ,KAAK6F,OAAOzC,OACtCC,EAAMsF,EAAA,KAAQS,UAAUpJ,KAAK6F,OAAOxC,KACtC5C,EAASqH,EAAWrH,QAAO,SAAAuI,GAAC,OAA2C,IAAvC,EAAKnD,OAAOoC,gBAAgB/H,QAAgB,EAAK2F,OAAOoC,gBAAgBpH,MAAK,SAAAwI,GAAC,OAAIV,EAAA,KAAQW,YAAYD,EAAGL,EAAEnC,WAAYmC,EAAEpC,gBAC7JnG,EAASA,EAAOA,QAAO,SAAAuI,GAAC,OAAa,MAAT5F,GAAiBuF,EAAA,KAAQS,UAAUJ,EAAErC,YAAcvD,KAC/E3C,EAASA,EAAOA,QAAO,SAAAuI,GAAC,OAAW,MAAP3F,GAAesF,EAAA,KAAQS,UAAUJ,EAAErC,YAActD,KAC7E5C,EAASA,EAAOA,QAAO,SAAAuI,GAAC,OAAwC,IAApC,EAAKnD,OAAOvC,aAAapD,QAAgB,EAAK2F,OAAOvC,aAAaiG,QAAQP,EAAE9B,UAAY,KACpHlH,KAAKiD,OAAS0F,EAAA,KAAQO,iBAAiBzI,GA/C3C,SAgDUT,KAAKmJ,OAhDf,wSAoDUnJ,KAAKmJ,OApDf,wSAwDuBf,EAAA,KAAclF,cAAclD,KAAK6F,OAAOoC,gBAAiBjI,KAAK6F,OAAOzC,MAAOpD,KAAK6F,OAAOxC,IAAKrD,KAAK6F,OAAOvC,aAActD,KAAK6F,OAAOtC,YAxD1J,UAwDU8E,EAxDV,QAyDQA,EAAKC,MAzDb,gCA0DYtI,KAAKuI,OAAOF,EAAKC,OA1D7B,wCA6DItI,KAAKsG,QAAU,CACbC,SAAU8B,EAAK1D,OAAO6E,MAAMC,MAAMlD,SAAW8B,EAAK1D,OAAO+E,OAAOD,MAAMlD,SACtEC,WAAY6B,EAAK1D,OAAO6E,MAAMC,MAAMjD,WAAa6B,EAAK1D,OAAO+E,OAAOD,MAAMjD,WAC1E0B,MAAOG,EAAK1D,OAAO6E,MAAMC,MAAMvB,MAAQG,EAAK1D,OAAO+E,OAAOD,MAAMvB,OAhEtE,2IAqEIJ,EAAa,OArEjB,GAAoC,QAAf,EAAM,gBAH1B,eAAU,CACT6B,WAAY,CAAEC,aAAA,SAEK,WC7I+X,I,YCOhZC,EAAY,eACd,EACAhF,EACAgD,GACA,EACA,KACA,KACA,MAIa,aAAAgC,E,2CClBf,IAAIhF,EAAS,WAAa,IAAIC,EAAI9E,KAAS+E,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAA0B,MAAxBH,EAAIgF,iBAA0B7E,EAAG,IAAI,CAACK,YAAY,0BAA0BI,GAAG,CAAC,MAAQ,SAASqE,GAAQ,OAAOjF,EAAIkF,UAAU,WAAqC,QAAzBlF,EAAIgF,iBAA6B7E,EAAG,IAAI,CAACK,YAAY,4BAA4BI,GAAG,CAAC,MAAQ,SAASqE,GAAQ,OAAOjF,EAAIkF,UAAU,YAAY/E,EAAG,IAAI,CAACK,YAAY,+BAA+BI,GAAG,CAAC,MAAQ,SAASqE,GAAQ,OAAOjF,EAAIkF,UAAU,cACtenC,EAAkB,G,gGCWD,EAArB,yG,0BACE,EAAAxD,KAAO,aACP,EAAAyF,iBAAmC,KAFrC,2DAQqBG,GAAyB,WAC1CjK,KAAK8J,iBAAmBG,EACxB,IAAMC,EAAO,SAACC,EAAQC,GACpB,IAAMC,EAAkB,QAAdJ,EAAsB,GAAK,EAC/BK,EAAO,EAAKC,SAASJ,GACrBK,EAAQ,EAAKD,SAASH,GAC5B,OAAIE,IAASE,EAAc,EACpBF,EAAOE,EAAQH,GAAS,EAALA,GAE5BrK,KAAKyK,WAAWP,KAAKA,KAjBzB,+BAoBoBC,GAChB,MAAsB,SAAlBnK,KAAK0K,SACA/B,EAAA,KAAQS,UAAUe,EAAEnK,KAAK2K,SAE3BR,EAAEnK,KAAK2K,YAxBlB,GAAwC,QAI9B,gBAAP,kB,6BACO,gBAAP,kB,+BACO,gBAAP,kB,iCANkB,EAAU,gBAD9B,QACoB,WCZgX,I,YCOjYd,EAAY,eACd,EACAhF,EACAgD,GACA,EACA,KACA,KACA,MAIa,OAAAgC,E","file":"js/chunk-351387fd.js","sourcesContent":["// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n}\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = (!STRICT_METHOD || !USES_TO_LENGTH) ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n} : [].forEach;\n","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\nvar USES_TO_LENGTH = arrayMethodUsesToLength(FIND);\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES || !USES_TO_LENGTH }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","import {\r\n ApiResult\r\n} from '@/services/data'\r\nimport ServiceBase from '@/services/serviceBase'\r\nimport utility from '@/common/utility'\r\n\r\nexport interface FlexTrade {\r\n SymbolName: string;\r\n LocalSymbol: string;\r\n AccountId: string;\r\n SecType: string;\r\n TradeDate: string;\r\n Quantity: number;\r\n TradePrice: number;\r\n IbCommission: number;\r\n Strike: string;\r\n Right: string;\r\n Expiry: string;\r\n BuySell: string;\r\n Currency: string;\r\n Rate: number;\r\n LastUpdated: string;\r\n Multiplier: number;\r\n IsExercised: boolean;\r\n IsExp: boolean;\r\n}\r\n\r\nexport interface FlexDividend {\r\n SymbolName: string;\r\n AccountId: string;\r\n SettleDate: string;\r\n Amount: number;\r\n Currency: string;\r\n Rate: number;\r\n LastUpdated: string;\r\n}\r\n\r\nexport interface BaseDayProfit {\r\n TotalRealized?: number;\r\n Day: string;\r\n Realized: number;\r\n Unrealized: number;\r\n Dividend?: number;\r\n RealizedDesc?: string;\r\n UnrealizedDesc?: string;\r\n}\r\n\r\nexport interface ProfitCalc {\r\n Total: { Count: number; Realized: number; Unrealized: number };\r\n Profits: SymbolProfit[];\r\n}\r\n\r\nexport interface SymbolProfit {\r\n Symbol: string;\r\n DayProfit: BaseDayProfit[];\r\n}\r\n\r\nexport interface DayProfitResult {\r\n Option: ProfitCalc;\r\n Stock: ProfitCalc;\r\n Dividend: FlexDividend[];\r\n}\r\n\r\nexport default {\r\n async getTrades (type: string, forceUpdate: boolean, calcExercised = false): Promise> {\r\n const trades = await ServiceBase.tryPostResult('/Report/GetTrades', {\r\n ContractType: [type],\r\n ForceUpdate: forceUpdate,\r\n CalcExercised: calcExercised\r\n })\r\n return trades\r\n },\r\n async getDayProfits (symbols: string[], start: string, end: string, contractType?: string[], includeFee?: boolean): Promise> {\r\n const trades = await ServiceBase.tryPostResult('/Report/GetDayProfits', {\r\n Symbol: utility.parseSymbols(symbols),\r\n Start: start,\r\n End: end,\r\n ContractType: contractType,\r\n IncludeFee: includeFee\r\n })\r\n return trades\r\n },\r\n async getSingleDayProfits (day: string, contractType: string): Promise> {\r\n const trades = await ServiceBase.tryPostResult('/Report/getDayTradeDetail', {\r\n Day: day,\r\n ContractType: contractType\r\n })\r\n return trades\r\n },\r\n async uploadExcel (file: File, excelType: string) {\r\n return await ServiceBase.tryUploadResult('/Report/UploadExcel', {\r\n file: file,\r\n excelType: excelType\r\n })\r\n },\r\n async downloadSample (name: string) {\r\n return await ServiceBase.tryDownload('/Report/downloadSample', {\r\n Name: name\r\n })\r\n },\r\n async download (type: string) {\r\n return await ServiceBase.tryDownload('/Report/download', {\r\n ContractType: [type]\r\n })\r\n },\r\n async getLastSyncDate () {\r\n const desc = await ServiceBase.tryPostResult('/Report/getLastSyncDate')\r\n return desc.Result\r\n },\r\n async getDividends (forceUpdate: boolean): Promise> {\r\n const trades = await ServiceBase.tryPostResult('/Report/GetDividends', {\r\n ForceUpdate: forceUpdate\r\n })\r\n return trades\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"m-auto\"},[_vm._m(0),_c('div',[_c('span',{staticClass:\"mr-2\"},[_vm._v(\"Symbol\")]),_c('el-select',{attrs:{\"multiple\":\"\"},on:{\"change\":_vm.filterSymbols},model:{value:(_vm.search.selectedSymbols),callback:function ($$v) {_vm.$set(_vm.search, \"selectedSymbols\", $$v)},expression:\"search.selectedSymbols\"}},_vm._l((_vm.symbols),function(s){return _c('el-option',{key:s,attrs:{\"label\":s,\"value\":s}})}),1),_c('span',{staticClass:\"ml-2 mr-2\"},[_vm._v(\"Sec type\")]),_c('el-select',{staticClass:\"wd-200\",attrs:{\"multiple\":\"\"},on:{\"change\":_vm.filterSymbols},model:{value:(_vm.search.contractType),callback:function ($$v) {_vm.$set(_vm.search, \"contractType\", $$v)},expression:\"search.contractType\"}},[_c('el-option',{attrs:{\"label\":\"Please select\",\"value\":\"\"}}),_c('el-option',{attrs:{\"label\":\"Stock\",\"value\":\"Stock\"}}),_c('el-option',{attrs:{\"label\":\"Option\",\"value\":\"Option\"}})],1),_c('span',{staticClass:\"ml-2 mr-2\"},[_vm._v(\"Date Range\")]),_c('el-date-picker',{staticClass:\"w-100\",staticStyle:{\"max-width\":\"150px\"},attrs:{\"format\":\"M/d/yy\",\"value-format\":\"M/d/yy\"},on:{\"change\":_vm.filterSymbols},model:{value:(_vm.search.start),callback:function ($$v) {_vm.$set(_vm.search, \"start\", $$v)},expression:\"search.start\"}}),_vm._v(\" ~ \"),_c('el-date-picker',{staticClass:\"w-100\",staticStyle:{\"max-width\":\"150px\"},attrs:{\"format\":\"M/d/yy\",\"value-format\":\"M/d/yy\"},on:{\"change\":_vm.filterSymbols},model:{value:(_vm.search.end),callback:function ($$v) {_vm.$set(_vm.search, \"end\", $$v)},expression:\"search.end\"}}),_c('el-checkbox',{staticClass:\"ml-2 mr-2\",on:{\"change\":_vm.feeChanged},model:{value:(_vm.search.includeFee),callback:function ($$v) {_vm.$set(_vm.search, \"includeFee\", $$v)},expression:\"search.includeFee\"}},[_vm._v(\"Include Brokerage Fee? \")])],1),_c('table',{staticClass:\"table-bordered mt-3 mb-3 text-center\",staticStyle:{\"border-collapse\":\"collapse\",\"width\":\"60%\"}},[_vm._m(1),_c('tbody',[_c('tr',[_c('td',{staticClass:\"p-1\"},[_c('number-text',{attrs:{\"is-integer\":true,\"number-value\":_vm.trades.length}})],1),_c('td',{staticClass:\"p-1\"},[_c('number-text',{attrs:{\"number-value\":_vm.profits.Realized}})],1),_c('td',{staticClass:\"p-1\"},[_c('number-text',{attrs:{\"number-value\":_vm.profits.Unrealized}})],1),_c('td',{staticClass:\"p-1\"},[_c('number-text',{attrs:{\"number-value\":_vm.profits.Realized + _vm.profits.Unrealized}})],1)])])]),_c('table',{staticClass:\"w-100 table-bordered text-center\",staticStyle:{\"border-collapse\":\"collapse\"}},[_c('thead',[_c('tr',{staticClass:\"text-center bg-dark text-white\"},[_c('td',{staticClass:\"p-1\",staticStyle:{\"min-width\":\"80px\"}},[_vm._v(\"Date \"),_c('sort-header',{attrs:{\"column\":\"TradeDate\",\"data-type\":\"date\",\"sort-target\":_vm.trades}})],1),_c('td',{staticClass:\"p-1\",staticStyle:{\"min-width\":\"100px\"}},[_vm._v(\"Symbol\")]),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Account\")]),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Transaction Type\")]),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Quantity\")]),_vm._m(2),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Call/Put\")]),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Strike\")]),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Expiration\")]),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Currency\")]),_vm._m(3),_vm._m(4),_vm._m(5),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Exchange Rate\")]),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Comment\")])])]),_c('tbody',_vm._l((_vm.trades),function(trade,index){return _c('tr',{key:index},[_c('td',[_vm._v(_vm._s(trade.TradeDate))]),_c('td',[_c('stock-name',{attrs:{\"currency\":trade.Currency,\"stk-name\":trade.SymbolName}})],1),_c('td',[_vm._v(_vm._s(trade.AccountId))]),_c('td',[_vm._v(_vm._s(trade.BuySell))]),_c('td',[_c('number-text',{attrs:{\"is-integer\":true,\"number-value\":trade.Quantity}})],1),_c('td',[_c('number-text',{attrs:{\"number-value\":trade.TradePrice}})],1),_c('td',[( trade.SecType === 'Option' )?_c('div',[_vm._v(_vm._s(_vm.$t('Opt.' + trade.Right)))]):_vm._e()]),_c('td',[( trade.SecType === 'Option' )?_c('div',[_vm._v(_vm._s(trade.Strike))]):_vm._e()]),_c('td',[( trade.SecType === 'Option' )?_c('div',[_vm._v(_vm._s(trade.Expiry))]):_vm._e()]),_c('td',[_vm._v(_vm._s(trade.Currency))]),_c('td',[( trade.SecType === 'Stock' )?_c('div',[_c('number-text',{attrs:{\"number-value\":(trade.TradePrice * trade.Quantity)/(trade.Rate / 100.0)}})],1):( trade.SecType === 'Option' )?_c('div',[_c('number-text',{attrs:{\"number-value\":(trade.TradePrice * trade.Quantity * trade.Multiplier)/(trade.Rate / 100.0)}})],1):_vm._e()]),_c('td',[_c('number-text',{attrs:{\"number-value\":Math.abs(trade.IbCommission/(trade.Rate / 100.0))}})],1),_c('td',[( trade.SecType === 'Stock' )?_c('div',[_c('number-text',{attrs:{\"number-value\":(trade.TradePrice * trade.Quantity + trade.IbCommission)/(trade.Rate / 100.0)}})],1):( trade.SecType === 'Option' )?_c('div',[_c('number-text',{attrs:{\"number-value\":(trade.TradePrice * trade.Quantity * trade.Multiplier + trade.IbCommission)/(trade.Rate / 100.0)}})],1):_vm._e()]),_c('td',[_c('number-text',{attrs:{\"number-value\":trade.Rate / 100.0}})],1),_c('td',[(trade.IsExercised)?_c('div',[_vm._v(\"Exercised\")]):(trade.IsExp)?_c('div',[_vm._v(\"Expired\")]):_vm._e()])])}),0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-left\"},[_c('h2',[_vm._v(\"P&L By Stock\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',{staticClass:\"bg-dark text-white\"},[_c('td',{staticClass:\"p-1\"},[_vm._v(\"# of Trades\")]),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Realized Profit(Loss)\")]),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Unrealized Profit(Loss)\")]),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Total Profit / (Loss)\")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"p-1\"},[_vm._v(\"Execution Price\"),_c('br'),_vm._v(\"(Local)\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"p-1\"},[_vm._v(\"Trade Amount\"),_c('br'),_vm._v(\"(US$)\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"p-1\"},[_vm._v(\"Brokerage Fee\"),_c('br'),_vm._v(\"(US$)\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('td',{staticClass:\"p-1\"},[_vm._v(\"Settlement Amount\"),_c('br'),_vm._v(\"(US$)\")])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Vue, Component } from 'vue-property-decorator'\r\nimport reportService, { FlexTrade } from '@/services/reportService'\r\nimport utility from '@/common/utility'\r\nimport { Sort } from '@/services/data'\r\nimport SortHeader from '@/components/SortHeader.vue'\r\n\r\nlet pageTrades: FlexTrade[] = []\r\n@Component({\r\n components: { SortHeader }\r\n})\r\nexport default class Trades extends Vue {\r\n trades: FlexTrade[] = []\r\n symbols = new Set()\r\n loading = false\r\n search: { selectedSymbols: string[]; start: string; end: string; includeFee: boolean; contractType: string[] } = {\r\n selectedSymbols: new Array(),\r\n start: null,\r\n end: null,\r\n includeFee: false,\r\n contractType: []\r\n }\r\n\r\n profits: { Count: number; Realized: number; Unrealized: number } = { Count: null, Realized: null, Unrealized: null }\r\n\r\n async mounted () {\r\n await this.loadData(false)\r\n }\r\n\r\n async loadData (forceUpdate: boolean) {\r\n this.loading = true\r\n const data = await reportService.getTrades(null, forceUpdate, true)\r\n this.loading = false\r\n if (data.Error) {\r\n await this.$alert(data.Error)\r\n return\r\n }\r\n pageTrades = data.Result\r\n const arr = []\r\n for (const item of data.Result) {\r\n if (item.SymbolName) {\r\n arr.push(utility.getSymbolDisplay(item.SymbolName, item.Currency))\r\n }\r\n }\r\n utility.sortArr(arr)\r\n utility.freezeArrayAndItems(arr)\r\n arr.forEach(p => this.symbols.add(p))\r\n this.trades = utility.freezeArrayItems(pageTrades)\r\n await this.calc()\r\n }\r\n\r\n private async filterSymbols () {\r\n const start = utility.parseDate(this.search.start)\r\n const end = utility.parseDate(this.search.end)\r\n let filter = pageTrades.filter(p => this.search.selectedSymbols.length === 0 || this.search.selectedSymbols.find(q => utility.iSameSymbol(q, p.SymbolName, p.Currency)))\r\n filter = filter.filter(p => start == null || utility.parseDate(p.TradeDate) >= start)\r\n filter = filter.filter(p => end == null || utility.parseDate(p.TradeDate) <= end)\r\n filter = filter.filter(p => this.search.contractType.length === 0 || this.search.contractType.indexOf(p.SecType) >= 0)\r\n this.trades = utility.freezeArrayItems(filter)\r\n await this.calc()\r\n }\r\n\r\n async feeChanged () {\r\n await this.calc()\r\n }\r\n\r\n async calc () {\r\n const data = await reportService.getDayProfits(this.search.selectedSymbols, this.search.start, this.search.end, this.search.contractType, this.search.includeFee)\r\n if (data.Error) {\r\n await this.$alert(data.Error)\r\n return\r\n }\r\n this.profits = {\r\n Realized: data.Result.Stock.Total.Realized + data.Result.Option.Total.Realized,\r\n Unrealized: data.Result.Stock.Total.Unrealized + data.Result.Option.Total.Unrealized,\r\n Count: data.Result.Stock.Total.Count + data.Result.Option.Total.Count\r\n }\r\n }\r\n\r\n destroyed () {\r\n pageTrades = []\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StockPL.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StockPL.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StockPL.vue?vue&type=template&id=2867cd3d&\"\nimport script from \"./StockPL.vue?vue&type=script&lang=ts&\"\nexport * from \"./StockPL.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[(_vm.currentDirection == null)?_c('i',{staticClass:\"el-icon-d-caret pointer\",on:{\"click\":function($event){return _vm.sortItems('Asc')}}}):(_vm.currentDirection === 'Asc' )?_c('i',{staticClass:\"el-icon-caret-top pointer\",on:{\"click\":function($event){return _vm.sortItems('Desc')}}}):_c('i',{staticClass:\"el-icon-caret-bottom pointer\",on:{\"click\":function($event){return _vm.sortItems('Asc')}}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator'\r\nimport utility from '@/common/utility'\r\n\r\n@Component\r\nexport default class SortHeader extends Vue {\r\n name = 'SortHeader'\r\n currentDirection: 'Asc' | 'Desc' = null\r\n\r\n @Prop() column: string\r\n @Prop() dataType: 'date' | 'number'\r\n @Prop() sortTarget: any[]\r\n\r\n private sortItems (direction: 'Asc' | 'Desc') {\r\n this.currentDirection = direction\r\n const sort = (a: any, b: any): number => {\r\n const v = direction === 'Asc' ? 1 : -1\r\n const left = this.getByKey(a)\r\n const right = this.getByKey(b)\r\n if (left === right) return 0\r\n return left > right ? v : v * -1\r\n }\r\n this.sortTarget.sort(sort)\r\n }\r\n\r\n private getByKey (a: any): any {\r\n if (this.dataType === 'date') {\r\n return utility.parseDate(a[this.column])\r\n }\r\n return a[this.column]\r\n }\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SortHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SortHeader.vue?vue&type=template&id=7ba50d31&\"\nimport script from \"./SortHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./SortHeader.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}