{"version":3,"sources":["webpack:///../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/index.vue?fd51","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/index.vue","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/index.vue?4e6e","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/index.vue?4ea1","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineLogAnalysisCharts.vue?72c0","webpack:///../../../src/mixins/button-group/index.ts","webpack:///../../../src/components/VBtnToggle/VBtnToggle.ts","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/InstallationLogAnalysis.vue?9748","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineLogAnalysisCharts.vue?83b8","webpack:///./src/model/data/logAnalysis/Reject.ts","webpack:///./src/model/communication/logAnalysis/GetMachineRejectsResData.ts","webpack:///./src/model/communication/logAnalysis/GetMachineRejectsCommand.ts","webpack:///./src/model/data/logAnalysis/ProcessedCash.ts","webpack:///./src/model/communication/logAnalysis/GetProcessedCashResData.ts","webpack:///./src/model/communication/logAnalysis/GetProcessedCashCommand.ts","webpack:///./src/model/data/logAnalysis/MachineException.ts","webpack:///./src/model/communication/logAnalysis/GetMachineExceptionsResData.ts","webpack:///./src/model/communication/logAnalysis/GetMachineExceptionsCommand.ts","webpack:///./src/model/data/logAnalysis/SensorCalibration.ts","webpack:///./src/model/communication/logAnalysis/GetSensorsCalibrationResData.ts","webpack:///./src/model/communication/logAnalysis/GetSensorCalibrationsCommand.ts","webpack:///./src/model/data/logAnalysis/CServiceLogon.ts","webpack:///./src/model/communication/logAnalysis/GetCServiceLogonResData.ts","webpack:///./src/model/communication/logAnalysis/GetCServiceLogonCommand.ts","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineExceptionCard.vue?76a6","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineExceptionCard.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineExceptionCard.vue?1c92","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineExceptionCard.vue?89a7","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/SensorCalibrationCard.vue?4ef4","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/SensorCalibrationCard.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/SensorCalibrationCard.vue?4ace","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/SensorCalibrationCard.vue?ed3a","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/ProcessedCashCard.vue?5a57","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/ProcessedCashCard.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/ProcessedCashCard.vue?c142","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/ProcessedCashCard.vue?b9ce","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/RejectCard.vue?4493","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/RejectCard.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/RejectCard.vue?c305","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/RejectCard.vue?171b","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/CServiceLogonCard.vue?8c6b","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/CServiceLogonCard.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/CServiceLogonCard.vue?2d76","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/CServiceLogonCard.vue?d44f","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineLogAnalysisCharts.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineLogAnalysisCharts.vue?26ce","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/MachineLogAnalysisCharts.vue?8808","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/InstallationLogAnalysis.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/InstallationLogAnalysis.vue?95dd","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/InstallationLogAnalysis.vue?d3f1","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack:///./src/model/data/enums/LogsFamilyEnum.ts","webpack:///../../../src/components/VExpansionPanel/VExpansionPanel.ts","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/MainSection.vue?e2df","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/DownloadLogsOnDemandProgressCard.vue?58e2","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/DownloadLogsOnDemandProgressCard.vue","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/DownloadLogsOnDemandProgressCard.vue?75a1","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/DownloadLogsOnDemandProgressCard.vue?d017","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/LogAnalysisOnDemandCard.vue?a9b8","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/LogAnalysisOnDemandCard.vue","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/LogAnalysisOnDemandCard.vue?7b2e","webpack:///./src/views/App/PredictiveMaintenance/LogAnalysis/LogAnalysisOnDemandCard.vue?d194","webpack:///./src/model/data/enums/LogsTypeEnum.ts","webpack:///./src/model/communication/downloadLogs/DownloadLogsIfExistCommand.ts","webpack:///./src/model/communication/downloadLogs/DownloadLogsReqData.ts","webpack:///./src/model/communication/downloadLogs/DownloadLogsProgress.ts","webpack:///./src/model/communication/downloadLogs/DownloadLogsProgressResData.ts","webpack:///./src/model/communication/downloadLogs/ForceLogsDownloadOnDemandCommand.ts","webpack:///./src/model/communication/downloadLogs/GetDownloadOnDemandProgressCommand.ts","webpack:///./src/model/communication/logAnalysis/AnalyzeLogNowCommand.ts","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/MainSection.vue","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/MainSection.vue?5901","webpack:///./src/views/App/ServiceAndUpdates/DownloadLogs/MainSection.vue?9535","webpack:///./node_modules/core-js/modules/es7.object.entries.js"],"names":["name","provide","expansionPanels","this","props","accordion","disabled","flat","hover","focusable","inset","popout","readonly","tile","Boolean","computed","classes","created","$attrs","hasOwnProperty","Array","value","length","methods","updateItem","getValue","item","nextValue","index","toggleMethod","baseMixins","isActive","expansionPanel","beforeDestroy","render","h","showLazyContent","staticClass","directives","class","_vm","_h","$createElement","_c","_self","attrs","title","icon","color","on","$event","onReload","model","callback","$$v","deviceTreeSelectedObjectItems","expression","staticRenderFns","extend","components","DeviceTreeAppPage","MainSection","data","routes","menuRoutes","$store","getters","availableMenu","styleProps","found","resultObj","findIconColorAndTitle","node","children","forEach","child","path","DownloadLogs","$t","name_i18n","route","component","btnToggle","genData","mixins","backgroundColor","borderless","dense","group","rounded","shaped","themeClasses","setTextColor","setBackgroundColor","staticStyle","_l","machine","key","serialNumber","installation","startDate","endDate","hideDaysToogle","_v","_s","_e","daysButton","loading","pc","logIntervalString","processedCashList","me","machineExceptionList","dateListString","troubleshooting","componentLabelMap","unitLabelMap","imagesLegend","installationName","nDays","reject","rejectPercentage","toFixed","rejectList","rejectCauseMap","rejectsFamilyMap","familyLabelMap","seriesPCTrendList","seriesPCTypeList","scopedSlots","_u","fn","ref","_g","_b","isDepositMachine","supportedCashType","CashTypeEnum","Coin","sensorCalibrationList","sensorsLabels","sc","csl","cserviceLogonList","interventionsCount","machineSerialNumber","machineInstallationName","dateTime","cause","count","obj","MachineSerialNumber","MachineInstallationName","DateTime","Date","Cause","Count","familyLabelToIndex","Map","response","Payload","parse","Rejects","rejects","element","push","RejectsCause","rejectsCause","RejectsFamily","rejectsFamily","Object","entries","FamilyLabel","familyLabel","ApiGenericResponse","ENDPOINT","params","endPoint","httpVerb","assign","executeCommand","res","Command","dateStart","dateEnd","deposited","withdrawn","Deposited","Withdrawn","ProcessedCash","processedCash","id","area","code","unitId","hwId","hwType","category","resolved","restoreAttemps","processType","Id","Code","undefined","Area","UnitId","HwId","HwType","Category","Resolved","RestoreAttemps","ProcessType","toString","toUpperCase","padStart","MachineExceptions","machineExceptions","ComponentsLabelMap","UnitLabelMap","Troubleshooting","ImagesLegend","pair","set","sensorNum","averageCalibrationLevel","averageCommThr","stdCalibrationLevel","cleanThr","SensorNum","AverageCalibrationLevel","AverageCommThr","STDCalibrationLevel","CleanThr","SensorsCalibration","sensorCalibration","SensorsLabels","userKId","cServiceVersion","UserKId","CServiceVersion","CServiceLogon","cserviceLogon","chartMachineExceptionsTrend","series","options","exceptionTableHeader","exceptionTableData","$vuetify","breakpoint","xs","setRowStyle","stopPropagation","openImageDialog","header","text","slot","totalRowExceptionDataTable","showImageDialog","domProps","selectedException","areaDescr","compDescr","codeDescr","procType","timestamp","moment","format","longDateFormat","descr","troub","loadingImage","image","legend","String","Number","sortable","seriesMETrendList","maxYValue","userTheme","state","authMod","currentUser","userConfig","theme","mode","chart","type","stacked","height","zoom","enabled","animations","plotOptions","bar","borderRadius","horizontal","grid","xaxis","lines","show","dataLabels","categories","tickPlacement","yaxis","labels","formatter","val","max","troubGuide","solution","regExp","RegExp","causeOrSolutionWords","match","word","replace","exc","description","timestamps","getMachineImage","toHash","excHash","hashCode","JSON","stringify","logAnalysis","cachedImages","has","date","UTC","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","dispatch","get","str","ch","seed","h1","h2","i","charCodeAt","Math","imul","reset","watch","handler","machineExceptionTrendMap","codes","Set","map","getHexCode","fill","codeDescription","excDescription","excDict","meTableDataMap","exceptionMapIndexes","utcDate","dayIndex","floor","getTime","keyArr","split","formattedCode","includes","filter","number","percentage","maxValue","keyLabel","parseInt","every","immediate","deep","VBtn","VCard","VCardText","VCardTitle","VCol","VContainer","VDataTable","VDialog","VImg","VRow","VSkeletonLoader","VTooltip","chartSensorCalibrationTrend","seriesSCTrendList","stroke","curve","row","colors","opacity","tooltip","shared","y","markers","size","strokeColors","strokeWidth","strokeOpacity","strokeDashArray","fillOpacity","discrete","shape","radius","offsetX","offsetY","onClick","onDblClick","showNullDataPoints","sensorCalibrationMap","chartProcessedCashType","mdAndUp","chartProcessedCashTrend","barHeight","Intl","NumberFormat","navigator","language","rejectTableHeader","rejectTableData","totalRowRejectDataTable","chartRejectType","chartRejectTrend","rejectLegendHeader","rejectLegendData","seriesList","rejectTypeList","seriesTypeList","keys","sort","a","b","localeCompare","seriesTable","causes","rejectCausebyFamily","fillerList","keyCause","from","totalReject","rejectTypeMap","totalDepositedAndReject","reduce","accumulator","curr","values","r","c","acc","family","join","chartCServiceLogonTrend","logon","seriesCSLTrendList","logonTableData","cserviceLogonTrendMap","VTimeline","VTimelineItem","MachineExceptionCard","SensorCalibrationCard","ProcessedCashCard","RejectCard","CServiceLogonCard","startDateProps","default","endDateProps","t","v","indexOf","getData","computeStartEndDate","getRejectData","getMachineExceptionData","getSensorsCalibration","getCServiceLogon","subtractDays","ceil","dateList","addDays","utc","userDateFormat","reqData","execute","getProcessedCashData","responseStatus","ApiResponseStatusEnum","Success","console","log","pcTrendList","initialDate","finalDate","exceptDayList","slice","days","newDate","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","setUTCDate","VBtnToggle","VExpansionPanel","VExpansionPanelContent","VExpansionPanelHeader","VExpansionPanels","MachineLogAnalysisCharts","availableMachines","machines","m","ripple","disableIconRotate","expandIcon","hideActions","hasMousedown","isDisabled","isReadonly","genIcon","tabindex","click","mousedown","mouseup","open","LogsFamilyEnum","logsFamilyEnumLabel","Application","Machine","getName","content","nextIsActive","groupClasses","registerContent","unregisterContent","registerHeader","vm","unregisterHeader","e","toggle","isBooted","radioSelection","d","i18nLabel","sortedDateRangeFormatted","errorMessage","dateRange","proxy","containerWidth","logsTypeRadio","downloadBtnHintLabel","onDownloadLogsButton_loading","analysisLoading","onDownloadLogsButton","sendRequestDownloadAndAnalyzeNow","alertType","alertMessage","downloadLogsProgress","analysisLogsProgress","analysisError","analysisLicenseError","analysisNotSupportedError","showAnalyzeDialog","showOnDemandAlertDialog","downloadOnlyFromDb","selectedMachineSNsForDownloadOnDemand","forceLogsDownloadOnDemand","MODULE_COLORS","PREDICTIVE_MAINTENANCE","analysisInstallation","smAndDown","style","rerender","analysisStartDate","analysisEndDate","progress","machineSerialNumbers","logsFamily","agentVersion","isDownloadCompleted","trueProgress","downloadedDays","daysToDownload","showProgressBar","startsWith","VListItem","VListItemContent","VList","VListItemSubtitle","VListItemTitle","VProgressCircular","VProgressLinear","VToolbar","VToolbarTitle","error","notSupportedError","$i18n","$emit","VFaIcon","VAlert","VCardActions","LogsTypeEnum","responseType","getLogTypesFromLogsFamily","resultList","AgentLogs","CaosLogs","CaosConnectorLogs","CHWebApiLogs","CHMonitorLogs","Firmware","logTypes","ignoreMissingEntries","InstallationName","MachineSerialNumbers","StartDate","EndDate","DaysToDownload","LogsFamily","LogTypes","IgnoreMissingEntries","DownloadedDays","IsDownloadCompleted","AgentVersion","ServiceResponseData","maxDaysRange","DownloadLogsOnDemandProgressCard","InstallationLogAnalysis","LogAnalysisOnDemandCard","selectedInstallations","showAlert","isPollingEnabled","analyzeAfterDownload","defaultDateRanges","isMounted","isMobileDevice","formatted","sortedDateRange","dt","date1","date2","diffTime","abs","diffDays","logAnalysisEnabled","authUserHasPrivilege","LogAnalysis","downloadOnlyDbEnabled","$refs","containerDownload","clientWidth","installationsProp","newValue","resetVariables","DeviceTreeNodeTypeEnum","Device","document","querySelector","overflowY","startDateTemp","endDateTemp","subtract","splice","stopPolling","showGenericErrorAlert","fromForce","at","message","CReqExecutionResultEnum","InvalidRequest","dateOffset","setTime","ServerError","OperationNotAvailable","createDownloadLogsReqData","sn","installationNames","GetInstallationsCommand","GetInstallationsReqData","isArray","installations","installedSoftwares","s","updateType","UpdateTypeEnum","Agent","version","downloadLogsIfExist","resStatus","status","now","formattedDate","fileName","fileLink","createElement","href","window","URL","createObjectURL","setAttribute","body","appendChild","AgentOffline","AgentNotInstalled","DeviceLocked","startProgressPolling","request","getDownloadLogsReqData","timeout","Promise","f","setTimeout","mounted","VCheckbox","VDatePicker","VDivider","VIcon","VMenu","VRadio","VRadioGroup","VSpacer","VTextField","VToolbarItems","$export","$entries","S","it"],"mappings":"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","file":"js/chunk_app_download_logs.5ba37c49.js","sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../VItemGroup/VItemGroup'\nimport VExpansionPanel from './VExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface VExpansionPanelInstance extends InstanceType {}\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-expansion-panels': true,\n 'v-expansion-panels--accordion': this.accordion,\n 'v-expansion-panels--flat': this.flat,\n 'v-expansion-panels--hover': this.hover,\n 'v-expansion-panels--focusable': this.focusable,\n 'v-expansion-panels--inset': this.inset,\n 'v-expansion-panels--popout': this.popout,\n 'v-expansion-panels--tile': this.tile,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & VExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\n },\n})\n","// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n expansionPanel: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-content',\n\n computed: {\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterContent()\n },\n\n render (h): VNode {\n return h(VExpandTransition, this.showLazyContent(() => [\n h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-content',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }), [\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this)),\n ]),\n ]))\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DeviceTreeAppPage',{attrs:{\"pageTitle\":_vm.title,\"icon\":_vm.icon,\"color\":_vm.color,\"hideActions\":true},on:{\"installation-edited\":function($event){return _vm.onReload()}},model:{value:(_vm.deviceTreeSelectedObjectItems),callback:function ($$v) {_vm.deviceTreeSelectedObjectItems=$$v},expression:\"deviceTreeSelectedObjectItems\"}},[_c('MainSection',{attrs:{\"deviceTreeSelectedObjectItems\":_vm.deviceTreeSelectedObjectItems}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vue Components\r\nimport DeviceTreeAppPage from \"@/components/DeviceTreeAppPage.vue\";\r\n// import MainSection from \"@/views/App/ServiceAndUpdates/DownloadLogs/MainSection.vue\";\r\nimport MainSection from \"@/views/App/ServiceAndUpdates/DownloadLogs/MainSection.vue\";\r\n\r\n// Model\r\nimport * as routes from \"@/router/routes\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DeviceTreeAppPage,\r\n // MainSection,\r\n MainSection,\r\n },\r\n data() {\r\n return {\r\n routes,\r\n deviceTreeSelectedObjectItems: [],\r\n };\r\n },\r\n computed: {\r\n menuRoutes() {\r\n return this.$store.getters.availableMenu;\r\n },\r\n\r\n styleProps() {\r\n var found = false;\r\n var resultObj = { icon: null, title: null, color: null };\r\n\r\n var findIconColorAndTitle: Function = (node: any) => {\r\n if (!found) {\r\n if (node.children && node.children.length > 0) {\r\n node.children.forEach((child) => {\r\n findIconColorAndTitle(child);\r\n });\r\n } else {\r\n if (node.path == this.routes.DownloadLogs) {\r\n resultObj.icon = node.icon;\r\n resultObj.title = this.$t(node.name_i18n);\r\n resultObj.color = node.color;\r\n found = true;\r\n }\r\n }\r\n }\r\n };\r\n\r\n this.menuRoutes.forEach((route) => {\r\n findIconColorAndTitle(route);\r\n });\r\n\r\n return resultObj;\r\n },\r\n\r\n icon() {\r\n return this.styleProps.icon ? this.styleProps.icon : \"\";\r\n },\r\n\r\n title() {\r\n return this.styleProps.title ? this.styleProps.title : \"\";\r\n },\r\n\r\n color() {\r\n return this.styleProps.color ? this.styleProps.color : \"\";\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=592b2bd0&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.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","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MachineLogAnalysisCharts.vue?vue&type=style&index=0&id=20fb1247&prod&lang=css&\"","// Extensions\nimport { BaseItemGroup } from '../../components/VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'button-group',\n\n provide (): object {\n return {\n btnToggle: this,\n }\n },\n\n computed: {\n classes (): object {\n return BaseItemGroup.options.computed.classes.call(this)\n },\n },\n\n methods: {\n // Isn't being passed down through types\n genData: BaseItemGroup.options.methods.genData,\n },\n})\n","// Styles\nimport './VBtnToggle.sass'\n\n// Mixins\nimport ButtonGroup from '../../mixins/button-group'\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n ButtonGroup,\n Colorable\n).extend({\n name: 'v-btn-toggle',\n\n props: {\n backgroundColor: String,\n borderless: Boolean,\n dense: Boolean,\n group: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...ButtonGroup.options.computed.classes.call(this),\n 'v-btn-toggle': true,\n 'v-btn-toggle--borderless': this.borderless,\n 'v-btn-toggle--dense': this.dense,\n 'v-btn-toggle--group': this.group,\n 'v-btn-toggle--rounded': this.rounded,\n 'v-btn-toggle--shaped': this.shaped,\n 'v-btn-toggle--tile': this.tile,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genData () {\n const data = this.setTextColor(this.color, {\n ...ButtonGroup.options.methods.genData.call(this),\n })\n\n if (this.group) return data\n\n return this.setBackgroundColor(this.backgroundColor, data)\n },\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticStyle:{\"width\":\"90% !important\"},attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"ma-0 pa-0\"},[_c('v-card',_vm._l((_vm.availableMachines),function(machine){return _c('MachineLogAnalysisCharts',{key:machine.serialNumber,attrs:{\"machine\":machine,\"installationName\":_vm.installation.name,\"startDateProps\":_vm.startDate,\"endDateProps\":_vm.endDate,\"hideDaysToogle\":_vm.hideDaysToogle}})}),1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"py-0 pb-2\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"jutify\":\"space-between\",\"align\":\"center\"}},[_c('v-col',{class:_vm.hideDaysToogle ? 'mt-2' : 'my-md-0 py-md-0',attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('span',{staticClass:\"text-h5\"},[_vm._v(_vm._s(_vm.machine.serialNumber))])]),(!_vm.hideDaysToogle)?_c('v-col',{staticClass:\"my-0 py-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('v-col',{staticClass:\"d-flex justify-md-end justify-center\"},[_c('v-btn-toggle',{staticClass:\"flex-wrap\",attrs:{\"color\":\"deep-purple accent-3\",\"shaped\":\"\"},model:{value:(_vm.daysButton),callback:function ($$v) {_vm.daysButton=$$v},expression:\"daysButton\"}},[_c('v-btn',[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.last7Days\")))])]),_c('v-btn',[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.last15Days\")))])]),_c('v-btn',[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.last30Days\")))])])],1)],1)],1)],1):_vm._e()],1),_c('v-row',{staticClass:\"mt-2\",attrs:{\"justify\":\"center\"}},[_c('v-col',{staticClass:\"ma-md-0 pa-md-0 text-center\"},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item\",\"loading\":_vm.loading.pc}},[_c('span',{staticClass:\"text-h5\",staticStyle:{\"white-space\":\"pre-line\"}},[_vm._v(_vm._s(_vm.logIntervalString))])])],1)],1),_c('v-skeleton-loader',{attrs:{\"type\":\"image\",\"loading\":_vm.loading.pc}},[_c('v-row',[_c('v-col',[(_vm.processedCashList && _vm.processedCashList.length)?_c('v-expansion-panels',{staticClass:\"my-3\",attrs:{\"flat\":\"\",\"multiple\":\"\"}},[_c('v-expansion-panel',{staticStyle:{\"border\":\"thin solid rgba(0, 0, 0, 0.12)\"}},[_c('v-expansion-panel-header',{staticClass:\"pl-4 title\"},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item\",\"loading\":_vm.loading.me || _vm.loading.pc}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.exceptions\")))]),(_vm.machineExceptionList && _vm.processedCashList && _vm.processedCashList.length)?_c('span',{class:_vm.machineExceptionList.length == 0 ? 'success--text' : 'warning--text'},[_vm._v(\" \"+_vm._s(_vm.machineExceptionList.length)+\" \")]):_c('span',{staticClass:\"success--text\"},[_vm._v(\" 0 \")])])],1),_c('v-expansion-panel-content',[_c('machine-exception-card',{attrs:{\"loading\":_vm.loading.me || _vm.loading.pc,\"processedCashList\":_vm.processedCashList,\"dateListString\":_vm.dateListString,\"machineExceptionList\":_vm.machineExceptionList,\"troubleshooting\":_vm.troubleshooting,\"componentLabelMap\":_vm.componentLabelMap,\"unitLabelMap\":_vm.unitLabelMap,\"imagesLegend\":_vm.imagesLegend,\"startDate\":_vm.startDate,\"machine\":_vm.machine,\"installationName\":_vm.installationName,\"nDays\":_vm.nDays}})],1)],1),_c('v-expansion-panel',{staticClass:\"mt-2\",staticStyle:{\"border\":\"thin solid rgba(0, 0, 0, 0.12)\"}},[_c('v-expansion-panel-header',{staticClass:\"pl-4 title\"},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item\",\"loading\":_vm.loading.reject || _vm.loading.pc}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.rejects\")))]),(_vm.rejectPercentage)?_c('span',{class:_vm.rejectPercentage < 5 ? 'success--text' : 'warning--text'},[_vm._v(\" \"+_vm._s(_vm.rejectPercentage.toFixed(2))+\"% \")]):_c('span',{staticClass:\"ml-2 success--text\"},[_vm._v(\"0%\")])])],1),_c('v-expansion-panel-content',[_c('reject-card',{attrs:{\"machine\":_vm.machine,\"processedCashList\":_vm.processedCashList,\"nDays\":_vm.nDays,\"dateListString\":_vm.dateListString,\"loading\":_vm.loading.reject || _vm.loading.pc,\"rejectList\":_vm.rejectList,\"rejectCauseMap\":_vm.rejectCauseMap,\"rejectsFamilyMap\":_vm.rejectsFamilyMap,\"familyLabelMap\":_vm.familyLabelMap,\"startDate\":_vm.startDate,\"seriesPCTrendList\":_vm.seriesPCTrendList}})],1)],1),_c('v-expansion-panel',{staticClass:\"mt-2\",staticStyle:{\"border\":\"thin solid rgba(0, 0, 0, 0.12)\"}},[_c('v-expansion-panel-header',{staticClass:\"pl-4 title\"},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item\",\"loading\":_vm.loading.pc}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.processed\")))]),(_vm.seriesPCTypeList && _vm.seriesPCTypeList.length == 1 && _vm.seriesPCTypeList[0].data)?_c('span',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('span',_vm._g(_vm._b({staticClass:\"ml-2\"},'span',attrs,false),on),[_c('v-fa-icon',{attrs:{\"icon\":\"arrow-down\",\"color\":\"success\"}}),_vm._v(\" \"+_vm._s(_vm.seriesPCTypeList[0].data[0])+\" \")],1)]}}],null,false,2522759251)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"predictiveMaintenance.deposited\")))])]),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [(!_vm.isDepositMachine)?_c('span',_vm._g(_vm._b({staticClass:\"ml-2\"},'span',attrs,false),on),[_c('v-fa-icon',{attrs:{\"icon\":\"arrow-up\",\"color\":\"success\"}}),_vm._v(\" \"+_vm._s(_vm.seriesPCTypeList[0].data[1])+\" \")],1):_vm._e()]}}],null,false,3812631220)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"predictiveMaintenance.withdrawn\")))])])],1):_vm._e()])],1),_c('v-expansion-panel-content',[_c('processed-cash-card',{attrs:{\"machine\":_vm.machine,\"nDays\":_vm.nDays,\"processedCashList\":_vm.processedCashList,\"dateListString\":_vm.dateListString,\"loading\":_vm.loading.pc,\"seriesPCTrendList\":_vm.seriesPCTrendList,\"seriesPCTypeList\":_vm.seriesPCTypeList}})],1)],1),(_vm.machine.supportedCashType != _vm.CashTypeEnum.Coin)?_c('v-expansion-panel',{staticClass:\"mt-2\",staticStyle:{\"border\":\"thin solid rgba(0, 0, 0, 0.12)\"}},[_c('v-expansion-panel-header',{staticClass:\"pl-4\"},[_c('span',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.sensorsCalibration\")))])]),_c('v-expansion-panel-content',[_c('sensor-calibration-card',{attrs:{\"sensorCalibrationList\":_vm.sensorCalibrationList,\"sensorsLabels\":_vm.sensorsLabels,\"loading\":_vm.loading.sc,\"startDate\":_vm.startDate,\"dateListString\":_vm.dateListString,\"nDays\":_vm.nDays}})],1)],1):_vm._e(),_c('v-expansion-panel',{staticClass:\"mt-2\",staticStyle:{\"border\":\"thin solid rgba(0, 0, 0, 0.12)\"}},[_c('v-expansion-panel-header',{staticClass:\"pl-4 title\"},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item\",\"loading\":_vm.loading.csl || _vm.loading.pc}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.cserviceLogon\")))]),(_vm.cserviceLogonList && _vm.processedCashList && _vm.processedCashList.length)?_c('span',{class:_vm.interventionsCount == 0 ? 'success--text' : 'warning--text'},[_vm._v(\" \"+_vm._s(_vm.interventionsCount)+\" \")]):_c('span',{staticClass:\"success--text\"},[_vm._v(\" 0 \")])])],1),_c('v-expansion-panel-content',[_c('c-service-logon-card',{attrs:{\"cserviceLogonList\":_vm.cserviceLogonList,\"processedCashList\":_vm.processedCashList,\"loading\":_vm.loading.csl,\"startDate\":_vm.startDate,\"dateListString\":_vm.dateListString,\"nDays\":_vm.nDays}})],1)],1)],1):_vm._e()],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export class Reject {\r\n machineSerialNumber: string;\r\n machineInstallationName: string;\r\n dateTime: Date;\r\n cause: string;\r\n count: number;\r\n\r\n constructor() {\r\n this.machineSerialNumber = null;\r\n this.machineInstallationName = null;\r\n this.dateTime = null;\r\n this.cause = null;\r\n this.count = 0;\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.MachineSerialNumber) this.machineSerialNumber = obj.MachineSerialNumber;\r\n if (obj.MachineInstallationName) this.machineInstallationName = obj.MachineInstallationName;\r\n if (obj.DateTime) this.dateTime = new Date(obj.DateTime);\r\n if (obj.Cause) this.cause = obj.Cause;\r\n if (obj.Count) this.count = obj.Count;\r\n }\r\n}\r\n\r\nexport const familyLabelToIndex = new Map([\r\n [\"REJECT_FAMILY_FILTER\", 0],\r\n [\"REJECT_FAMILY_USER\", 1],\r\n [\"REJECT_FAMILY_SENSOR\", 2],\r\n [\"REJECT_FAMILY_MACHINE\", 3],\r\n [\"REJECT_FAMILY_BANKNOTE\", 4],\r\n [\"REJECT_FAMILY_COIN\", 5],\r\n [\"REJECT_FAMILY_OTHER\", 6],\r\n]);\r\n","import { InstallationPredictedStatusEnum } from \"@/model/data/predictiveMaintenance/InstallationPredictedStatusEnum\";\r\nimport { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { Reject } from \"@/model/data/logAnalysis/Reject\";\r\n\r\nexport class GetMachineRejectsResData extends ApiGenericResponse {\r\n rejects: Reject[];\r\n rejectsCause: Map;\r\n rejectsFamily: Map;\r\n familyLabel: Map;\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.Rejects) {\r\n this.rejects = new Array();\r\n obj.Rejects.forEach((element) => {\r\n let reject = new Reject();\r\n reject.parse(element);\r\n this.rejects.push(reject);\r\n });\r\n }\r\n\r\n if (obj.RejectsCause) {\r\n this.rejectsCause = obj.RejectsCause;\r\n }\r\n if (obj.RejectsFamily) {\r\n this.rejectsFamily = new Map(Object.entries(obj.RejectsFamily));\r\n }\r\n if (obj.FamilyLabel) {\r\n this.familyLabel = new Map(Object.entries(obj.FamilyLabel));\r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { GetMachineRejectsResData } from \"./GetMachineRejectsResData\";\r\n\r\nconst ENDPOINT = \"/log_analysis/reject\"\r\n\r\nexport class GetMachineRejectsCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: GetMachineRejectsReqData = null;\r\n\r\n constructor(params: GetMachineRejectsReqData) {\r\n super();\r\n this.params = Object.assign({}, params);\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new GetMachineRejectsResData(res);\r\n }\r\n}\r\n\r\nexport class GetMachineRejectsReqData {\r\n // FilterInstallations\r\n installationName: string = null;\r\n serialNumber: string = null;\r\n dateStart: Date = null;\r\n dateEnd: Date = null;\r\n\r\n constructor(installationName: string, serialNumber: string, dateStart: Date, dateEnd: Date) {\r\n this.installationName = installationName;\r\n this.serialNumber = serialNumber;\r\n this.dateStart = dateStart;\r\n this.dateEnd = dateEnd;\r\n }\r\n}\r\n","export class ProcessedCash {\r\n machineSerialNumber: string;\r\n machineInstallationName:string;\r\n dateTime: Date;\r\n deposited: Number;\r\n withdrawn: Number;\r\n\r\n constructor() {\r\n this.machineSerialNumber = null;\r\n this.machineInstallationName = null;\r\n this.dateTime = null;\r\n this.deposited = 0;\r\n this.withdrawn = 0\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.MachineSerialNumber) this.machineSerialNumber = obj.MachineSerialNumber;\r\n if (obj.MachineInstallationName) this.machineInstallationName = obj.MachineInstallationName;\r\n if (obj.DateTime) this.dateTime = new Date(obj.DateTime);\r\n if (obj.Deposited) this.deposited = obj.Deposited;\r\n if (obj.Withdrawn) this.withdrawn = obj.Withdrawn;\r\n }\r\n}","import { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { ProcessedCash } from \"@/model/data/logAnalysis/ProcessedCash\";\r\n\r\nexport class GetProcessedCashResData extends ApiGenericResponse {\r\n processedCash: ProcessedCash[];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.ProcessedCash) {\r\n this.processedCash = new Array()\r\n obj.ProcessedCash.forEach(element => {\r\n let pc = new ProcessedCash();\r\n pc.parse(element);\r\n this.processedCash.push(pc);\r\n }); \r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { GetProcessedCashResData } from \"./GetProcessedCashResData\";\r\n\r\nconst ENDPOINT = \"/log_analysis/processedcash\";\r\n\r\nexport class GetProcessedCashCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: GetProcessedCashReqData = null;\r\n\r\n constructor(params: GetProcessedCashReqData) {\r\n super();\r\n this.params = Object.assign({}, params);\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new GetProcessedCashResData(res);\r\n }\r\n}\r\n\r\nexport class GetProcessedCashReqData {\r\n // FilterInstallations\r\n installationName: string = null;\r\n serialNumber: string = null;\r\n dateStart: Date = null;\r\n dateEnd: Date = null;\r\n\r\n constructor(installationName: string, serialNumber: string, dateStart: Date, dateEnd: Date) {\r\n this.installationName = installationName;\r\n this.serialNumber = serialNumber;\r\n this.dateStart = dateStart;\r\n this.dateEnd = dateEnd;\r\n }\r\n}\r\n","export class MachineException {\r\n id: number;\r\n machineSerialNumber: string;\r\n machineInstallationName: string;\r\n dateTime: Date;\r\n code: number;\r\n area: number;\r\n unitId: number;\r\n hwId: number;\r\n hwType: number;\r\n category: number;\r\n resolved: Date;\r\n restoreAttemps: number;\r\n processType: number;\r\n\r\n constructor() {\r\n this.id = null;\r\n this.machineSerialNumber = null;\r\n this.machineInstallationName = null;\r\n this.dateTime = null;\r\n this.area = null;\r\n this.code = null;\r\n this.unitId = null;\r\n this.hwId = null;\r\n this.hwType = null;\r\n this.category = null;\r\n this.resolved = null;\r\n this.restoreAttemps = null;\r\n this.processType = null;\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.Id) this.id = obj.Id;\r\n if (obj.MachineSerialNumber) this.machineSerialNumber = obj.MachineSerialNumber;\r\n if (obj.MachineInstallationName) this.machineInstallationName = obj.MachineInstallationName;\r\n if (obj.DateTime) this.dateTime = new Date(obj.DateTime);\r\n if (obj.Code != null && obj.Code != undefined) this.code = obj.Code;\r\n if (obj.Area != null && obj.Area != undefined) this.area = obj.Area;\r\n if (obj.UnitId != null && obj.UnitId != undefined) this.unitId = obj.UnitId;\r\n if (obj.HwId != null && obj.HwId != undefined) this.hwId = obj.HwId;\r\n if (obj.HwType != null && obj.HwType != undefined) this.hwType = obj.HwType;\r\n if (obj.Category != null && obj.Category != undefined) this.category = obj.Category;\r\n if (obj.Resolved) this.resolved = obj.Resolved;\r\n if (obj.RestoreAttemps != null && obj.RestoreAttemps != undefined) this.restoreAttemps = obj.RestoreAttemps;\r\n if (obj.ProcessType && obj.ProcessType >= 0 && obj.ProcessType < 20) this.processType = obj.ProcessType;\r\n }\r\n\r\n public getHexCode() {\r\n return this.code.toString(16).toUpperCase().padStart(3, \"0\");\r\n }\r\n}\r\n","import { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { MachineException } from \"@/model/data/logAnalysis/MachineException\";\r\n\r\nexport class GetMachineExceptionsResData extends ApiGenericResponse {\r\n machineExceptions: MachineException[];\r\n componentLabelMap: Map;\r\n unitLabelMap: Map;\r\n troubleshooting: Map>;\r\n imagesLegend: Map;\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.MachineExceptions) {\r\n this.machineExceptions = new Array();\r\n obj.MachineExceptions.forEach((element) => {\r\n let me = new MachineException();\r\n me.parse(element);\r\n this.machineExceptions.push(me);\r\n });\r\n }\r\n if (obj.ComponentsLabelMap) {\r\n this.componentLabelMap = obj.ComponentsLabelMap;\r\n }\r\n if (obj.UnitLabelMap) {\r\n this.unitLabelMap = obj.UnitLabelMap;\r\n }\r\n if (obj.Troubleshooting) {\r\n this.troubleshooting = obj.Troubleshooting;\r\n }\r\n if (obj.ImagesLegend) {\r\n this.imagesLegend = new Map();\r\n Object.entries(obj.ImagesLegend).forEach((pair: any) => {\r\n this.imagesLegend.set(pair[0], pair[1]);\r\n });\r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { GetMachineExceptionsResData } from \"./GetMachineExceptionsResData\";\r\n\r\nconst ENDPOINT = \"/log_analysis/exception\"\r\n\r\nexport class GetMachineExceptionsCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: GetMachineExceptionsReqData = null;\r\n\r\n constructor(params: GetMachineExceptionsReqData) {\r\n super();\r\n this.params = Object.assign({}, params);\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new GetMachineExceptionsResData(res);\r\n }\r\n}\r\n\r\nexport class GetMachineExceptionsReqData {\r\n // FilterInstallations\r\n installationName: string = null;\r\n serialNumber: string = null;\r\n dateStart: Date = null;\r\n dateEnd: Date = null;\r\n\r\n constructor(installationName: string, serialNumber: string, dateStart: Date, dateEnd: Date) {\r\n this.installationName = installationName;\r\n this.serialNumber = serialNumber;\r\n this.dateStart = dateStart;\r\n this.dateEnd = dateEnd;\r\n }\r\n}\r\n","export class SensorCalibration {\r\n machineSerialNumber: string;\r\n machineInstallationName: string;\r\n dateTime: Date;\r\n sensorNum: number;\r\n averageCalibrationLevel: number;\r\n averageCommThr: number;\r\n stdCalibrationLevel: number;\r\n cleanThr: number;\r\n\r\n constructor() {\r\n this.machineSerialNumber = null;\r\n this.machineInstallationName = null;\r\n this.dateTime = null;\r\n this.sensorNum = null;\r\n this.averageCalibrationLevel = null;\r\n this.averageCommThr = null;\r\n this.stdCalibrationLevel = null;\r\n this.cleanThr = null;\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.MachineSerialNumber) this.machineSerialNumber = obj.MachineSerialNumber;\r\n if (obj.MachineInstallationName) this.machineInstallationName = obj.MachineInstallationName;\r\n if (obj.DateTime) this.dateTime = new Date(obj.DateTime);\r\n if (obj.SensorNum) this.sensorNum = obj.SensorNum;\r\n if (obj.AverageCalibrationLevel !== null) this.averageCalibrationLevel = obj.AverageCalibrationLevel;\r\n if (obj.AverageCommThr) this.averageCommThr = obj.AverageCommThr;\r\n if (obj.STDCalibrationLevel) this.stdCalibrationLevel = obj.STDCalibrationLevel;\r\n if (obj.CleanThr) this.cleanThr = obj.CleanThr;\r\n }\r\n}\r\n","import { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { SensorCalibration } from \"@/model/data/logAnalysis/SensorCalibration\";\r\n\r\nexport class GetSensorsCalibrationResData extends ApiGenericResponse {\r\n sensorCalibration: SensorCalibration[];\r\n sensorsLabels: Map;\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.SensorsCalibration) {\r\n this.sensorCalibration = new Array();\r\n obj.SensorsCalibration.forEach((element) => {\r\n let sc = new SensorCalibration();\r\n sc.parse(element);\r\n this.sensorCalibration.push(sc);\r\n });\r\n }\r\n\r\n if (obj.SensorsLabels) {\r\n this.sensorsLabels = new Map();\r\n Object.entries(obj.SensorsLabels).forEach((pair: any) => {\r\n this.sensorsLabels.set(pair[0], pair[1]);\r\n });\r\n }\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { GetSensorsCalibrationResData } from \"./GetSensorsCalibrationResData\";\r\n\r\nconst ENDPOINT = \"/log_analysis/sensorcalibration\"\r\n\r\nexport class GetSensorsCalibrationCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: GetSensorsCalibrationReqData = null;\r\n\r\n constructor(params: GetSensorsCalibrationReqData) {\r\n super();\r\n this.params = Object.assign({}, params);\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new GetSensorsCalibrationResData(res);\r\n }\r\n}\r\n\r\nexport class GetSensorsCalibrationReqData {\r\n // FilterInstallations\r\n installationName: string = null;\r\n serialNumber: string = null;\r\n dateStart: Date = null;\r\n dateEnd: Date = null;\r\n\r\n constructor(installationName: string, serialNumber: string, dateStart: Date, dateEnd: Date) {\r\n this.installationName = installationName;\r\n this.serialNumber = serialNumber;\r\n this.dateStart = dateStart;\r\n this.dateEnd = dateEnd;\r\n }\r\n}\r\n","export class CServiceLogon {\r\n id: number;\r\n machineInstallationName: string;\r\n machineSerialNumber: string;\r\n dateTime: Date;\r\n userKId: string;\r\n cServiceVersion: string;\r\n\r\n constructor() {\r\n this.machineSerialNumber = null;\r\n this.machineInstallationName = null;\r\n this.dateTime = null;\r\n this.userKId = null;\r\n this.cServiceVersion = null;\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.MachineSerialNumber) this.machineSerialNumber = obj.MachineSerialNumber;\r\n if (obj.MachineInstallationName) this.machineInstallationName = obj.MachineInstallationName;\r\n if (obj.DateTime) this.dateTime = new Date(obj.DateTime);\r\n if (obj.UserKId) this.userKId = obj.UserKId;\r\n if (obj.CServiceVersion) this.cServiceVersion = obj.CServiceVersion;\r\n }\r\n}\r\n","import { CServiceLogon } from \"@/model/data/logAnalysis/CServiceLogon\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { ApiGenericResponse } from \"../ApiGenericResponse\";\r\n\r\nexport class GetCServiceLogonResData extends ApiGenericResponse {\r\n cserviceLogon: CServiceLogon[];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.CServiceLogon) {\r\n this.cserviceLogon = new Array();\r\n obj.CServiceLogon.forEach((element) => {\r\n let csl = new CServiceLogon();\r\n csl.parse(element);\r\n this.cserviceLogon.push(csl);\r\n });\r\n }\r\n }\r\n}\r\n","import { API_PREFIX, API_VERSION, Command, HttpVerbType } from \"../Command\";\r\nimport { GetCServiceLogonResData } from \"./GetCServiceLogonResData\";\r\n\r\nconst ENDPOINT = \"/log_analysis/cservicelogon\";\r\n\r\nexport class GetCServiceLogonCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: GetCServiceLogonReqData = null;\r\n\r\n constructor(installationName: string, serialNumber: string, dateStart: Date, dateEnd: Date) {\r\n super();\r\n this.params = new GetCServiceLogonReqData(installationName, serialNumber, dateStart, dateEnd);\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new GetCServiceLogonResData(res);\r\n }\r\n}\r\n\r\nexport class GetCServiceLogonReqData {\r\n // FilterInstallations\r\n installationName: string = null;\r\n serialNumber: string = null;\r\n dateStart: Date = null;\r\n dateEnd: Date = null;\r\n\r\n constructor(installationName: string, serialNumber: string, dateStart: Date, dateEnd: Date) {\r\n this.installationName = installationName;\r\n this.serialNumber = serialNumber;\r\n this.dateStart = dateStart;\r\n this.dateEnd = dateEnd;\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',[_c('v-row',[_c('v-col',{staticClass:\"mr-3\",attrs:{\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.meTrend\")))]),(_vm.chartMachineExceptionsTrend.series && _vm.chartMachineExceptionsTrend.series.length > 0)?_c('v-card-text',[_c('apexchart',{staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":\"350\",\"options\":_vm.chartMachineExceptionsTrend.options,\"series\":_vm.chartMachineExceptionsTrend.series}})],1):(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noException\")))]):(!_vm.processedCashList || _vm.processedCashList.length == 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))]):_vm._e()],1)],1)],1)],1),_c('v-row',[_c('v-col',[_c('v-skeleton-loader',{attrs:{\"type\":\"table\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.meByCAC\")))]),_c('v-card-text',[_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.exceptionTableHeader,\"items\":_vm.exceptionTableData,\"hide-default-footer\":\"\",\"item-class\":_vm.$vuetify.breakpoint.xs ? _vm.setRowStyle : '',\"disable-pagination\":\"\"},scopedSlots:_vm._u([{key:\"item.image\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"pa-0 no-background\",attrs:{\"elevation\":\"0\",\"icon\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.openImageDialog(item)}}},'v-btn',attrs,false),on),[(_vm.$vuetify.breakpoint.smAndDown)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.click\")))]):_vm._e(),_c('v-fa-icon',{attrs:{\"icon\":\"search\",\"small\":\"\",\"dense\":\"\"}})],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"common.currentTabDialog\")))])])]}},{key:\"header.percentage\",fn:function(ref){\nvar header = ref.header;\nreturn [_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_vm._v(_vm._s(header.text)+\" \"),_c('v-fa-icon',{attrs:{\"icon\":\"info-circle\",\"x-small\":\"\"}})],1)]}}],null,true)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.exceptionPercentageTooltip\"))+\" \")])])]}}],null,true)},[(_vm.$vuetify.breakpoint.xs)?_c('template',{slot:\"body.append\"},[_c('tr',[_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(\" Total: \"),_c('span',{staticClass:\"float-right\"},[_vm._v(_vm._s(_vm.totalRowExceptionDataTable))])]),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}})])]):_c('template',{slot:\"body.append\"},[_c('tr',[_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(\"Total\")]),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}}),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}}),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}}),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}}),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(_vm._s(_vm.totalRowExceptionDataTable))])])]),_c('template',{slot:\"no-data\"},[(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noException\")))]):_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))])])],2)],1)],1)],1),(_vm.selectedException)?_c('v-dialog',{attrs:{\"max-width\":\"1000\"},model:{value:(_vm.showImageDialog),callback:function ($$v) {_vm.showImageDialog=$$v},expression:\"showImageDialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"text-h5 grey lighten-2 title-break\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.exceptionDetails\")))]),_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"align-self\":\"start\",\"justify\":\"start\",\"cols\":\"12\",\"md\":\"\"}},[_c('ul',{staticClass:\"mb-3\"},[_c('li',[_c('strong',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.area'))}}),_c('span',[_vm._v(\": \"+_vm._s(_vm.selectedException.areaDescr))])]),_c('li',[_c('strong',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.component'))}}),_c('span',[_vm._v(\": \"+_vm._s(_vm.selectedException.compDescr))])]),_c('li',[_c('strong',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.exception'))}}),_c('span',[_vm._v(\": \"+_vm._s(_vm.selectedException.codeDescr))])]),(_vm.selectedException.procType)?_c('li',[_c('strong',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.procType'))}}),_c('span',[_vm._v(\": \"+_vm._s(_vm.selectedException.procType))])]):_vm._e(),(_vm.selectedException.timestamps)?_c('li',[_c('strong',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.timestamps'))}}),_vm._v(\": \"),_c('ul',{staticStyle:{\"max-height\":\"200px\",\"overflow\":\"auto\",\"list-style-type\":\"'🕑'\"}},_vm._l((_vm.selectedException.timestamps),function(timestamp,index){return _c('li',{key:index},[_c('span',{staticClass:\"ml-2\"},[_vm._v(_vm._s(_vm.moment(timestamp).format(_vm.longDateFormat(true, false, false, true))))])])}),0)]):_vm._e()]),_c('span',{staticClass:\"text-h5 mt-4\"},[_vm._v(_vm._s(_vm.selectedException.descr))]),(_vm.selectedException.troub.length > 0)?_c('v-card',{staticClass:\"mt-3\",attrs:{\"color\":\"#BEE5EB\",\"light\":\"\",\"elevation\":\"0\"}},[_c('v-card-title',{staticClass:\"text-h5\",staticStyle:{\"background-color\":\"#17a2b8\",\"color\":\"#ffffff\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.troubleshootingGuide\"))+\" \")]),_c('v-card-text',{staticClass:\"text-body-1 mt-2\",staticStyle:{\"white-space\":\"pre-wrap\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.selectedException.troub)}})])],1):_vm._e()],1),_c('v-col',{attrs:{\"align-self\":\"center\",\"justify\":\"end\",\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"image\",\"loading\":_vm.loadingImage}},[_c('v-img',{attrs:{\"src\":'data:image/png;base64,' + _vm.selectedException.image,\"contain\":\"\",\"aspect-ratio\":\"1\"}})],1),(_vm.selectedException.legend)?_c('div',{staticClass:\"px-2 pt-2 mt-2\",staticStyle:{\"border\":\"thin solid rgba(0, 0, 0, 0.12)\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.legend\"))+\" \")]),_c('br'),_c('span',{staticStyle:{\"white-space\":\"pre-line\"}},[_vm._v(\" \"+_vm._s(_vm.selectedException.legend)+\" \")])]):_vm._e()],1)],1)],1)],1)],1):_vm._e()],1)],1)],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\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 from \"vue\";\r\nimport { RootState } from \"@/store\";\r\nimport { mapGetters, mapState } from \"vuex\";\r\nimport moment from \"moment\";\r\n\r\nimport { FETCH_EXCEPTION_IMAGE } from \"@/store/modules/LogAnalysisModule/actions\";\r\nimport { Machine } from \"@/model/data/Machine\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean,\r\n processedCashList: Array,\r\n dateListString: Array,\r\n machineExceptionList: Array,\r\n troubleshooting: Object,\r\n unitLabelMap: Object,\r\n componentLabelMap: Object,\r\n imagesLegend: Map,\r\n startDate: Date,\r\n machine: Object as () => Machine,\r\n installationName: String,\r\n nDays: Number,\r\n },\r\n data() {\r\n return {\r\n showImageDialog: false,\r\n selectedException: undefined,\r\n loadingImage: false,\r\n exceptionTableHeader: [\r\n { text: this.$t(\"logAnalysis.exceptionCode\"), value: \"code\" },\r\n { text: this.$t(\"logAnalysis.exceptionArea\"), value: \"area\" },\r\n { text: this.$t(\"logAnalysis.exceptionComponent\"), value: \"component\" },\r\n { text: this.$t(\"logAnalysis.exceptionDescription\"), value: \"description\", sortable: false },\r\n { text: this.$t(\"logAnalysis.exceptionPercentage\"), value: \"percentage\" },\r\n { text: this.$t(\"logAnalysis.exceptionCount\"), value: \"number\" },\r\n { text: this.$t(\"logAnalysis.exceptionImage\"), value: \"image\" },\r\n ],\r\n exceptionTableData: [],\r\n seriesMETrendList: [],\r\n totalRowExceptionDataTable: 0,\r\n maxYValue: 0,\r\n moment,\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n userTheme: (state: RootState) => state.authMod.currentUser.userConfig.theme,\r\n }),\r\n ...mapGetters([\"longDateFormat\"]),\r\n chartMachineExceptionsTrend() {\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"bar\",\r\n stacked: true,\r\n height: 350,\r\n zoom: {\r\n enabled: false,\r\n },\r\n animations: {\r\n enabled: false,\r\n },\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: false,\r\n },\r\n },\r\n grid: {\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n type: \"category\",\r\n categories: this.dateListString,\r\n tickPlacement: \"on\",\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: (val) => val.toFixed(0),\r\n },\r\n max: this.maxYValue + 1,\r\n },\r\n },\r\n series: this.seriesMETrendList,\r\n };\r\n },\r\n },\r\n methods: {\r\n setRowStyle() {\r\n return \"style-1\";\r\n },\r\n openImageDialog(value) {\r\n this.showImageDialog = true;\r\n let troubGuide = value.troub;\r\n let cause = this.$t(\"logAnalysis.cause\");\r\n let solution = this.$t(\"logAnalysis.solution\");\r\n let regExp = new RegExp(\".*(\" + cause + \"|\" + solution + \").*\", \"ig\");\r\n let causeOrSolutionWords = troubGuide.match(regExp);\r\n if (causeOrSolutionWords != null)\r\n causeOrSolutionWords.forEach((word) => {\r\n troubGuide = troubGuide.replace(word, \"\" + word + \"\");\r\n });\r\n this.selectedException = {\r\n exc: value.exc,\r\n image: \"\",\r\n areaDescr: value.area,\r\n codeDescr: value.code,\r\n compDescr: value.component,\r\n descr: value.description,\r\n procType: value.exc.processType != null ? this.$t(\"logAnalysis.processType_\" + value.exc.processType) : \"\",\r\n troub: troubGuide,\r\n legend: value.legend,\r\n timestamps: value.timestamps,\r\n };\r\n this.getMachineImage();\r\n },\r\n async getMachineImage() {\r\n let toHash = {\r\n area: this.selectedException.exc.area,\r\n unitId: this.selectedException.exc.unitId,\r\n code: this.selectedException.exc.code,\r\n hwId: this.selectedException.exc.hwId,\r\n hwType: this.selectedException.exc.hwType,\r\n model: this.machine.model,\r\n };\r\n let excHash = this.hashCode(JSON.stringify(toHash));\r\n if (!this.$store.state.logAnalysis.cachedImages.has(excHash)) {\r\n this.loadingImage = true;\r\n let date = this.selectedException.exc.dateTime;\r\n this.selectedException.exc.dateTime = new Date(\r\n Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds())\r\n );\r\n await this.$store.dispatch(FETCH_EXCEPTION_IMAGE, {\r\n installationName: this.installationName,\r\n serialNumber: this.machine.serialNumber,\r\n exc: this.selectedException.exc,\r\n excHash: excHash,\r\n });\r\n this.loadingImage = false;\r\n }\r\n this.selectedException.image = this.$store.state.logAnalysis.cachedImages.get(excHash);\r\n },\r\n hashCode(str: string, seed = 0) {\r\n let h1 = 0xdeadbeef ^ seed,\r\n h2 = 0x41c6ce57 ^ seed;\r\n for (let i = 0, ch; i < str.length; i++) {\r\n ch = str.charCodeAt(i);\r\n h1 = Math.imul(h1 ^ ch, 2654435761);\r\n h2 = Math.imul(h2 ^ ch, 1597334677);\r\n }\r\n h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);\r\n h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);\r\n return 4294967296 * (2097151 & h2) + (h1 >>> 0);\r\n },\r\n reset() {\r\n this.seriesMETrendList = [];\r\n this.exceptionTableData = [];\r\n this.totalRowExceptionDataTable = 0;\r\n this.maxYValue = 0;\r\n },\r\n },\r\n watch: {\r\n machineExceptionList: {\r\n handler(value) {\r\n this.reset();\r\n if (value && value.length) {\r\n let machineExceptionTrendMap = new Map>();\r\n let codes = [...new Set(this.machineExceptionList.map((me) => me.getHexCode()))];\r\n codes.forEach((code) => {\r\n machineExceptionTrendMap.set(code, new Array(this.nDays).fill(0));\r\n });\r\n let codeDescription = \"-\";\r\n let excDescription = \"-\";\r\n let excDict = null;\r\n let meTableDataMap = new Map();\r\n let exceptionMapIndexes = new Map();\r\n this.machineExceptionList.forEach((me, i) => {\r\n let utcDate = Date.UTC(me.dateTime.getFullYear(), me.dateTime.getMonth(), me.dateTime.getDate(), 0, 0, 0);\r\n let dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n machineExceptionTrendMap.get(me.getHexCode())[dayIndex] += 1;\r\n let area = me.unitId <= 0 ? me.area : me.unitId;\r\n let key = me.code + \",\" + area.toString(10) + \",\" + me.hwId.toString(10);\r\n if (!meTableDataMap.has(key)) meTableDataMap.set(key, 0);\r\n meTableDataMap.set(key, meTableDataMap.get(key) + 1);\r\n this.totalRowExceptionDataTable += 1;\r\n exceptionMapIndexes.set(key, i);\r\n });\r\n meTableDataMap.forEach((value, key) => {\r\n let keyArr = key.split(\",\");\r\n excDict = this.troubleshooting[keyArr[0]];\r\n if (excDict != null && excDict != undefined) {\r\n codeDescription = excDict.title;\r\n excDescription = excDict.descr;\r\n }\r\n let exc = this.machineExceptionList[exceptionMapIndexes.get(key)];\r\n let formattedCode = \"\";\r\n if (codeDescription.includes(\":\")) formattedCode = codeDescription;\r\n else formattedCode = exc.getHexCode() + \": \" + codeDescription;\r\n let timestamps = this.machineExceptionList\r\n .filter((me) => me.code == keyArr[0] && (me.area == keyArr[1] || me.unitId == keyArr[1]) && me.hwId == keyArr[2])\r\n .map((me) => me.dateTime);\r\n this.exceptionTableData.push({\r\n code: formattedCode,\r\n area: this.unitLabelMap[keyArr[1]],\r\n component: this.componentLabelMap[exc.hwType + \",\" + exc.hwId],\r\n description: excDescription,\r\n number: value,\r\n percentage: ((value * 100) / this.totalRowExceptionDataTable).toFixed(0) + \"%\",\r\n troub: excDict && excDict.troub ? excDict.troub : \"\",\r\n exc: exc,\r\n legend: this.imagesLegend.get(exc.id.toString()),\r\n timestamps: timestamps,\r\n });\r\n });\r\n let maxValue = Array(this.nDays).fill(0);\r\n machineExceptionTrendMap.forEach((value, key) => {\r\n let keyLabel = this.troubleshooting[parseInt(key, 16)].title;\r\n value.forEach((element, i) => {\r\n maxValue[i] += element;\r\n });\r\n if (!value.every((element) => element === 0)) {\r\n this.seriesMETrendList.push({ name: keyLabel && keyLabel.includes(\":\") ? keyLabel.split(\":\")[0] : key, data: value });\r\n }\r\n });\r\n this.maxYValue = Math.max(...maxValue);\r\n }\r\n },\r\n immediate: true,\r\n deep: true,\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MachineExceptionCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MachineExceptionCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MachineExceptionCard.vue?vue&type=template&id=3187e626&\"\nimport script from \"./MachineExceptionCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./MachineExceptionCard.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VCol,VContainer,VDataTable,VDialog,VImg,VRow,VSkeletonLoader,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.sensorsAvgCalLevel\")))]),(_vm.chartSensorCalibrationTrend.series.length > 0)?_c('v-card-text',[_c('apexchart',{ref:\"scChart\",staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":\"550\",\"options\":_vm.chartSensorCalibrationTrend.options,\"series\":_vm.chartSensorCalibrationTrend.series}})],1):_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))])],1)],1)],1)],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\n\n\n\r\nimport Vue from \"vue\";\r\nimport { RootState } from \"@/store\";\r\nimport { mapState } from \"vuex\";\r\n\r\nimport { SensorCalibration } from \"@/model/data/logAnalysis/SensorCalibration\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n sensorCalibrationList: Array,\r\n sensorsLabels: Map,\r\n loading: Boolean,\r\n startDate: Date,\r\n dateListString: Array,\r\n nDays: Number,\r\n },\r\n data() {\r\n return {\r\n seriesSCTrendList: [],\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n userTheme: (state: RootState) => state.authMod.currentUser.userConfig.theme,\r\n }),\r\n chartSensorCalibrationTrend() {\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"line\",\r\n zoom: {\r\n enabled: true,\r\n },\r\n animations: {\r\n enabled: false,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: \"straight\",\r\n },\r\n grid: {\r\n row: {\r\n colors: [\"#f3f3f3\", \"transparent\"],\r\n opacity: 0.5,\r\n },\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n xaxis: {\r\n type: \"category\",\r\n categories: this.dateListString,\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: (value) => {\r\n if (value != null) {\r\n return value % 1 == 0 ? value.toFixed(0) : value.toFixed(2);\r\n }\r\n return null;\r\n },\r\n },\r\n },\r\n tooltip: {\r\n shared: false,\r\n y: {\r\n formatter: (value) => (value != null ? value.toFixed(2) : null),\r\n },\r\n },\r\n markers: {\r\n size: 4,\r\n colors: undefined,\r\n strokeColors: \"#fff\",\r\n strokeWidth: 2,\r\n strokeOpacity: 0.9,\r\n strokeDashArray: 0,\r\n fillOpacity: 1,\r\n discrete: [],\r\n shape: \"circle\",\r\n radius: 2,\r\n offsetX: 0,\r\n offsetY: 0,\r\n onClick: undefined,\r\n onDblClick: undefined,\r\n showNullDataPoints: true,\r\n },\r\n },\r\n series: this.seriesSCTrendList,\r\n };\r\n },\r\n },\r\n watch: {\r\n sensorCalibrationList: {\r\n handler(value) {\r\n this.seriesSCTrendList = [];\r\n if (value && value.length) {\r\n let sensorCalibrationMap = new Map>();\r\n this.sensorCalibrationList.forEach((sc) => {\r\n let utcDate = Date.UTC(sc.dateTime.getFullYear(), sc.dateTime.getMonth(), sc.dateTime.getDate(), 0, 0, 0);\r\n let dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n if (!sensorCalibrationMap.has(sc.sensorNum)) sensorCalibrationMap.set(sc.sensorNum, new Array(this.nDays).fill(null));\r\n sensorCalibrationMap.get(sc.sensorNum)[dayIndex] = sc;\r\n });\r\n sensorCalibrationMap.forEach((value, key) => {\r\n let data = [];\r\n value.forEach((sc, i) => {\r\n if (sc == null) {\r\n if (i > 0) data.push(data[i - 1]);\r\n else data.push(null);\r\n } else data.push(sc.averageCalibrationLevel);\r\n });\r\n this.seriesSCTrendList.push({ name: this.sensorsLabels.get(key.toString()), data: data });\r\n });\r\n }\r\n },\r\n deep: true,\r\n immediate: true,\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SensorCalibrationCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SensorCalibrationCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SensorCalibrationCard.vue?vue&type=template&id=8064da56&\"\nimport script from \"./SensorCalibrationCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./SensorCalibrationCard.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VRow,VSkeletonLoader})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"mr-3\",attrs:{\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[(_vm.machine.supportedCashType == 1)?_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.pcBanknoteByType\"))+\" \")]):_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.pcCoinByType\"))+\" \")]),(_vm.chartProcessedCashType.series.length > 0)?_c('v-card-text',[_c('apexchart',{staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":_vm.$vuetify.breakpoint.mdAndUp ? '' : '350',\"options\":_vm.chartProcessedCashType.options,\"series\":_vm.chartProcessedCashType.series}})],1):_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))])],1)],1)],1),_c('v-col',{staticClass:\"mr-3\",attrs:{\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading.pc}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.pcByType\")))]),(_vm.chartProcessedCashTrend.series.length > 0)?_c('v-card-text',[_c('apexchart',{staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":_vm.$vuetify.breakpoint.mdAndUp ? '' : '350',\"options\":_vm.chartProcessedCashTrend.options,\"series\":_vm.chartProcessedCashTrend.series}})],1):_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))])],1)],1)],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { RootState } from \"@/store\";\r\n\r\nimport { Machine } from \"@/model/data/Machine\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n machine: Object as () => Machine,\r\n processedCashList: Array,\r\n nDays: Number,\r\n dateListString: Array,\r\n loading: Boolean,\r\n seriesPCTypeList: Array,\r\n seriesPCTrendList: Array,\r\n },\r\n computed: {\r\n ...mapState({\r\n userTheme: (state: RootState) => state.authMod.currentUser.userConfig.theme,\r\n }),\r\n isDepositMachine() {\r\n if (this.machine && this.machine.model) {\r\n if (this.machine.model.match(/SDM (500.*|100.*|50[A-Za-z\\s]+|10[A-Za-z\\s]+)/g)) return true;\r\n }\r\n return false;\r\n },\r\n chartProcessedCashType() {\r\n let categories = [this.$t(\"logAnalysis.deposited\")];\r\n if (!this.isDepositMachine) categories.push(this.$t(\"logAnalysis.withdrawn\"));\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"bar\",\r\n animations: {\r\n enabled: false,\r\n },\r\n },\r\n grid: {\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n barHeight: \"50%\",\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: categories,\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: (value) => new Intl.NumberFormat(navigator.language).format(value),\r\n },\r\n },\r\n },\r\n series: this.seriesPCTypeList,\r\n };\r\n },\r\n chartProcessedCashTrend() {\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"bar\",\r\n stacked: true,\r\n animations: {\r\n enabled: false,\r\n },\r\n zoom: {\r\n enabled: false,\r\n },\r\n },\r\n grid: {\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: false,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n type: \"category\",\r\n categories: this.dateListString,\r\n tickPlacement: \"on\",\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: (value) => new Intl.NumberFormat(navigator.language).format(value),\r\n },\r\n },\r\n },\r\n series: this.seriesPCTrendList,\r\n };\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcessedCashCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcessedCashCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcessedCashCard.vue?vue&type=template&id=b0d7f0ec&\"\nimport script from \"./ProcessedCashCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcessedCashCard.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VRow,VSkeletonLoader})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',[_c('v-skeleton-loader',{attrs:{\"type\":\"table\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.rejectByFamily\")))]),_c('v-card-text',[_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.rejectTableHeader,\"items\":_vm.rejectTableData,\"hide-default-footer\":\"\",\"item-class\":_vm.$vuetify.breakpoint.xs ? _vm.setRowStyle : ''},scopedSlots:_vm._u([{key:\"header.percentage\",fn:function(ref){\nvar header = ref.header;\nreturn [_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_vm._v(\" \"+_vm._s(header.text)+\" \"),_c('v-fa-icon',{attrs:{\"icon\":\"info-circle\",\"x-small\":\"\"}})],1)]}}],null,true)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.rejectPercentageTooltip\"))+\" \")])])]}}],null,true)},[(_vm.$vuetify.breakpoint.xs)?_c('template',{slot:\"body.append\"},[_c('tr',[_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(\" Total: \"),_c('span',{staticClass:\"float-right\"},[_vm._v(_vm._s(_vm.totalRowRejectDataTable.number))])]),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}})]),_c('tr',[_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(\" Total %: \"),_c('span',{staticClass:\"float-right\"},[_vm._v(_vm._s(_vm.totalRowRejectDataTable.percentage.toFixed(2))+\"%\")])]),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}})])]):_c('template',{slot:\"body.append\"},[_c('tr',[_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(\"Total\")]),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}}),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(_vm._s(_vm.totalRowRejectDataTable.number))]),_c('th',{staticStyle:{\"font-size\":\"16px\"},attrs:{\"scope\":\"row\"}},[_vm._v(_vm._s(_vm.totalRowRejectDataTable.percentage.toFixed(2))+\"%\")])])]),_c('template',{slot:\"no-data\"},[(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noReject\")))]):_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))])])],2)],1)],1)],1)],1),_c('v-col',{staticClass:\"mr-3\",attrs:{\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.rejectByType\")))]),(_vm.chartRejectType.series.length > 0)?_c('v-card-text',[_c('apexchart',{staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":\"350\",\"options\":_vm.chartRejectType.options,\"series\":_vm.chartRejectType.series}})],1):(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noReject\")))]):(!_vm.processedCashList || _vm.processedCashList.length == 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))]):_vm._e()],1)],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading,\"height\":\"100%\"}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.rejectTrendByCause\")))]),(_vm.chartRejectTrend.series.length > 0)?_c('v-card-text',[_c('apexchart',{staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":\"450\",\"options\":_vm.chartRejectTrend.options,\"series\":_vm.chartRejectTrend.series}})],1):(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noReject\")))]):(!_vm.processedCashList || _vm.processedCashList.length == 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))]):_vm._e()],1)],1)],1),_c('v-col',{attrs:{\"md\":\"4\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"table\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.legend\")))]),_c('v-card-text',[_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.rejectLegendHeader,\"items\":_vm.rejectLegendData,\"hide-default-footer\":\"\",\"item-class\":_vm.$vuetify.breakpoint.mdAndUp ? '' : _vm.setRowStyle,\"disable-pagination\":\"\"}},[_c('template',{slot:\"no-data\"},[(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noReject\")))]):_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))])])],2)],1)],1)],1)],1)],1)],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\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 from \"vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { RootState } from \"@/store\";\r\n\r\nimport { Machine } from \"@/model/data/Machine\";\r\nimport { familyLabelToIndex } from \"@/model/data/logAnalysis/Reject\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n machine: Object as () => Machine,\r\n processedCashList: Array,\r\n nDays: Number,\r\n dateListString: Array,\r\n loading: Boolean,\r\n rejectList: Array,\r\n rejectCauseMap: Object,\r\n rejectsFamilyMap: Map,\r\n familyLabelMap: Map,\r\n startDate: Date,\r\n seriesPCTrendList: Array,\r\n },\r\n data() {\r\n return {\r\n seriesList: [],\r\n rejectTypeList: [],\r\n seriesTypeList: [],\r\n rejectTableData: [],\r\n rejectTableHeader: [\r\n { text: this.$t(\"logAnalysis.rejectFamily\"), value: \"family\", sortable: false },\r\n { text: this.$t(\"logAnalysis.rejectCause\"), value: \"cause\", sortable: false },\r\n { text: this.$t(\"logAnalysis.rejectCount\"), value: \"number\" },\r\n { text: this.$t(\"logAnalysis.rejectPercentage\"), value: \"percentage\" },\r\n ],\r\n rejectLegendHeader: [\r\n { text: this.$t(\"logAnalysis.rejectCause\"), value: \"cause\", sortable: false },\r\n { text: this.$t(\"logAnalysis.rejectDescription\"), value: \"description\", sortable: false },\r\n ],\r\n rejectLegendData: [],\r\n totalRowRejectDataTable: {\r\n number: 0,\r\n percentage: 0,\r\n },\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n userTheme: (state: RootState) => state.authMod.currentUser.userConfig.theme,\r\n }),\r\n chartRejectTrend() {\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"area\",\r\n stacked: true,\r\n zoom: {\r\n enabled: false,\r\n },\r\n animations: {\r\n enabled: false,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n stroke: {\r\n curve: \"straight\",\r\n },\r\n grid: {\r\n row: {\r\n colors: [\"#f3f3f3\", \"transparent\"], // takes an array which will be repeated on columns\r\n opacity: 0.5,\r\n },\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n xaxis: {\r\n type: \"category\",\r\n categories: this.dateListString,\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: (value) => {\r\n if (value != null) {\r\n return (value % 1 == 0 ? value.toFixed(0) : value.toFixed(2)) + \"%\";\r\n }\r\n return null;\r\n },\r\n },\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: (value) => (value != null ? value.toFixed(2) + \"%\" : null),\r\n },\r\n },\r\n },\r\n series: this.seriesList,\r\n };\r\n },\r\n chartRejectType() {\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"bar\",\r\n animations: {\r\n enabled: false,\r\n },\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: true,\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n categories: this.rejectTypeList,\r\n labels: {\r\n formatter: (value) => value.toFixed(2) + \"%\",\r\n },\r\n },\r\n grid: {\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n tooltip: {\r\n y: {\r\n formatter: (value) => value.toFixed(2) + \"%\",\r\n },\r\n },\r\n },\r\n series: this.seriesTypeList,\r\n };\r\n },\r\n },\r\n watch: {\r\n rejectList: {\r\n handler(value) {\r\n this.seriesList = [];\r\n this.rejectTypeList = [];\r\n this.seriesTypeList = [];\r\n this.rejectTableData = [];\r\n this.rejectLegendData = [];\r\n this.totalRowRejectDataTable = {\r\n number: 0,\r\n percentage: 0,\r\n };\r\n if (value && value.length) {\r\n if (this.rejectCauseMap != null && this.rejectCauseMap != undefined)\r\n Object.keys(this.rejectCauseMap)\r\n .sort((a, b) => a.localeCompare(b))\r\n .forEach((key) => {\r\n this.rejectLegendData.push({ cause: key, description: this.rejectCauseMap[key] });\r\n });\r\n let seriesTable = new Map>();\r\n\r\n let causes = [...new Set(this.rejectList.map((reject) => reject.cause))];\r\n let rejectCausebyFamily = new Map>();\r\n let fillerList = new Array(this.nDays).fill(null);\r\n this.processedCashList.forEach((pc) => {\r\n let utcDate = Date.UTC(pc.dateTime.getFullYear(), pc.dateTime.getMonth(), pc.dateTime.getDate(), 0, 0, 0);\r\n let dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n fillerList[dayIndex] = 0;\r\n });\r\n let keyCause = null;\r\n causes.forEach((cause) => {\r\n seriesTable.set(cause, Array.from(fillerList));\r\n if (this.rejectsFamilyMap.get(cause) == undefined) keyCause = \"default\";\r\n else keyCause = cause;\r\n if (rejectCausebyFamily.has(this.rejectsFamilyMap.get(keyCause))) rejectCausebyFamily.get(this.rejectsFamilyMap.get(keyCause)).push(cause);\r\n else rejectCausebyFamily.set(this.rejectsFamilyMap.get(keyCause), [cause]);\r\n });\r\n\r\n let totalReject = new Array(this.nDays).fill(0);\r\n this.rejectList.forEach((reject) => {\r\n let utcDate = Date.UTC(reject.dateTime.getFullYear(), reject.dateTime.getMonth(), reject.dateTime.getDate(), 0, 0, 0);\r\n let dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n totalReject[dayIndex] += reject.count;\r\n });\r\n let rejectTypeMap = new Map();\r\n this.rejectList.forEach((reject) => {\r\n let utcDate = Date.UTC(reject.dateTime.getFullYear(), reject.dateTime.getMonth(), reject.dateTime.getDate(), 0, 0, 0);\r\n let dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n seriesTable.get(reject.cause)[dayIndex] = (reject.count * 100) / (this.seriesPCTrendList[0].data[dayIndex] + totalReject[dayIndex]);\r\n if (rejectTypeMap.has(reject.cause)) rejectTypeMap.set(reject.cause, rejectTypeMap.get(reject.cause) + reject.count);\r\n else rejectTypeMap.set(reject.cause, reject.count);\r\n });\r\n let totalDepositedAndReject =\r\n this.processedCashList.map((pc) => pc.deposited).reduce((accumulator, curr) => accumulator + curr) +\r\n totalReject.reduce((accumulator, curr) => accumulator + curr);\r\n rejectTypeMap = new Map([...rejectTypeMap.entries()].sort((a, b) => String(a[0]).localeCompare(b[0])));\r\n this.rejectTypeList = Array.from(rejectTypeMap.keys());\r\n this.seriesTypeList = [{ name: \"Reject\", data: Array.from(rejectTypeMap.values()).map((r) => (r * 100) / totalDepositedAndReject) }];\r\n seriesTable.forEach((value, key) => {\r\n this.seriesList.push({ name: key, data: value });\r\n });\r\n rejectCausebyFamily = new Map([...rejectCausebyFamily.entries()].sort((a, b) => familyLabelToIndex.get(a[0]) - familyLabelToIndex.get(b[0])));\r\n rejectCausebyFamily.forEach((value, key) => {\r\n let number = value.map((c) => rejectTypeMap.get(c)).reduce((acc, curr) => acc + curr);\r\n let percentage = (number * 100) / totalDepositedAndReject;\r\n this.totalRowRejectDataTable.number += number;\r\n this.totalRowRejectDataTable.percentage += percentage;\r\n this.rejectTableData.push({ family: this.familyLabelMap.get(key), cause: value.join(\",\"), number: number, percentage: percentage.toFixed(2) + \"%\" });\r\n });\r\n }\r\n },\r\n deep: true,\r\n immediate: true,\r\n },\r\n },\r\n methods: {\r\n setRowStyle() {\r\n return \"style-1\";\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RejectCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RejectCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RejectCard.vue?vue&type=template&id=7d67d0b8&\"\nimport script from \"./RejectCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./RejectCard.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VDataTable,VRow,VSkeletonLoader,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"mr-3\",attrs:{\"cols\":\"12\",\"md\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"list-item, image\",\"loading\":_vm.loading}},[_c('v-card',{attrs:{\"outlined\":\"\"}},[_c('v-card-title',{staticClass:\"title-break\"},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.cslTrend\")))]),(_vm.chartCServiceLogonTrend.series && _vm.chartCServiceLogonTrend.series.length > 0)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"8\"}},[_c('apexchart',{staticStyle:{\"background\":\"transparent\"},attrs:{\"width\":\"100%\",\"height\":\"350\",\"options\":_vm.chartCServiceLogonTrend.options,\"series\":_vm.chartCServiceLogonTrend.series}})],1),_c('v-col',{staticClass:\"mr-2\",attrs:{\"cols\":\"12\",\"lg\":\"\"}},[_c('v-timeline',{staticStyle:{\"max-height\":\"350px\",\"overflow\":\"auto\"},attrs:{\"dense\":\"\"}},_vm._l((_vm.cserviceLogonList),function(logon,index){return _c('v-timeline-item',{key:index,attrs:{\"color\":\"primary\",\"small\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"mr-2\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"primary--text\"},[_vm._v(\" \"+_vm._s(_vm.moment(logon.dateTime).format(_vm.longDateFormat(true, true, true, true)))+\" \")])]),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.technicianId\"))+\": \"+_vm._s(logon.userKId))])])],1)],1)}),1)],1)],1):(_vm.processedCashList && _vm.processedCashList.length > 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noLogon\")))]):(!_vm.cserviceLogonList || _vm.cserviceLogonList.length == 0)?_c('v-card-text',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.noData\")))]):_vm._e()],1)],1)],1)],1)],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\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 from \"vue\";\r\nimport moment from \"moment\";\r\nimport { RootState } from \"@/store\";\r\nimport { mapGetters, mapState } from \"vuex\";\r\n\r\nimport { Machine } from \"@/model/data/Machine\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean,\r\n dateListString: Array,\r\n cserviceLogonList: Array,\r\n processedCashList: Array,\r\n startDate: Date,\r\n machine: Object as () => Machine,\r\n installationName: String,\r\n nDays: Number,\r\n },\r\n data() {\r\n return {\r\n showImageDialog: false,\r\n selectedException: undefined,\r\n loadingImage: false,\r\n seriesCSLTrendList: [],\r\n maxYValue: 0,\r\n moment,\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n userTheme: (state: RootState) => state.authMod.currentUser.userConfig.theme,\r\n }),\r\n ...mapGetters([\"longDateFormat\"]),\r\n chartCServiceLogonTrend() {\r\n return {\r\n options: {\r\n theme: {\r\n mode: this.userTheme,\r\n },\r\n chart: {\r\n type: \"bar\",\r\n stacked: true,\r\n height: 350,\r\n zoom: {\r\n enabled: false,\r\n },\r\n animations: {\r\n enabled: false,\r\n },\r\n },\r\n plotOptions: {\r\n bar: {\r\n borderRadius: 4,\r\n horizontal: false,\r\n },\r\n },\r\n grid: {\r\n xaxis: {\r\n lines: {\r\n show: false,\r\n },\r\n },\r\n },\r\n dataLabels: {\r\n enabled: false,\r\n },\r\n xaxis: {\r\n type: \"category\",\r\n categories: this.dateListString,\r\n tickPlacement: \"on\",\r\n },\r\n yaxis: {\r\n labels: {\r\n formatter: (val) => val.toFixed(0),\r\n },\r\n max: this.maxYValue + 1,\r\n },\r\n },\r\n series: this.seriesCSLTrendList,\r\n };\r\n },\r\n },\r\n methods: {\r\n setRowStyle() {\r\n return \"style-1\";\r\n },\r\n reset() {\r\n this.seriesCSLTrendList = [];\r\n this.logonTableData = [];\r\n this.totalRowExceptionDataTable = 0;\r\n this.maxYValue = 0;\r\n },\r\n },\r\n watch: {\r\n cserviceLogonList: {\r\n handler(value) {\r\n this.reset();\r\n if (value && value.length) {\r\n let cserviceLogonTrendMap = new Map>();\r\n this.cserviceLogonList.forEach((csl) => {\r\n let utcDate = Date.UTC(csl.dateTime.getFullYear(), csl.dateTime.getMonth(), csl.dateTime.getDate(), 0, 0, 0);\r\n let dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n if (!cserviceLogonTrendMap.get(csl.userKId)) cserviceLogonTrendMap.set(csl.userKId, new Array(this.nDays).fill(0));\r\n cserviceLogonTrendMap.get(csl.userKId)[dayIndex] += 1;\r\n });\r\n let maxValue = Array(this.nDays).fill(0);\r\n cserviceLogonTrendMap.forEach((value, key) => {\r\n value.forEach((element, i) => {\r\n maxValue[i] += element;\r\n });\r\n this.seriesCSLTrendList.push({ name: key, data: value });\r\n });\r\n this.maxYValue = Math.max(...maxValue);\r\n }\r\n },\r\n immediate: true,\r\n deep: true,\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CServiceLogonCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CServiceLogonCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CServiceLogonCard.vue?vue&type=template&id=b25f2102&\"\nimport script from \"./CServiceLogonCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./CServiceLogonCard.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VTimeline } from 'vuetify/lib/components/VTimeline';\nimport { VTimelineItem } from 'vuetify/lib/components/VTimeline';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VCol,VRow,VSkeletonLoader,VTimeline,VTimelineItem})\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\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, { PropType } from \"vue\";\r\nimport i18n from \"@/lang\";\r\nimport moment from \"moment\";\r\nimport { mapGetters } from \"vuex\";\r\n\r\n// Model\r\nimport { GetMachineRejectsResData } from \"@/model/communication/logAnalysis/GetMachineRejectsResData\";\r\nimport { GetMachineRejectsCommand, GetMachineRejectsReqData } from \"@/model/communication/logAnalysis/GetMachineRejectsCommand\";\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\nimport { GetProcessedCashCommand, GetProcessedCashReqData } from \"@/model/communication/logAnalysis/GetProcessedCashCommand\";\r\nimport { GetProcessedCashResData } from \"@/model/communication/logAnalysis/GetProcessedCashResData\";\r\nimport { Machine } from \"@/model/data/Machine\";\r\nimport { Reject } from \"@/model/data/logAnalysis/Reject\";\r\nimport { GetMachineExceptionsReqData, GetMachineExceptionsCommand } from \"@/model/communication/logAnalysis/GetMachineExceptionsCommand\";\r\nimport { GetMachineExceptionsResData } from \"@/model/communication/logAnalysis/GetMachineExceptionsResData\";\r\nimport { MachineException } from \"@/model/data/logAnalysis/MachineException\";\r\nimport { ProcessedCash } from \"@/model/data/logAnalysis/ProcessedCash\";\r\nimport { GetSensorsCalibrationCommand, GetSensorsCalibrationReqData } from \"@/model/communication/logAnalysis/GetSensorCalibrationsCommand\";\r\nimport { GetSensorsCalibrationResData } from \"@/model/communication/logAnalysis/GetSensorsCalibrationResData\";\r\nimport { GetCServiceLogonCommand } from \"@/model/communication/logAnalysis/GetCServiceLogonCommand\";\r\nimport { GetCServiceLogonResData } from \"@/model/communication/logAnalysis/GetCServiceLogonResData\";\r\nimport { CashTypeEnum } from \"@/model/data/enums/CashTypeEnum\";\r\n\r\nimport MachineExceptionCard from \"./MachineExceptionCard.vue\";\r\nimport SensorCalibrationCard from \"./SensorCalibrationCard.vue\";\r\nimport ProcessedCashCard from \"./ProcessedCashCard.vue\";\r\nimport RejectCard from \"./RejectCard.vue\";\r\nimport CServiceLogonCard from \"./CServiceLogonCard.vue\";\r\n\r\nexport default Vue.extend({\r\n components: { MachineExceptionCard, SensorCalibrationCard, ProcessedCashCard, RejectCard, CServiceLogonCard },\r\n props: {\r\n machine: Object as PropType,\r\n installationName: String,\r\n startDateProps: {\r\n type: Date,\r\n default: null,\r\n },\r\n endDateProps: {\r\n type: Date,\r\n default: null,\r\n },\r\n hideDaysToogle: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n data() {\r\n return {\r\n startDate: null,\r\n endDate: null,\r\n nDays: 15,\r\n rejectList: new Array(),\r\n dateListString: [],\r\n processedCashList: new Array(),\r\n seriesPCTypeList: [],\r\n seriesPCTrendList: [],\r\n machineExceptionList: new Array(),\r\n daysButton: 1,\r\n loading: {\r\n reject: true,\r\n pc: true,\r\n sc: true,\r\n me: true,\r\n csl: true,\r\n },\r\n logIntervalString: i18n.t(\"logAnalysis.noData\"),\r\n CashTypeEnum,\r\n troubleshooting: null,\r\n unitLabelMap: null,\r\n componentLabelMap: null,\r\n imagesLegend: null,\r\n sensorCalibrationList: [],\r\n sensorsLabels: null,\r\n rejectCauseMap: null,\r\n rejectsFamilyMap: null,\r\n familyLabelMap: null,\r\n rejectPercentage: 0,\r\n cserviceLogonList: [],\r\n };\r\n },\r\n computed: {\r\n ...mapGetters([\"userDateFormat\"]),\r\n\r\n isDepositMachine() {\r\n if (this.machine && this.machine.model) {\r\n if (this.machine.model.match(/SDM (500.*|100.*|50[A-Za-z\\s]+|10[A-Za-z\\s]+)/g)) return true;\r\n }\r\n return false;\r\n },\r\n interventionsCount() {\r\n if (this.cserviceLogonList && this.cserviceLogonList.length)\r\n return this.cserviceLogonList.map((c) => moment(c.dateTime).format(\"YYYY-MM-DD\")).filter((v, i, a) => a.indexOf(v) === i).length;\r\n return 0;\r\n },\r\n },\r\n watch: {\r\n daysButton() {\r\n switch (this.daysButton) {\r\n case 0:\r\n this.nDays = 7;\r\n break;\r\n case 1:\r\n this.nDays = 15;\r\n break;\r\n case 2:\r\n this.nDays = 30;\r\n break;\r\n default:\r\n this.nDays = 15;\r\n }\r\n this.reset();\r\n this.getData();\r\n },\r\n machine() {\r\n this.reset();\r\n this.getData();\r\n },\r\n },\r\n created() {\r\n this.getData();\r\n },\r\n methods: {\r\n getData() {\r\n this.computeStartEndDate();\r\n this.getRejectData();\r\n this.getMachineExceptionData();\r\n this.getSensorsCalibration();\r\n this.getCServiceLogon();\r\n },\r\n reset() {\r\n this.startDate = null;\r\n this.endDate = null;\r\n this.rejectList = null;\r\n this.rejectCauseMap = null;\r\n this.rejectsFamilyMap = null;\r\n this.familyLabelMap = null;\r\n this.dateListString = [];\r\n this.processedCashList = null;\r\n this.seriesPCTypeList = [];\r\n this.seriesPCTrendList = [];\r\n this.machineExceptionList = null;\r\n this.loading = {\r\n reject: true,\r\n pc: true,\r\n sc: true,\r\n me: true,\r\n };\r\n this.logIntervalString = i18n.t(\"logAnalysis.noData\");\r\n this.sensorCalibrationList = [];\r\n this.sensorsLabels = null;\r\n this.rejectPercentage = 0;\r\n },\r\n\r\n computeStartEndDate() {\r\n if (this.endDateProps == null) {\r\n this.endDate = new Date();\r\n this.endDate = this.subtractDays(new Date(this.endDate.getFullYear(), this.endDate.getMonth(), this.endDate.getDate()), 1);\r\n this.endDate = new Date(Date.UTC(this.endDate.getFullYear(), this.endDate.getMonth(), this.endDate.getDate(), 23, 59, 59));\r\n } else this.endDate = this.endDateProps;\r\n if (this.startDateProps == null) {\r\n this.startDate = this.subtractDays(new Date(this.endDate.getFullYear(), this.endDate.getMonth(), this.endDate.getDate()), this.nDays);\r\n this.startDate = new Date(Date.UTC(this.startDate.getFullYear(), this.startDate.getMonth(), this.startDate.getDate(), 0, 0, 0));\r\n } else this.startDate = this.startDateProps;\r\n if (this.startDateProps != null && this.endDateProps != null) this.nDays = Math.ceil((this.endDate.getTime() - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n\r\n let dateList = [];\r\n for (let i = 0; i < this.nDays; i++) dateList.push(this.addDays(this.startDate, i));\r\n dateList.forEach((date) => {\r\n this.dateListString.push(moment(date).utc().format(this.userDateFormat));\r\n });\r\n },\r\n async getRejectData() {\r\n try {\r\n this.reqData = new GetMachineRejectsReqData(this.installationName, this.machine.serialNumber, this.startDate, this.endDate);\r\n let response: GetMachineRejectsResData = await new GetMachineRejectsCommand(this.reqData).execute();\r\n await this.getProcessedCashData();\r\n if (response.responseStatus == ApiResponseStatusEnum.Success && response.rejects && response.rejects.length > 0) {\r\n this.rejectList = response.rejects;\r\n this.rejectCauseMap = response.rejectsCause;\r\n this.rejectsFamilyMap = response.rejectsFamily;\r\n this.familyLabelMap = response.familyLabel;\r\n let totalReject = this.rejectList.map((r) => r.count).reduce((accumulator, curr) => accumulator + curr);\r\n let totalDepositedAndReject = this.processedCashList.map((pc) => pc.deposited).reduce((accumulator, curr) => accumulator + curr) + totalReject;\r\n this.rejectPercentage = (totalReject * 100) / totalDepositedAndReject;\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending GetMachineRejectsCommand request \", e);\r\n }\r\n this.loading.reject = false;\r\n this.loading.pc = false;\r\n },\r\n async getProcessedCashData() {\r\n try {\r\n this.reqData = new GetProcessedCashReqData(this.installationName, this.machine.serialNumber, this.startDate, this.endDate);\r\n let response: GetProcessedCashResData = await new GetProcessedCashCommand(this.reqData).execute();\r\n if (response.responseStatus == ApiResponseStatusEnum.Success && response.processedCash && response.processedCash.length > 0) {\r\n this.processedCashList = response.processedCash;\r\n this.logIntervalString = `${i18n.t(\"logAnalysis.dataAvailable\")} ${i18n.t(\"logAnalysis.from\")} ${moment(this.processedCashList[0].dateTime).format(\r\n this.userDateFormat\r\n )} ${i18n.t(\"logAnalysis.to\")} ${moment(this.processedCashList[this.processedCashList.length - 1].dateTime).format(this.userDateFormat)}`;\r\n\r\n let data = [0];\r\n let pcTrendList = [{ name: i18n.t(\"logAnalysis.deposited\"), data: [] }];\r\n if (!this.isDepositMachine) {\r\n data.push(0);\r\n pcTrendList.push({ name: i18n.t(\"logAnalysis.withdrawn\"), data: [] });\r\n }\r\n\r\n this.seriesPCTypeList = [{ name: this.machine.supportedCashType == 1 ? i18n.t(\"logAnalysis.pcBanknote\") : i18n.t(\"logAnalysis.pcCoin\"), data: data }];\r\n this.seriesPCTrendList = pcTrendList;\r\n this.seriesPCTrendList[0].data = new Array(this.nDays).fill(0);\r\n if (this.seriesPCTrendList.length > 1) this.seriesPCTrendList[1].data = new Array(this.nDays).fill(0);\r\n let dayIndex = null;\r\n let initialDate = this.processedCashList[0].dateTime;\r\n let finalDate = this.processedCashList[this.processedCashList.length - 1].dateTime;\r\n let exceptDayList = this.dateListString.slice(\r\n Math.floor((Date.UTC(initialDate.getFullYear(), initialDate.getMonth(), initialDate.getDate(), 0, 0, 0) - this.startDate.getTime()) / (1000 * 3600 * 24)),\r\n Math.floor((Date.UTC(finalDate.getFullYear(), finalDate.getMonth(), finalDate.getDate(), 0, 0, 0) - this.startDate.getTime()) / (1000 * 3600 * 24) + 1)\r\n );\r\n this.processedCashList.forEach((pc) => {\r\n this.seriesPCTypeList[0].data[0] += pc.deposited;\r\n if (!this.isDepositMachine) this.seriesPCTypeList[0].data[1] += pc.withdrawn;\r\n let utcDate = Date.UTC(pc.dateTime.getFullYear(), pc.dateTime.getMonth(), pc.dateTime.getDate(), 0, 0, 0);\r\n dayIndex = Math.floor((utcDate - this.startDate.getTime()) / (1000 * 3600 * 24));\r\n this.seriesPCTrendList[0].data[dayIndex] = pc.deposited;\r\n if (!this.isDepositMachine) this.seriesPCTrendList[1].data[dayIndex] = pc.withdrawn;\r\n delete exceptDayList[\r\n Math.floor((utcDate - Date.UTC(initialDate.getFullYear(), initialDate.getMonth(), initialDate.getDate(), 0, 0, 0)) / (1000 * 3600 * 24))\r\n ];\r\n });\r\n if (exceptDayList && exceptDayList.filter((a) => a).length) {\r\n this.logIntervalString += `\\n ${i18n.t(\"logAnalysis.dataMissing\")}`;\r\n exceptDayList.forEach((date) => {\r\n this.logIntervalString += ` ${date},`;\r\n });\r\n this.logIntervalString = this.logIntervalString.slice(0, -1);\r\n }\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending GetProcessedCashCommand request \", e);\r\n }\r\n this.loading.pc = false;\r\n },\r\n async getMachineExceptionData() {\r\n try {\r\n this.reqData = new GetMachineExceptionsReqData(this.installationName, this.machine.serialNumber, this.startDate, this.endDate);\r\n let response: GetMachineExceptionsResData = await new GetMachineExceptionsCommand(this.reqData).execute();\r\n\r\n if (response.responseStatus == ApiResponseStatusEnum.Success && response.machineExceptions && response.machineExceptions.length > 0) {\r\n this.machineExceptionList = response.machineExceptions;\r\n this.troubleshooting = response.troubleshooting;\r\n this.componentLabelMap = response.componentLabelMap;\r\n this.unitLabelMap = response.unitLabelMap;\r\n this.imagesLegend = response.imagesLegend;\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending GetMachineExceptionsCommand request \", e);\r\n }\r\n this.loading.me = false;\r\n },\r\n async getSensorsCalibration() {\r\n try {\r\n this.reqData = new GetSensorsCalibrationReqData(this.installationName, this.machine.serialNumber, this.startDate, this.endDate);\r\n let response: GetSensorsCalibrationResData = await new GetSensorsCalibrationCommand(this.reqData).execute();\r\n\r\n if (response.responseStatus == ApiResponseStatusEnum.Success && response.sensorCalibration && response.sensorCalibration.length > 0) {\r\n this.sensorCalibrationList = response.sensorCalibration;\r\n this.sensorsLabels = response.sensorsLabels;\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending GetSensorsCalibrationCommand request \", e);\r\n }\r\n this.loading.sc = false;\r\n },\r\n async getCServiceLogon() {\r\n try {\r\n let response: GetCServiceLogonResData = await new GetCServiceLogonCommand(this.installationName, this.machine.serialNumber, this.startDate, this.endDate).execute();\r\n\r\n if (response.responseStatus == ApiResponseStatusEnum.Success && response.cserviceLogon && response.cserviceLogon.length > 0) {\r\n this.cserviceLogonList = response.cserviceLogon;\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending GetSensorsCalibrationCommand request \", e);\r\n }\r\n this.loading.csl = false;\r\n },\r\n addDays(date: Date, days: number) {\r\n let newDate = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()));\r\n newDate.setUTCDate(date.getDate() + days);\r\n return newDate;\r\n },\r\n subtractDays(date: Date, days: number) {\r\n let newDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()));\r\n newDate.setUTCDate(date.getDate() - days);\r\n return newDate;\r\n },\r\n setRowStyle() {\r\n return \"style-1\";\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MachineLogAnalysisCharts.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MachineLogAnalysisCharts.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MachineLogAnalysisCharts.vue?vue&type=template&id=20fb1247&\"\nimport script from \"./MachineLogAnalysisCharts.vue?vue&type=script&lang=ts&\"\nexport * from \"./MachineLogAnalysisCharts.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MachineLogAnalysisCharts.vue?vue&type=style&index=0&id=20fb1247&prod&lang=css&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VBtnToggle,VCol,VContainer,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VRow,VSkeletonLoader,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue, { PropType } from \"vue\";\r\n\r\n// Model\r\nimport { InstallationPredictedStatus } from \"@/model/data/predictiveMaintenance/InstallationPredictedStatus\";\r\nimport MachineLogAnalysisCharts from \"./MachineLogAnalysisCharts.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n installation: Object as PropType,\r\n startDate: {\r\n type: Date,\r\n default: null,\r\n },\r\n endDate: {\r\n type: Date,\r\n default: null,\r\n },\r\n hideDaysToogle: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n components: { MachineLogAnalysisCharts },\r\n computed: {\r\n availableMachines() {\r\n if (this.installation && this.installation.machines) return this.installation.machines.filter((m) => m.model != \"DropVault\");\r\n return [];\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstallationLogAnalysis.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstallationLogAnalysis.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InstallationLogAnalysis.vue?vue&type=template&id=585819cc&\"\nimport script from \"./InstallationLogAnalysis.vue?vue&type=script&lang=ts&\"\nexport * from \"./InstallationLogAnalysis.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCol,VContainer,VRow})\n","// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n expansionPanel: InstanceType\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions') ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ])\n },\n})\n","export enum LogsFamilyEnum {\r\n Application = 0,\r\n Machine = 1,\r\n}\r\n\r\nexport function logsFamilyEnumLabel(value: LogsFamilyEnum): string {\r\n switch (value) {\r\n case LogsFamilyEnum.Application:\r\n return \"downloadLogs.applicationLogs\";\r\n case LogsFamilyEnum.Machine:\r\n return \"downloadLogs.machinesLogs\";\r\n default:\r\n return \"common.unknown\";\r\n }\r\n}\r\n\r\nexport function getName(value: LogsFamilyEnum): string {\r\n switch (value) {\r\n case LogsFamilyEnum.Application:\r\n return \"application\";\r\n case LogsFamilyEnum.Machine:\r\n return \"machine\";\r\n default:\r\n return \"common.unknown\";\r\n }\r\n}\r\n","// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType\ntype VExpansionPanelContentInstance = InstanceType\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n /* istanbul ignore else */\n if (this.content) this.content.isBooted = true\n this.$nextTick(() => this.$emit('change'))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-expansion-panel',\n class: this.classes,\n attrs: {\n 'aria-expanded': String(this.isActive),\n },\n }, getSlot(this))\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card',{staticClass:\"mt-3\"},[_c('v-toolbar',{staticClass:\"mb-4\"},[_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"filter\",\"medium\":\"\",\"color\":\"primary\"}}),_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"downloadLogs.filters\"))+\" \")])],1),_c('v-container',{ref:\"containerDownload\"},[_c('v-row',{staticClass:\"mx-3\",attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"py-0\",attrs:{\"cols\":\"auto\"}},[_c('v-radio-group',{attrs:{\"row\":\"\"},model:{value:(_vm.radioSelection),callback:function ($$v) {_vm.radioSelection=$$v},expression:\"radioSelection\"}},_vm._l((_vm.defaultDateRanges),function(d){return _c('v-radio',{key:d.id,staticClass:\"py-1\",attrs:{\"label\":_vm.$t(d.i18nLabel),\"value\":d.value},scopedSlots:_vm._u([(d.id == 'customDateRange')?{key:\"label\",fn:function(){return [_c('v-menu',{attrs:{\"close-on-content-click\":false,\"offset-y\":\"\",\"max-width\":290},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-text-field',_vm._g({attrs:{\"value\":_vm.sortedDateRangeFormatted.join('~'),\"label\":_vm.$t('common.selectDateRange'),\"readonly\":\"\",\"error-messages\":_vm.errorMessage,\"disabled\":_vm.radioSelection != 3}},on))]}}],null,true)},[_c('v-date-picker',{attrs:{\"range\":\"\",\"scrollable\":\"\",\"no-title\":\"\",\"allowed-dates\":function (v) { return new Date() > new Date(v); }},model:{value:(_vm.dateRange),callback:function ($$v) {_vm.dateRange=$$v},expression:\"dateRange\"}})],1)]},proxy:true}:null],null,true)})}),1)],1),(_vm.containerWidth > 700)?_c('v-divider',{staticClass:\"mx-2\",attrs:{\"vertical\":\"\"}}):_vm._e(),_c('v-col',{staticClass:\"pt-0\",attrs:{\"cols\":\"12\",\"sm\":\"auto\"}},[_c('v-radio-group',{attrs:{\"row\":\"\"},model:{value:(_vm.logsTypeRadio),callback:function ($$v) {_vm.logsTypeRadio=$$v},expression:\"logsTypeRadio\"}},[_c('v-radio',{staticClass:\"py-1\",attrs:{\"label\":_vm.$t('downloadLogs.applicationLogs')}}),_c('v-radio',{staticClass:\"py-1\",attrs:{\"label\":_vm.$t('downloadLogs.machinesLogs')}})],1)],1)],1),_c('v-row',{staticClass:\"mx-3 mt-2\",attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"\",\"lg\":\"4\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":_vm.downloadBtnHintLabel != null || _vm.onDownloadLogsButton_loading || _vm.analysisLoading,\"block\":\"\"},on:{\"click\":function($event){return _vm.onDownloadLogsButton()}}},[(_vm.onDownloadLogsButton_loading)?_c('v-progress-circular',{staticClass:\"mr-3\",attrs:{\"indeterminate\":\"\",\"size\":24,\"width\":\"4\"}}):_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"download\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.download'))}})],1)],1),(_vm.logAnalysisEnabled)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"\",\"lg\":\"4\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":_vm.logsTypeRadio == 0 || _vm.downloadBtnHintLabel != null || _vm.onDownloadLogsButton_loading || _vm.analysisLoading,\"block\":\"\"},on:{\"click\":function($event){return _vm.sendRequestDownloadAndAnalyzeNow(false)}}},[(_vm.analysisLoading)?_c('v-progress-circular',{staticClass:\"mr-3\",attrs:{\"indeterminate\":\"\",\"size\":24,\"width\":\"4\"}}):_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"microscope\"}}),_c('span',[_vm._v(_vm._s(_vm.$t(\"logAnalysis.downloadAndAnalyzeNow\")))])],1)],1):_vm._e()],1),_c('v-row',{staticClass:\"mt-2 mx-3\",attrs:{\"no-gutters\":\"\",\"justify\":\"center\"}},[_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"\",\"lg\":\"4\"}},[_c('span',{staticClass:\"ma-0 pa-0\",staticStyle:{\"color\":\"red\"},domProps:{\"textContent\":_vm._s(_vm.downloadBtnHintLabel)}})])],1)],1)],1),(_vm.showAlert)?_c('v-alert',{staticClass:\"my-3\",attrs:{\"dense\":\"\",\"text\":\"\",\"border\":\"left\",\"type\":_vm.alertType}},[_vm._v(\" \"+_vm._s(_vm.alertMessage)+\" \")]):_vm._e(),(_vm.downloadLogsProgress.installationName)?_c('DownloadLogsOnDemandProgressCard',{attrs:{\"downloadLogsProgress\":_vm.downloadLogsProgress}}):_vm._e(),(_vm.analysisLogsProgress.installationName)?_c('LogAnalysisOnDemandCard',{attrs:{\"analysisLogsProgress\":_vm.analysisLogsProgress,\"loading\":_vm.analysisLoading,\"error\":_vm.analysisError,\"licenseError\":_vm.analysisLicenseError,\"notSupportedError\":_vm.analysisNotSupportedError},on:{\"open-analysis\":function($event){_vm.showAnalyzeDialog = true}}}):_vm._e(),_c('v-dialog',{attrs:{\"width\":\"500\"},model:{value:(_vm.showOnDemandAlertDialog),callback:function ($$v) {_vm.showOnDemandAlertDialog=$$v},expression:\"showOnDemandAlertDialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"text-h5 grey lighten-2\"},[_c('v-fa-icon',{staticClass:\"mr-4\",attrs:{\"icon\":\"exclamation-triangle\",\"color\":\"error\",\"large\":\"\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('downloadLogs.onDemandConfirmationDialog_title'))}})],1),_c('v-card-text',{staticClass:\"mt-3 mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"downloadLogs.onDemandConfirmationDialog_text\"))+\". \"),_c('br'),(_vm.downloadOnlyDbEnabled)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"downloadLogs.downloadOnlyFromDbPrefix\"))+\" \"),_c('a',{staticStyle:{\"cursor\":\"pointer\",\"text-decoration\":\"underline\"},on:{\"click\":_vm.downloadOnlyFromDb}},[_vm._v(\" \"+_vm._s(_vm.$t(\"downloadLogs.downloadOnlyFromDb\"))+\" \")])]):_vm._e()]),(_vm.availableMachines.length > 0)?_c('v-card-text',{staticClass:\"mb-2 pb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"downloadLogs.selectMachines\"))+\" \")]):_vm._e(),_vm._l((_vm.availableMachines),function(machine){return _c('v-checkbox',{key:machine.serialNumber,staticClass:\"ml-12 mr-6 my-1 pa-0\",attrs:{\"value\":machine.serialNumber,\"label\":machine.model + ' (' + machine.serialNumber + ')',\"hide-details\":true},model:{value:(_vm.selectedMachineSNsForDownloadOnDemand),callback:function ($$v) {_vm.selectedMachineSNsForDownloadOnDemand=$$v},expression:\"selectedMachineSNsForDownloadOnDemand\"}})}),_c('v-divider',{staticClass:\"mt-5\"}),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"error\",\"text\":\"\"},on:{\"click\":function($event){_vm.showOnDemandAlertDialog = false}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.cancel\"))+\" \")]),_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":_vm.availableMachines.length > 1 && _vm.selectedMachineSNsForDownloadOnDemand.length < 1},on:{\"click\":function($event){return _vm.forceLogsDownloadOnDemand()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.confirm\"))+\" \")])],1)],2)],1),(_vm.analysisInstallation)?_c('v-dialog',{attrs:{\"fullscreen\":\"\",\"hide-overlay\":\"\",\"transition\":\"dialog-bottom-transition\"},model:{value:(_vm.showAnalyzeDialog),callback:function ($$v) {_vm.showAnalyzeDialog=$$v},expression:\"showAnalyzeDialog\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":_vm.MODULE_COLORS.PREDICTIVE_MAINTENANCE,\"elevation\":\"0\"}},[_c('v-toolbar-title',{staticClass:\"ml-2 text-h5\"},[_vm._v(_vm._s(_vm.analysisInstallation.name))]),_c('v-spacer'),_c('v-toolbar-items',[_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\"},on:{\"click\":function($event){_vm.showAnalyzeDialog = false}}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"times\"}})],1)],1)],1),_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',[_c('v-col',[_c('div',{class:_vm.$vuetify.breakpoint.smAndDown ? 'text-h4 text-center' : 'display-2 text-center',style:('color:' + _vm.MODULE_COLORS.PREDICTIVE_MAINTENANCE)},[(_vm.$vuetify.breakpoint.mdAndUp)?_c('v-icon',{staticClass:\"mr-2\",attrs:{\"x-large\":\"\",\"color\":_vm.MODULE_COLORS.PREDICTIVE_MAINTENANCE}},[_vm._v(\" fa-microscope \")]):_vm._e(),_c('span',{staticStyle:{\"display\":\"inline-block\",\"vertical-align\":\"middle\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.pageTitle\"))+\" \")])],1)])],1)],1),_c('InstallationLogAnalysis',{key:_vm.rerender,attrs:{\"installation\":_vm.analysisInstallation,\"startDate\":_vm.analysisStartDate,\"endDate\":_vm.analysisEndDate,\"hideDaysToogle\":true}})],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"mt-4\"},[_c('v-toolbar',{staticClass:\"mb-4\"},[(_vm.progress != 100)?_c('v-progress-circular',{staticClass:\"mr-3\",attrs:{\"indeterminate\":\"\",\"size\":24,\"width\":\"4\",\"color\":\"primary\"}}):_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"check-circle\",\"color\":\"primary\"}}),_c('v-toolbar-title',{domProps:{\"textContent\":_vm._s(_vm.$t('downloadLogs.downloadProgress'))}})],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.installation'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.downloadLogsProgress.installationName)}})],1)],1),_c('v-list-item',{attrs:{\"two-line\":\"\"}},[(_vm.downloadLogsProgress.machineSerialNumbers)?_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.machinesSerialNumbers'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.downloadLogsProgress.machineSerialNumbers.join(', '))}})],1):_vm._e()],1)],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.startDate'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.moment(_vm.downloadLogsProgress.startDate).format(this.userDateFormat))}})],1),_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.endDate'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.moment(_vm.downloadLogsProgress.endDate).format(this.userDateFormat))}})],1)],1),_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('downloadLogs.logsType'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.$t(_vm.logsFamilyEnumLabel(_vm.downloadLogsProgress.logsFamily)))}})],1),_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.agent_version'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.downloadLogsProgress.agentVersion)}})],1)],1)],1)],1),(_vm.showProgressBar)?_c('v-card',{staticClass:\"px-12\",attrs:{\"flat\":\"\"}},[_c('v-progress-linear',{attrs:{\"value\":_vm.progress,\"height\":\"25\",\"color\":\"success\"}},[_c('strong',[_vm._v(_vm._s(_vm.progress)+\"%\")])])],1):_vm._e(),_c('v-card-text',{domProps:{\"textContent\":_vm._s(_vm.$t('downloadLogs.automaticDownload'))}})],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\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 from \"vue\";\r\nimport moment from \"moment\";\r\nimport { logsFamilyEnumLabel, LogsFamilyEnum } from \"@/model/data/enums/LogsFamilyEnum\";\r\nimport { DownloadLogsProgress } from \"@/model/communication/downloadLogs/DownloadLogsProgress\";\r\nimport { mapGetters } from \"vuex\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return { moment, LogsFamilyEnum };\r\n },\r\n props: [\"downloadLogsProgress\"],\r\n computed: {\r\n ...mapGetters([\"userDateFormat\"]),\r\n progress() {\r\n if ((this.downloadLogsProgress as DownloadLogsProgress).isDownloadCompleted) return 100;\r\n else {\r\n var trueProgress = Math.ceil(\r\n ((this.downloadLogsProgress as DownloadLogsProgress).downloadedDays.length * 100) / (this.downloadLogsProgress as DownloadLogsProgress).daysToDownload.length\r\n );\r\n return trueProgress < 1 ? trueProgress : trueProgress - 1;\r\n }\r\n },\r\n showProgressBar() {\r\n if (this.downloadLogsProgress.logsFamily == LogsFamilyEnum.Machine) return false;\r\n if (this.downloadLogsProgress.agentVersion.startsWith(\"5\")) return false;\r\n return true;\r\n },\r\n },\r\n methods: {\r\n logsFamilyEnumLabel,\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadLogsOnDemandProgressCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DownloadLogsOnDemandProgressCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DownloadLogsOnDemandProgressCard.vue?vue&type=template&id=43e0f685&\"\nimport script from \"./DownloadLogsOnDemandProgressCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./DownloadLogsOnDemandProgressCard.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCol,VListItem,VListItemContent,VListItemSubtitle,VListItemTitle,VProgressCircular,VProgressLinear,VRow,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"mt-4\"},[_c('v-toolbar',{staticClass:\"mb-4\"},[(_vm.loading)?_c('v-progress-circular',{staticClass:\"mr-3\",attrs:{\"indeterminate\":\"\",\"size\":24,\"width\":\"4\",\"color\":\"primary\"}}):(!_vm.loading && !_vm.error && !_vm.notSupportedError)?_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"check-circle\",\"color\":\"primary\"}}):(!_vm.loading && (_vm.error || _vm.notSupportedError))?_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"exclamation-circle\",\"color\":\"primary\"}}):_vm._e(),_c('v-toolbar-title',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.analysisTask'))}})],1),(_vm.licenseError)?_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',[_c('v-col',[_c('v-alert',{staticClass:\"mb-0\",attrs:{\"outlined\":\"\",\"type\":\"warning\"}},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.analysisLicenseError\"))+\" \")])],1)],1)],1):_vm._e(),(_vm.error)?_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',[_c('v-col',[_c('v-alert',{staticClass:\"mb-0\",attrs:{\"outlined\":\"\",\"type\":\"error\"}},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.analysisError\"))+\" \")])],1)],1)],1):_vm._e(),(_vm.notSupportedError)?_c('v-container',{staticClass:\"pb-0\"},[_c('v-row',[_c('v-col',[_c('v-alert',{staticClass:\"mb-0\",attrs:{\"outlined\":\"\",\"type\":\"warning\"}},[_vm._v(_vm._s(_vm.$t(\"logAnalysis.analysisNotSupportedError\"))+\" \")])],1)],1)],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.installation'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.analysisLogsProgress.installationName)}})],1)],1),_c('v-list-item',{attrs:{\"two-line\":\"\"}},[(_vm.analysisLogsProgress.machineSerialNumbers)?_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.machinesSerialNumbers'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.analysisLogsProgress.machineSerialNumbers.join(', '))}})],1):_vm._e()],1)],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-list-item',{attrs:{\"two-line\":\"\"}},[_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.startDate'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.moment(_vm.analysisLogsProgress.startDate).utc().format(this.userDateFormat))}})],1),_c('v-list-item-content',[_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(_vm.$t('common.endDate'))}}),_c('v-list-item-subtitle',{domProps:{\"textContent\":_vm._s(_vm.moment(_vm.analysisLogsProgress.endDate).utc().format(this.userDateFormat))}})],1)],1)],1)],1),(!_vm.error)?_c('v-card-text',{domProps:{\"textContent\":_vm._s(_vm.$t('logAnalysis.automaticAnalysis'))}}):_vm._e(),(!_vm.error)?_c('v-card-actions',[_c('v-btn',{attrs:{\"disabled\":_vm.loading,\"color\":\"success\",\"title\":_vm.$i18n.t('logAnalysis.click')},on:{\"click\":function($event){return _vm.$emit('open-analysis')}}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"search\"}}),_vm._v(\" \"+_vm._s(_vm.$t(\"logAnalysis.openAnalysisDialog\"))+\" \")],1)],1):_vm._e()],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\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 from \"vue\";\r\nimport moment from \"moment\";\r\nimport { mapGetters } from \"vuex\";\r\nimport { MODULE_COLORS } from \"@/utility/Constants\";\r\nimport VFaIcon from \"@/components/VFaIcon.vue\";\r\n\r\nexport default Vue.extend({\r\n components: { VFaIcon },\r\n data() {\r\n return { moment, MODULE_COLORS };\r\n },\r\n props: [\"analysisLogsProgress\", \"loading\", \"error\", \"licenseError\", \"notSupportedError\"],\r\n computed: {\r\n ...mapGetters([\"userDateFormat\"]),\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LogAnalysisOnDemandCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LogAnalysisOnDemandCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LogAnalysisOnDemandCard.vue?vue&type=template&id=5ed6faef&\"\nimport script from \"./LogAnalysisOnDemandCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./LogAnalysisOnDemandCard.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardText,VCol,VContainer,VListItem,VListItemContent,VListItemSubtitle,VListItemTitle,VProgressCircular,VRow,VToolbar,VToolbarTitle})\n","import { LogsFamilyEnum } from \"./LogsFamilyEnum\";\r\n\r\nexport enum LogsTypeEnum {\r\n Unknown = 0,\r\n Firmware = 1,\r\n AgentLogs = 2,\r\n CaosLogs = 3,\r\n CaosConnectorLogs = 4,\r\n CHWebApiLogs = 5,\r\n CHMonitorLogs = 6,\r\n}\r\n\r\nexport function getLogTypesFromLogsFamily(value: LogsFamilyEnum): LogsTypeEnum[] {\r\n var resultList = [];\r\n switch (value) {\r\n case LogsFamilyEnum.Application:\r\n resultList.push(LogsTypeEnum.AgentLogs);\r\n resultList.push(LogsTypeEnum.CaosLogs);\r\n resultList.push(LogsTypeEnum.CaosConnectorLogs);\r\n resultList.push(LogsTypeEnum.CHWebApiLogs);\r\n resultList.push(LogsTypeEnum.CHMonitorLogs);\r\n break;\r\n case LogsFamilyEnum.Machine:\r\n resultList.push(LogsTypeEnum.Firmware);\r\n break;\r\n }\r\n return resultList;\r\n}\r\n","import { AxiosResponse } from \"axios\";\r\nimport { API_PREFIX, API_VERSION, Command, HttpVerbType } from \"../Command\";\r\nimport { DownloadLogsReqData } from \"./DownloadLogsReqData\";\r\n\r\nconst ENDPOINT = \"/download_logs/if_exist\";\r\n\r\nexport class DownloadLogsIfExistCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n params: DownloadLogsReqData = null;\r\n\r\n constructor(params: DownloadLogsReqData) {\r\n super();\r\n this.responseType = \"blob\";\r\n this.params = params;\r\n }\r\n\r\n public execute(): Promise {\r\n // console.debug(\"GetInstallationsCommand.execute() with params: \", this.params);\r\n return this.executeCommand(this.params);\r\n }\r\n}\r\n","import { LogsFamilyEnum } from \"@/model/data/enums/LogsFamilyEnum\";\r\nimport { LogsTypeEnum } from \"@/model/data/enums/LogsTypeEnum\";\r\n\r\nexport class DownloadLogsReqData {\r\n installationName: string;\r\n machineSerialNumbers: string[] = [];\r\n startDate: Date;\r\n endDate: Date;\r\n daysToDownload: Date[] = [];\r\n logsFamily: LogsFamilyEnum;\r\n logTypes: LogsTypeEnum[] = [];\r\n ignoreMissingEntries: boolean = false;\r\n\r\n parse(obj: any) {\r\n if (obj.InstallationName) this.installationName = obj.InstallationName;\r\n\r\n if (obj.MachineSerialNumbers && obj.MachineSerialNumbers.length > 0) {\r\n obj.MachineSerialNumbers.forEach((m) => {\r\n this.machineSerialNumbers.push(m);\r\n });\r\n }\r\n\r\n if (obj.StartDate) this.startDate = obj.StartDate;\r\n if (obj.EndDate) this.endDate = obj.EndDate;\r\n\r\n if (obj.DaysToDownload && obj.DaysToDownload.length > 0)\r\n obj.DaysToDownload.forEach((element) => {\r\n this.daysToDownload.push(element);\r\n });\r\n\r\n if (obj.LogsFamily != null && Object.values(LogsFamilyEnum).includes(obj.LogsFamily)) this.logsFamily = obj.LogsFamily;\r\n\r\n if (obj.LogTypes && obj.LogTypes.length > 0) {\r\n obj.LogTypes.forEach((e) => {\r\n if (e != null && Object.values(LogsTypeEnum).includes(e)) this.logTypes.push(e);\r\n });\r\n }\r\n\r\n this.ignoreMissingEntries = obj.IgnoreMissingEntries;\r\n }\r\n}\r\n","import { DownloadLogsReqData } from \"./DownloadLogsReqData\";\r\n\r\nexport class DownloadLogsProgress extends DownloadLogsReqData {\r\n downloadedDays: Date[] = [];\r\n isDownloadCompleted: boolean = false;\r\n agentVersion: string;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n public parse(obj: any) {\r\n super.parse(obj);\r\n\r\n if (obj.DownloadedDays && obj.DownloadedDays.length > 0)\r\n obj.DownloadedDays.forEach((element) => {\r\n this.downloadedDays.push(element);\r\n });\r\n\r\n if (obj.IsDownloadCompleted != null) this.isDownloadCompleted = obj.IsDownloadCompleted;\r\n\r\n if (obj.AgentVersion) this.agentVersion = obj.AgentVersion;\r\n }\r\n\r\n public getDownloadLogsReqData(): DownloadLogsReqData {\r\n var reqData: DownloadLogsReqData = new DownloadLogsReqData();\r\n reqData.installationName = this.installationName;\r\n reqData.machineSerialNumbers = this.machineSerialNumbers;\r\n reqData.startDate = this.startDate;\r\n reqData.endDate = this.endDate;\r\n reqData.logsFamily = this.logsFamily;\r\n reqData.logTypes = [];\r\n this.logTypes.forEach((t) => {\r\n reqData.logTypes.push(t);\r\n });\r\n return reqData;\r\n }\r\n}\r\n","import { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { DownloadLogsProgress } from \"./DownloadLogsProgress\";\r\n\r\nexport class DownloadLogsProgressResData extends ApiGenericResponse {\r\n downloadLogsProgress: DownloadLogsProgress;\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n this.downloadLogsProgress = null;\r\n if (response.data && response.data.Payload) {\r\n this.downloadLogsProgress = new DownloadLogsProgress();\r\n this.downloadLogsProgress.parse(response.data.Payload);\r\n }\r\n }\r\n}\r\n","import { API_PREFIX, API_VERSION, Command, HttpVerbType } from \"../Command\";\r\nimport { DownloadLogsProgressResData } from \"./DownloadLogsProgressResData\";\r\nimport { DownloadLogsReqData } from \"./DownloadLogsReqData\";\r\n\r\nconst ENDPOINT = \"/download_logs/force_on_demand\";\r\n\r\nexport class ForceLogsDownloadOnDemandCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n params: DownloadLogsReqData = null;\r\n\r\n constructor(params: DownloadLogsReqData) {\r\n super();\r\n this.params = params;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.params);\r\n return new DownloadLogsProgressResData(res);\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { DownloadLogsProgressResData } from \"./DownloadLogsProgressResData\";\r\n\r\nconst ENDPOINT = \"/download_logs/progress\";\r\n\r\nexport class GetDownloadOnDemandProgressCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: any;\r\n\r\n constructor(installationName: string) {\r\n super();\r\n this.params = { installationName: installationName };\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new DownloadLogsProgressResData(res);\r\n }\r\n}\r\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\n\r\nconst ENDPOINT = \"/log_analysis/analyze_now\";\r\n\r\nexport class AnalyzeLogNowCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n params: AnalyzeLogNowReqData = null;\r\n\r\n constructor(params: AnalyzeLogNowReqData) {\r\n super();\r\n this.params = Object.assign({}, params);\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(null, null, this.params);\r\n return new ServiceResponseData(res);\r\n }\r\n}\r\n\r\nexport class AnalyzeLogNowReqData {\r\n installationName: string = null;\r\n startDate: Date;\r\n endDate: Date;\r\n constructor(installationName: string, startDate: Date, endDate: Date) {\r\n this.installationName = installationName;\r\n this.startDate = startDate;\r\n this.endDate = endDate;\r\n }\r\n}\r\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapGetters } from \"vuex\";\r\nimport * as moment from \"moment\";\r\nimport _ from \"lodash\";\r\nimport { AxiosResponse } from \"axios\";\r\n\r\n// Vue Components\r\nimport DownloadLogsOnDemandProgressCard from \"./DownloadLogsOnDemandProgressCard.vue\";\r\nimport InstallationLogAnalysis from \"@/views/App/PredictiveMaintenance/LogAnalysis/InstallationLogAnalysis.vue\";\r\nimport LogAnalysisOnDemandCard from \"@/views/App/PredictiveMaintenance/LogAnalysis/LogAnalysisOnDemandCard.vue\";\r\n\r\n// Model\r\nimport { DeviceTreeNodeTypeEnum } from \"@/model/data/deviceTree/DeviceTreeNodeTypeEnum\";\r\nimport { GetInstallationsReqData } from \"@/model/communication/device/GetInstallationsReqData\";\r\nimport { GetInstallationsResData } from \"@/model/communication/device/GetInstallationsResData\";\r\nimport { GetInstallationsCommand } from \"@/model/communication/device/GetInstallationsCommand\";\r\nimport { DownloadLogsIfExistCommand } from \"@/model/communication/downloadLogs/DownloadLogsIfExistCommand\";\r\nimport { ForceLogsDownloadOnDemandCommand } from \"@/model/communication/downloadLogs/ForceLogsDownloadOnDemandCommand\";\r\nimport { GetDownloadOnDemandProgressCommand } from \"@/model/communication/downloadLogs/GetDownloadOnDemandProgressCommand\";\r\nimport { DownloadLogsReqData } from \"@/model/communication/downloadLogs/DownloadLogsReqData\";\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\nimport { getLogTypesFromLogsFamily } from \"@/model/data/enums/LogsTypeEnum\";\r\nimport { getName, LogsFamilyEnum } from \"@/model/data/enums/LogsFamilyEnum\";\r\nimport { DownloadLogsProgressResData } from \"@/model/communication/downloadLogs/DownloadLogsProgressResData\";\r\nimport { CReqExecutionResultEnum } from \"@/model/communication/CReqExecutionResultEnum\";\r\nimport { UpdateTypeEnum } from \"@/model/data/enums/UpdateTypeEnum\";\r\nimport { MODULE_COLORS } from \"@/utility/Constants\";\r\nimport { AnalyzeLogNowCommand, AnalyzeLogNowReqData } from \"@/model/communication/logAnalysis/AnalyzeLogNowCommand\";\r\nimport { ServiceResponseData } from \"@/model/communication/ServiceResponseData\";\r\nimport { ClientPrivileges } from \"@/model/data/authentication/ClientPrivilegesEnum\";\r\n\r\nconst maxDaysRange = 30;\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DownloadLogsOnDemandProgressCard,\r\n InstallationLogAnalysis,\r\n LogAnalysisOnDemandCard,\r\n },\r\n data() {\r\n return {\r\n MODULE_COLORS,\r\n selectedInstallations: [],\r\n selectedMachineSNsForDownloadOnDemand: [],\r\n installation: null,\r\n dateRange: [],\r\n logsTypeRadio: LogsFamilyEnum.Application,\r\n showOnDemandAlertDialog: false,\r\n showAlert: false,\r\n alertType: \"info\",\r\n alertMessage: null,\r\n downloadLogsProgress: {},\r\n analysisLogsProgress: {},\r\n isPollingEnabled: false,\r\n onDownloadLogsButton_loading: false,\r\n showAnalyzeDialog: false,\r\n analysisInstallation: null,\r\n analysisStartDate: null,\r\n analysisEndDate: null,\r\n analyzeAfterDownload: false,\r\n analysisLoading: false,\r\n rerender: 0,\r\n analysisError: false,\r\n analysisNotSupportedError: false,\r\n analysisLicenseError: false,\r\n defaultDateRanges: [\r\n {\r\n id: \"today\",\r\n i18nLabel: \"common.today\",\r\n value: 0,\r\n },\r\n {\r\n id: \"lastWeek\",\r\n i18nLabel: \"common.lastWeek\",\r\n value: 1,\r\n },\r\n {\r\n id: \"last2Weeks\",\r\n i18nLabel: \"common.last2Weeks\",\r\n value: 2,\r\n },\r\n {\r\n id: \"customDateRange\",\r\n i18nLabel: \"\",\r\n value: 3,\r\n },\r\n ],\r\n radioSelection: 0,\r\n isMounted: false,\r\n };\r\n },\r\n props: [\"deviceTreeSelectedObjectItems\", \"installationsProp\"],\r\n computed: {\r\n ...mapGetters([\"userDateFormat\", \"authUserHasPrivilege\"]),\r\n\r\n isMobileDevice() {\r\n return this.$vuetify.breakpoint.smAndDown;\r\n },\r\n sortedDateRangeFormatted() {\r\n let formatted = [];\r\n if (this.sortedDateRange != null && this.sortedDateRange != undefined) this.sortedDateRange.forEach((dt) => formatted.push(moment(dt).format(this.userDateFormat)));\r\n return formatted;\r\n },\r\n sortedDateRange() {\r\n return _(this.dateRange).sort();\r\n },\r\n errorMessage() {\r\n let res = [];\r\n const date1 = new Date(this.dateRange[0]);\r\n const date2 = new Date(this.dateRange[1]);\r\n const diffTime = Math.abs((date2 as any) - (date1 as any));\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n if (diffDays >= maxDaysRange) res.push(this.$t(\"downloadLogs.maxDaysRangeError\", { maxDaysRange: maxDaysRange }));\r\n else if (this.dateRange.length != 2) res.push(this.$t(\"downloadLogs.selectionRangeError\"));\r\n return res;\r\n },\r\n downloadBtnHintLabel() {\r\n if (this.dateRange.length != 2) return this.$t(\"downloadLogs.selectionRangeError\");\r\n const date1 = new Date(this.dateRange[0]);\r\n const date2 = new Date(this.dateRange[1]);\r\n const diffTime = Math.abs((date2 as any) - (date1 as any));\r\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\r\n if (diffDays >= maxDaysRange) return this.$t(\"downloadLogs.maxDaysRangeError\", { maxDaysRange: maxDaysRange });\r\n if (this.selectedInstallations != null) {\r\n if (this.selectedInstallations.length < 1) return this.$t(\"downloadLogs.selectOneInstallation\");\r\n else if (this.selectedInstallations.length == 1) return null;\r\n else if (this.selectedInstallations.length > 1) return this.$t(\"downloadLogs.selectOnlyOneInstallation\");\r\n else return null;\r\n } else return this.$t(\"downloadLogs.selectOneInstallation\");\r\n },\r\n availableMachines() {\r\n if (this.installation && this.logsTypeRadio == LogsFamilyEnum.Machine && this.installation.machines.length > 1)\r\n return this.installation.machines.filter((m) => m.model != \"DropVault\");\r\n else return [];\r\n },\r\n logAnalysisEnabled() {\r\n return this.authUserHasPrivilege(ClientPrivileges.LogAnalysis);\r\n },\r\n downloadOnlyDbEnabled() {\r\n if (this.dateRange[0] == moment().utc().format(\"YYYY-MM-DD\") && this.dateRange[1] == moment().utc().format(\"YYYY-MM-DD\")) return false;\r\n if (this.radioSelection != 0) return true;\r\n return false;\r\n },\r\n containerWidth() {\r\n if (this.isMounted && this.$refs && this.$refs.containerDownload) return this.$refs.containerDownload.clientWidth;\r\n return 0;\r\n },\r\n },\r\n watch: {\r\n installationsProp(newValue) {\r\n this.selectedInstallations = [];\r\n if (newValue) this.selectedInstallations = newValue.map((c) => c.name);\r\n },\r\n deviceTreeSelectedObjectItems(newValue) {\r\n this.selectedInstallations = [];\r\n if (newValue) {\r\n this.resetVariables();\r\n if (newValue.filter((c) => c.type == DeviceTreeNodeTypeEnum.Device).length > 0)\r\n this.selectedInstallations = newValue.filter((c) => c.type == DeviceTreeNodeTypeEnum.Device).map((c) => c.id);\r\n }\r\n },\r\n showAnalyzeDialog: {\r\n handler(val) {\r\n document.querySelector(\"html\").style.overflowY = val ? \"hidden\" : \"auto\";\r\n },\r\n immediate: true,\r\n },\r\n radioSelection: {\r\n handler(value) {\r\n let startDateTemp = null;\r\n let endDateTemp = moment().utc();\r\n\r\n switch (value) {\r\n case 0:\r\n startDateTemp = moment().utc();\r\n break;\r\n case 1:\r\n endDateTemp = moment().subtract(1, \"day\").utc();\r\n startDateTemp = moment().subtract(1, \"day\").subtract(1, \"weeks\").utc();\r\n break;\r\n case 2:\r\n endDateTemp = moment().subtract(1, \"day\").utc();\r\n startDateTemp = moment().subtract(1, \"day\").subtract(2, \"weeks\").utc();\r\n break;\r\n default:\r\n break;\r\n }\r\n if (value < 3) {\r\n this.dateRange.splice(0);\r\n this.dateRange.push(moment(startDateTemp).format(\"YYYY-MM-DD\"), moment(endDateTemp).format(\"YYYY-MM-DD\"));\r\n }\r\n },\r\n immediate: true,\r\n },\r\n },\r\n methods: {\r\n // metodi per l'interfaccia\r\n stopPolling() {\r\n this.isPollingEnabled = false;\r\n },\r\n resetVariables() {\r\n this.showAlert = false;\r\n this.stopPolling();\r\n this.downloadLogsProgress = {};\r\n this.analysisLogsProgress = {};\r\n this.analysisLoading = false;\r\n this.onDownloadLogsButton_loading = false;\r\n },\r\n showGenericErrorAlert() {\r\n this.alertMessage = this.$t(\"downloadLogs.serverError\");\r\n this.alertType = \"error\";\r\n this.showAlert = true;\r\n },\r\n // metodi con richieste al server\r\n async sendRequestDownloadAndAnalyzeNow(fromForce) {\r\n try {\r\n this.analysisStartDate = new Date(this.sortedDateRange.at(0));\r\n this.analysisStartDate = new Date(Date.UTC(this.analysisStartDate.getFullYear(), this.analysisStartDate.getMonth(), this.analysisStartDate.getDate(), 0, 0, 0));\r\n this.analysisEndDate = new Date(this.sortedDateRange.at(1));\r\n this.analysisEndDate = new Date(Date.UTC(this.analysisEndDate.getFullYear(), this.analysisEndDate.getMonth(), this.analysisEndDate.getDate(), 23, 59, 59));\r\n\r\n if (!fromForce) await this.onDownloadLogsButton();\r\n if (this.showOnDemandAlertDialog) {\r\n this.analyzeAfterDownload = true;\r\n return;\r\n }\r\n this.analysisError = false;\r\n this.analysisLicenseError = false;\r\n this.analysisNotSupportedError = false;\r\n this.analysisInstallation = this.installation;\r\n\r\n this.analysisLogsProgress.startDate = this.analysisStartDate;\r\n this.analysisLogsProgress.endDate = this.analysisEndDate;\r\n this.analysisLogsProgress.installationName = this.analysisInstallation.name;\r\n this.analysisLogsProgress.machineSerialNumbers = this.analysisInstallation.machines.map((m) => m.serialNumber);\r\n\r\n this.analysisLoading = true;\r\n let reqData: AnalyzeLogNowReqData = new AnalyzeLogNowReqData(this.analysisInstallation.name, this.analysisStartDate, this.analysisEndDate);\r\n let res: ServiceResponseData = await new AnalyzeLogNowCommand(reqData).execute();\r\n if (res.message == CReqExecutionResultEnum.InvalidRequest) {\r\n this.analysisLicenseError = true;\r\n let dateOffset = (24 * 60 * 60 * 5 - 1) * 1000;\r\n this.analysisStartDate.setTime(this.analysisEndDate.getTime() - dateOffset);\r\n } else if (res.message == CReqExecutionResultEnum.ServerError) this.analysisError = true;\r\n else if (res.message == CReqExecutionResultEnum.OperationNotAvailable) this.analysisNotSupportedError = true;\r\n this.analysisLoading = false;\r\n this.rerender += 1;\r\n this.analyzeAfterDownload = false;\r\n } catch (error) {\r\n console.error(\"Error in get installations: \", error);\r\n this.showGenericErrorAlert();\r\n this.analysisLoading = false;\r\n return;\r\n }\r\n },\r\n createDownloadLogsReqData(ignoreMissingEntries: boolean = false) {\r\n let reqData: DownloadLogsReqData = new DownloadLogsReqData();\r\n reqData.installationName = this.selectedInstallations.at(0);\r\n if (this.selectedMachineSNsForDownloadOnDemand.length > 0) reqData.machineSerialNumbers = this.selectedMachineSNsForDownloadOnDemand;\r\n else if (this.installation.machines.map((m) => m.serialNumber) != null)\r\n this.installation.machines\r\n .map((m) => m.serialNumber)\r\n .forEach((sn) => {\r\n reqData.machineSerialNumbers.push(sn);\r\n });\r\n reqData.startDate = new Date(this.sortedDateRange.at(0));\r\n reqData.endDate = new Date(this.sortedDateRange.at(1));\r\n reqData.logsFamily = this.logsTypeRadio as LogsFamilyEnum;\r\n reqData.logTypes = getLogTypesFromLogsFamily(this.logsTypeRadio as LogsFamilyEnum);\r\n reqData.ignoreMissingEntries = ignoreMissingEntries;\r\n return reqData;\r\n },\r\n async onDownloadLogsButton() {\r\n try {\r\n this.onDownloadLogsButton_loading = true;\r\n this.selectedMachineSNsForDownloadOnDemand = [];\r\n this.resetVariables();\r\n\r\n // recupero le informazioni per l'installazione selezionata (se è diversa da quella che ho in memoria)\r\n try {\r\n if (this.installation == null || (this.installation != null && this.installation.name != this.selectedInstallations.at(0))) {\r\n let installationNames = [];\r\n installationNames.push(this.selectedInstallations.at(0));\r\n let res: GetInstallationsResData = await new GetInstallationsCommand(new GetInstallationsReqData(installationNames)).execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success)\r\n if (Array.isArray(res.installations) && res.installations.length > 0) this.installation = res.installations[0];\r\n }\r\n } catch (error) {\r\n console.error(\"Error in get installations: \", error);\r\n this.showGenericErrorAlert();\r\n this.onDownloadLogsButton_loading = false;\r\n return;\r\n }\r\n\r\n if (this.installation.installedSoftwares.filter((s) => s.updateType == UpdateTypeEnum.Agent).length > 0)\r\n if (this.installation.installedSoftwares.filter((s) => s.updateType == UpdateTypeEnum.Agent)[0].version.startsWith(\"5\"))\r\n if (this.logsTypeRadio == LogsFamilyEnum.Application) {\r\n this.alertMessage = this.$t(\"downloadLogs.applicationLogsNotAvailableForAgent5\");\r\n this.alertType = \"warning\";\r\n this.showAlert = true;\r\n this.onDownloadLogsButton_loading = false;\r\n return;\r\n }\r\n\r\n // se sto richiedendo log applicativi o log per la giornata odierna (macchina o applicativi), allora verranno chiesti on demand\r\n if (this.logsTypeRadio == LogsFamilyEnum.Application || this.sortedDateRange.at(1) == moment(new Date()).format(\"YYYY-MM-DD\")) {\r\n this.showOnDemandAlertDialog = true;\r\n } else {\r\n // altrimenti controllo sul db, se ci sono li scarico, altrimenti eventulamente li scaricherò on demand\r\n let resStatus = await this.downloadLogsIfExist(null);\r\n if (resStatus == 204) this.showOnDemandAlertDialog = true;\r\n if (this.analyzeAfterDownload && !this.showAlert) {\r\n this.sendRequestDownloadAndAnalyzeNow(true);\r\n }\r\n }\r\n this.onDownloadLogsButton_loading = false;\r\n } catch (error) {\r\n console.error(\"Error in onDownloadLogsButton(): \", error);\r\n this.onDownloadLogsButton_loading = false;\r\n }\r\n },\r\n async downloadLogsIfExist(reqData: DownloadLogsReqData, ignoreMissingEntries: boolean = false) {\r\n try {\r\n this.onDownloadLogsButton_loading = true;\r\n if (reqData == null) reqData = this.createDownloadLogsReqData(ignoreMissingEntries);\r\n let res: AxiosResponse = await new DownloadLogsIfExistCommand(reqData).execute();\r\n if (res.status == 200) {\r\n let now: Date = new Date();\r\n let formattedDate = moment(now).format(\"YYYY-MM-DD_HHmmss\");\r\n let fileName = formattedDate + \"_\" + reqData.installationName + \"_\" + getName(reqData.logsFamily) + \".zip\";\r\n let fileLink = document.createElement(\"a\");\r\n fileLink.href = window.URL.createObjectURL(res.data as Blob);\r\n fileLink.setAttribute(\"download\", fileName);\r\n document.body.appendChild(fileLink);\r\n fileLink.click();\r\n }\r\n this.onDownloadLogsButton_loading = false;\r\n return res.status;\r\n } catch (error) {\r\n console.error(\"downloadLogsIfExist(): \", error);\r\n this.onDownloadLogsButton_loading = false;\r\n return 0;\r\n }\r\n },\r\n async forceLogsDownloadOnDemand() {\r\n this.onDownloadLogsButton_loading = true;\r\n try {\r\n let reqData: DownloadLogsReqData = this.createDownloadLogsReqData();\r\n let res: DownloadLogsProgressResData = await new ForceLogsDownloadOnDemandCommand(reqData).execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n if (res.message) {\r\n switch (res.message) {\r\n case CReqExecutionResultEnum.AgentOffline:\r\n this.alertMessage = this.$t(\"downloadLogs.agentOfflineForInstallation\");\r\n this.alertType = \"warning\";\r\n this.showAlert = true;\r\n break;\r\n case CReqExecutionResultEnum.AgentNotInstalled:\r\n this.alertMessage = this.$t(\"downloadLogs.agentNotInstalled\");\r\n this.alertType = \"error\";\r\n this.showAlert = true;\r\n break;\r\n case CReqExecutionResultEnum.DeviceLocked:\r\n this.alertMessage = this.$t(\"downloadLogs.agentLocked\");\r\n this.alertType = \"warning\";\r\n this.showAlert = true;\r\n break;\r\n case CReqExecutionResultEnum.OperationNotAvailable:\r\n this.alertMessage = this.$t(\"downloadLogs.operationNotAvailable\");\r\n this.alertType = \"info\";\r\n this.showAlert = true;\r\n this.startProgressPolling(reqData.installationName);\r\n break;\r\n case CReqExecutionResultEnum.ServerError:\r\n this.showGenericErrorAlert();\r\n break;\r\n default:\r\n break;\r\n }\r\n this.onDownloadLogsButton_loading = false;\r\n } else {\r\n this.startProgressPolling(reqData.installationName);\r\n }\r\n } else {\r\n console.error(\"RES: \", res);\r\n this.onDownloadLogsButton_loading = false;\r\n }\r\n } catch (error) {\r\n console.error(\"forceLogsDownloadOnDemand(): \", error);\r\n this.onDownloadLogsButton_loading = false;\r\n }\r\n this.showOnDemandAlertDialog = false;\r\n this.selectedMachineSNsForDownloadOnDemand = [];\r\n },\r\n async startProgressPolling(installationName: string) {\r\n console.log(\"START PROGRESS POLLING for installation: \", installationName);\r\n this.isPollingEnabled = true;\r\n let res: DownloadLogsProgressResData;\r\n while (this.isPollingEnabled) {\r\n try {\r\n res = await new GetDownloadOnDemandProgressCommand(installationName).execute();\r\n if (res.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.downloadLogsProgress = res.downloadLogsProgress;\r\n // se lo scaricamento on demand ha finito, scarico i log dal database\r\n if (res.downloadLogsProgress.isDownloadCompleted) {\r\n let request: DownloadLogsReqData = res.downloadLogsProgress.getDownloadLogsReqData();\r\n request.ignoreMissingEntries = true; // prendo giù tutto quello che l'agent è riuscito a scaricare\r\n this.stopPolling();\r\n let resStatus = await this.downloadLogsIfExist(request);\r\n if (resStatus == 204) {\r\n this.alertMessage = this.$t(\"downloadLogs.somethingWrong\");\r\n this.alertType = \"warning\";\r\n this.showAlert = true;\r\n }\r\n this.onDownloadLogsButton_loading = false;\r\n if (this.analyzeAfterDownload && (!this.showAlert || (this.showAlert && this.alertType == \"info\"))) {\r\n this.sendRequestDownloadAndAnalyzeNow(true);\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"Errors GetDownloadOnDemandProgressCommand(): \", error);\r\n this.stopPolling();\r\n }\r\n\r\n let timeout = 1000;\r\n if (res.downloadLogsProgress.logsFamily == LogsFamilyEnum.Machine) timeout = 10000;\r\n if (res.downloadLogsProgress.agentVersion.startsWith(\"5\")) timeout = 10000;\r\n\r\n await new Promise((f) => setTimeout(f, timeout));\r\n }\r\n },\r\n downloadOnlyFromDb() {\r\n this.downloadLogsIfExist(null, true);\r\n this.showOnDemandAlertDialog = false;\r\n },\r\n },\r\n async mounted() {\r\n this.dateRange = [moment(new Date()).format(\"YYYY-MM-DD\"), moment(new Date()).format(\"YYYY-MM-DD\")];\r\n if (this.installationsProp) this.selectedInstallations = this.installationsProp.map((c) => c.name);\r\n this.isMounted = true;\r\n },\r\n beforeDestroy() {\r\n document.querySelector(\"html\").style.overflowY = \"auto\";\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainSection.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainSection.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MainSection.vue?vue&type=template&id=1b3461d0&\"\nimport script from \"./MainSection.vue?vue&type=script&lang=ts&\"\nexport * from \"./MainSection.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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardText,VCardTitle,VCheckbox,VCol,VContainer,VDatePicker,VDialog,VDivider,VIcon,VMenu,VProgressCircular,VRadio,VRadioGroup,VRow,VSpacer,VTextField,VToolbar,VToolbarItems,VToolbarTitle})\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n"],"sourceRoot":""}