{"version":3,"sources":["webpack:///./src/views/Report/UpDownBar.vue?f31c","webpack:///./src/views/Report/UpDownBar.vue","webpack:///./src/views/Report/UpDownBar.vue?fa1d","webpack:///./src/views/Report/UpDownBar.vue?c455","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./src/components/search-filter.vue?2153","webpack:///./src/components/search-filter.vue","webpack:///./src/components/search-filter.vue?3295","webpack:///./src/components/search-filter.vue?b5ff","webpack:///./node_modules/core-js/modules/es.array.every.js","webpack:///./src/services/reportService.ts","webpack:///./src/components/SortHeader.vue?281b","webpack:///./src/components/SortHeader.vue","webpack:///./src/components/SortHeader.vue?7d35","webpack:///./src/components/SortHeader.vue?0045","webpack:///./src/views/Report/StockTrades.vue?99fa","webpack:///./src/views/Report/StockTrades.vue","webpack:///./src/views/Report/StockTrades.vue?adb6","webpack:///./src/views/Report/StockTrades.vue?3fa2"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","on","refresh","_v","downloadSample","uploadExcel","download","staticRenderFns","name","$emit","option","file","reportService","res","Result","$alert","Error","downType","blob","utility","sampleFile","downFile","component","$","$filter","filter","arrayMethodHasSpeciesSupport","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","target","proto","forced","callbackfn","arguments","length","undefined","$find","find","addToUnscopables","FIND","SKIPS_HOLES","Array","$event","sort","model","value","callback","$$v","searchText","expression","staticStyle","selectAllChanged","selectedAll","_s","_l","item","index","key","indexOf","itemSelectChanged","$set","_e","displayItems","listItems","p","map","selected","direction","v","every","$every","arrayMethodIsStrict","STRICT_METHOD","getTrades","type","forceUpdate","calcExercised","tryPostResult","ContractType","ForceUpdate","CalcExercised","trades","getDayProfits","symbols","start","end","contractType","includeFee","Symbol","parseSymbols","Start","End","IncludeFee","getSingleDayProfits","day","Day","excelType","tryUploadResult","tryDownload","Name","getLastSyncDate","desc","getDividends","currentDirection","sortItems","a","b","left","getByKey","right","sortTarget","dataType","parseDate","column","directives","rawName","lastSyncDate","selectedSymbols","sortSymbol","filterSymbols","slot","_m","trade","TradeDate","Currency","SymbolName","AccountId","BuySell","Quantity","TradePrice","Rate","Math","abs","IbCommission","LastUpdated","pageTrades","isLoading","loadData","force","data","getDistinct","getSymbolDisplay","freezeArrayItems","sortByFiled","q","iSameSymbol","components","SearchFilter","SortHeader","UpDownBar"],"mappings":"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","file":"js/chunk-148f0b5a.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-right mb-2 d-flex flex-row-reverse\"},[_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"primary\"},on:{\"click\":_vm.refresh}},[_vm._v(\"Refresh\")]),_c('el-button',{staticClass:\"mr-2\",attrs:{\"size\":\"mini\",\"type\":\"info\"},on:{\"click\":_vm.downloadSample}},[_vm._v(\"Template\")]),_c('el-upload',{attrs:{\"action\":\"\",\"accept\":\".xlsx,.xls,.csv\",\"show-file-list\":false,\"http-request\":_vm.uploadExcel}},[_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"primary\"}},[_vm._v(\"Upload\")])],1),_c('el-button',{staticClass:\"mr-2\",attrs:{\"size\":\"mini\",\"type\":\"success\"},on:{\"click\":_vm.download}},[_vm._v(\"Download\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator'\r\nimport reportService from '@/services/reportService'\r\nimport utility from '@/common/utility'\r\n\r\n@Component\r\nexport default class UpDownBar extends Vue {\r\n name = 'UpDownBar'\r\n @Prop() sampleFile: string\r\n @Prop() downFile: string\r\n @Prop() downType: 'stock' | 'option'\r\n\r\n refresh () {\r\n this.$emit('refresh', true)\r\n }\r\n\r\n async uploadExcel (option: { file: File }) {\r\n if (option.file != null) {\r\n const res = await reportService.uploadExcel(option.file, 'option')\r\n if (res.Result) {\r\n this.$emit('refresh', false)\r\n } else {\r\n await this.$alert(res.Error)\r\n }\r\n }\r\n }\r\n\r\n async downloadSample () {\r\n try {\r\n const blob = await reportService.downloadSample(this.downType)\r\n utility.download(this.sampleFile, blob, 'application/octet-stream')\r\n } catch (e) {\r\n await this.$alert(e)\r\n }\r\n }\r\n\r\n async download () {\r\n try {\r\n const blob = await reportService.download(this.downType)\r\n utility.download(this.downFile, blob, 'text/csv')\r\n } catch (e) {\r\n await this.$alert(e)\r\n }\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!./UpDownBar.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!./UpDownBar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UpDownBar.vue?vue&type=template&id=48bfed41&\"\nimport script from \"./UpDownBar.vue?vue&type=script&lang=ts&\"\nexport * from \"./UpDownBar.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","'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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wd-150\"},[_c('div',{staticClass:\"bg-white\"},[_c('button',{staticClass:\"d-block mb-1\",on:{\"click\":function($event){return _vm.sort('Asc')}}},[_vm._v(\"A to Z\")]),_c('button',{staticClass:\"d-block mb-1\",on:{\"click\":function($event){return _vm.sort('Desc')}}},[_vm._v(\"Z to A\")]),_c('el-input',{staticClass:\"w-100\",attrs:{\"size\":\"mini\",\"placeholder\":\"Search\"},model:{value:(_vm.searchText),callback:function ($$v) {_vm.searchText=$$v},expression:\"searchText\"}}),_c('div',{staticClass:\"custom-bar mt-1\",staticStyle:{\"max-height\":\"200px\",\"overflow-y\":\"auto\"}},[_c('label',{staticClass:\"p-2\"},[_c('el-checkbox',{staticClass:\"mr-2\",on:{\"change\":_vm.selectAllChanged},model:{value:(_vm.selectedAll),callback:function ($$v) {_vm.selectedAll=$$v},expression:\"selectedAll\"}}),_vm._v(\" \"+_vm._s(_vm.selectedAll ? 'Unselect All' : 'Select All'))],1),_vm._l((_vm.displayItems),function(item,index){return _c('div',{key:index,staticClass:\"pl-2\"},[(!_vm.searchText || item.item.indexOf(_vm.searchText)>=0)?_c('label',[_c('el-checkbox',{staticClass:\"mr-2\",on:{\"change\":_vm.itemSelectChanged},model:{value:(item.selected),callback:function ($$v) {_vm.$set(item, \"selected\", $$v)},expression:\"item.selected\"}}),_vm._v(\" \"+_vm._s(item.item))],1):_vm._e()])})],2)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator'\r\n\r\nexport interface SelectItem {\r\n item: string;\r\n selected: boolean;\r\n}\r\n\r\n@Component\r\nexport default class SearchFilter extends Vue {\r\n displayItems: SelectItem[] = []\r\n selectedAll = false\r\n searchText: string = null\r\n\r\n @Prop() listItems: string[]\r\n @Prop() value: string[]\r\n\r\n mounted () {\r\n this.displayItems = this.listItems.filter(p => !!p).map(p => {\r\n return { item: p, selected: this.value.indexOf(p) >= 0 }\r\n })\r\n }\r\n\r\n sort (direction: string) {\r\n this.$emit('sort', direction)\r\n }\r\n\r\n selectAllChanged () {\r\n for (const item of this.displayItems) { item.selected = this.selectedAll }\r\n this.$emit('input', this.displayItems.filter(p => p.selected).map(p => p.item))\r\n this.$emit('change')\r\n }\r\n\r\n itemSelectChanged () {\r\n this.$emit('input', this.displayItems.filter(p => p.selected).map(p => p.item))\r\n this.$emit('change')\r\n }\r\n\r\n @Watch('listItems')\r\n onListItemsChanged (v: string[]) {\r\n this.displayItems = this.listItems.filter(p => !!p).map(p => {\r\n return { item: p, selected: this.value.indexOf(p) >= 0 }\r\n })\r\n }\r\n\r\n @Watch('value')\r\n OnValueChanged (v: string[]) {\r\n if ((v == null || v.length === 0) && (this.displayItems == null || this.displayItems.length === 0)) return\r\n const selected = this.displayItems.filter(p => p.selected).map(p => p.item)\r\n if (selected.length === v.length && selected.every(p => v.indexOf(p) >= 0)) {\r\n return\r\n }\r\n this.displayItems = this.listItems.map(p => {\r\n return { item: p, selected: v.indexOf(p) >= 0 }\r\n })\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!./search-filter.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!./search-filter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./search-filter.vue?vue&type=template&id=5851f572&\"\nimport script from \"./search-filter.vue?vue&type=script&lang=ts&\"\nexport * from \"./search-filter.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","'use strict';\nvar $ = require('../internals/export');\nvar $every = require('../internals/array-iteration').every;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar STRICT_METHOD = arrayMethodIsStrict('every');\nvar USES_TO_LENGTH = arrayMethodUsesToLength('every');\n\n// `Array.prototype.every` method\n// https://tc39.es/ecma262/#sec-array.prototype.every\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || !USES_TO_LENGTH }, {\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\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('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","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.isLoading),expression:\"isLoading\"}]},[_c('div',{staticClass:\"m-auto\"},[_c('div',{staticClass:\"text-left d-flex align-items-center\"},[_c('h2',[_vm._v(\"Stock Trades\")]),_c('div',{staticClass:\"text-right flex-fill\"},[_c('up-down-bar',{attrs:{\"down-file\":\"stock.csv\",\"sample-file\":\"stock.xlsx\",\"down-type\":\"Stock\"},on:{\"refresh\":_vm.refresh}}),_vm._v(\" \"+_vm._s(_vm.lastSyncDate)+\" \")],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\",\"sort-target\":_vm.trades,\"data-type\":\"date\"}})],1),_c('td',{staticClass:\"p-1\",staticStyle:{\"min-width\":\"100px\"}},[_c('el-badge',{attrs:{\"value\":_vm.selectedSymbols.length > 0 ? _vm.selectedSymbols.length : null}},[_vm._v(\"Symbol\")]),_c('el-popover',{attrs:{\"placement\":\"down\",\"trigger\":\"click\"}},[_c('search-filter',{attrs:{\"list-items\":_vm.symbols},on:{\"sort\":_vm.sortSymbol,\"change\":_vm.filterSymbols},model:{value:(_vm.selectedSymbols),callback:function ($$v) {_vm.selectedSymbols=$$v},expression:\"selectedSymbols\"}}),_c('i',{staticClass:\"el-icon-arrow-down ml-3\",attrs:{\"slot\":\"reference\"},slot:\"reference\"})],1)],1),_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(0),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Currency\")]),_vm._m(1),_vm._m(2),_vm._m(3),_c('td',{staticClass:\"p-1\"},[_vm._v(\"Exchange Rate\")]),_c('td',{staticClass:\"p-1\",staticStyle:{\"width\":\"140px\"}},[_vm._v(\"Last Updated\")]),_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',[_vm._v(_vm._s(trade.Currency))]),_c('td',[_c('number-text',{attrs:{\"number-value\":(trade.TradePrice * trade.Quantity)/(trade.Rate/100.0)}})],1),_c('td',[_c('number-text',{attrs:{\"number-value\":Math.abs(trade.IbCommission/(trade.Rate/100.0))}})],1),_c('td',[_c('number-text',{attrs:{\"number-value\":(trade.TradePrice * trade.Quantity + trade.IbCommission)/(trade.Rate/100.0)}})],1),_c('td',[_c('number-text',{attrs:{\"number-value\":trade.Rate/100.0}})],1),_c('td',[_vm._v(_vm._s(trade.LastUpdated))]),_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('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\r\nimport { Vue, Component } from 'vue-property-decorator'\r\nimport reportService, { FlexTrade } from '@/services/reportService'\r\nimport utility from '@/common/utility'\r\nimport SearchFilter from '@/components/search-filter.vue'\r\nimport SortHeader from '@/components/SortHeader.vue'\r\nimport UpDownBar from '@/views/Report/UpDownBar.vue'\r\n\r\nlet pageTrades: FlexTrade[] = []\r\n\r\n@Component({\r\n components: {\r\n SearchFilter,\r\n SortHeader,\r\n UpDownBar\r\n }\r\n})\r\nexport default class Trades extends Vue {\r\n trades: FlexTrade[] = []\r\n selectedSymbols = new Array()\r\n symbols: string[] = []\r\n lastSyncDate = ''\r\n isLoading = false\r\n\r\n async mounted () {\r\n await this.loadData(false)\r\n this.lastSyncDate = await reportService.getLastSyncDate()\r\n }\r\n\r\n refresh (force: boolean) {\r\n this.loadData(force)\r\n }\r\n\r\n async loadData (forceUpdate: boolean) {\r\n this.isLoading = true\r\n const data = await reportService.getTrades('Stock', forceUpdate, true)\r\n this.isLoading = 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 this.symbols = utility.getDistinct(data.Result.map(p => utility.getSymbolDisplay(p.SymbolName, p.Currency)))\r\n this.trades = utility.freezeArrayItems(pageTrades)\r\n this.lastSyncDate = await reportService.getLastSyncDate()\r\n }\r\n\r\n sortSymbol (direction: 'Asc' | 'Desc') {\r\n utility.sortByFiled(this.trades, direction, p => p.SymbolName)\r\n }\r\n\r\n private filterSymbols () {\r\n const filter = pageTrades.filter(p => this.selectedSymbols.length === 0 || this.selectedSymbols.find(q => utility.iSameSymbol(q, p.SymbolName, p.Currency)))\r\n this.trades = utility.freezeArrayItems(filter)\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!./StockTrades.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!./StockTrades.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StockTrades.vue?vue&type=template&id=b22a4d96&\"\nimport script from \"./StockTrades.vue?vue&type=script&lang=ts&\"\nexport * from \"./StockTrades.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":""}