From 3c7f3f35081632d2235afe93b8cf2963e1face18 Mon Sep 17 00:00:00 2001 From: gugak <107577102+Salijoghli@users.noreply.github.com> Date: Tue, 20 May 2025 17:48:07 +0400 Subject: [PATCH 1/2] A bit responsive Statistics view --- .../views/Windows/Statistics/view.json | 265 ++++++++++++------ 1 file changed, 175 insertions(+), 90 deletions(-) diff --git a/MTN6_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json b/MTN6_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json index 849d607..53688be 100644 --- a/MTN6_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json +++ b/MTN6_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json @@ -1,7 +1,7 @@ { "custom": {}, "params": { - "Tab_ID": 9, + "Tab_ID": 6, "Table": "Statistics" }, "propConfig": { @@ -618,7 +618,7 @@ "$": [ "ds", 192, - 1747664567746 + 1747748819100 ], "$columns": [ { @@ -1916,7 +1916,10 @@ "tabIndex": 6 }, "props": { - "direction": "column" + "direction": "column", + "style": { + "fontSize": "1.5vmin" + } }, "type": "ia.container.flex" }, @@ -2162,7 +2165,7 @@ "$": [ "ds", 192, - 1747664567758 + 1747748819092 ], "$columns": [ { @@ -2214,7 +2217,7 @@ "$": [ "ds", 192, - 1747664567758 + 1747748819092 ], "$columns": [ { @@ -3535,7 +3538,7 @@ "$": [ "ds", 192, - 1747664567746 + 1747748819100 ], "$columns": [ { @@ -4877,7 +4880,7 @@ "$": [ "ds", 192, - 1747664567761 + 1747748819094 ], "$columns": [ { @@ -9626,7 +9629,7 @@ "$": [ "ds", 192, - 1747664567761 + 1747748819094 ], "$columns": [ { @@ -24959,7 +24962,7 @@ "$": [ "ds", 192, - 1747664538963 + 1747747304520 ], "$columns": [ { @@ -27732,31 +27735,41 @@ "$": [ "ds", 192, - 1747664538963 + 1747747304520 ], "$columns": [ { - "data": [], + "data": [ + "2025-05-20 16:00" + ], "name": "Start Timestamp", "type": "String" }, { - "data": [], + "data": [ + "H1" + ], "name": "Hour", "type": "String" }, { - "data": [], + "data": [ + null + ], "name": "Cycles of ULGL1", "type": "String" }, { - "data": [], + "data": [ + null + ], "name": "Cycles of ULGL2", "type": "String" }, { - "data": [], + "data": [ + null + ], "name": "Cycles of ULGL3", "type": "String" } @@ -27792,7 +27805,14 @@ }, "props": { "dataSources": { - "example": [] + "example": [ + { + "Hour": "H1", + "ULGL1": null, + "ULGL2": null, + "ULGL3": null + } + ] }, "legend": { "enabled": false @@ -28787,16 +28807,35 @@ } }, "props": { - "currentTabIndex": 9, + "currentTabIndex": 6, "menuStyle": { - "backgroundColor": "#FFFFFFBD" + "backgroundColor": "#FFFFFFBD", + "fontSize": "1.0vmin", + "overflowWrap": "break-word", + "textAlign": "left" }, "style": { - "fontFamily": "Arial" + "fontFamily": "Arial", + "width": "100%" }, "tabSize": { "width": 160 }, + "tabStyle": { + "active": { + "flexBasis": 0, + "flexGrow": 1, + "fontSize": "1.0vmin" + }, + "disabled": { + "fontSize": "1.0vmin" + }, + "inactive": { + "flexBasis": 0, + "flexGrow": 1, + "fontSize": "1.0vmin" + } + }, "tabs": [ "Induct Details", "Scanner Details", @@ -28822,7 +28861,8 @@ "name": "Label" }, "position": { - "basis": "162px" + "basis": "50px", + "grow": 1 }, "props": { "style": { @@ -28837,9 +28877,15 @@ "name": "Dropdown_Aggregation_mode" }, "position": { - "basis": "171px" + "basis": "100px", + "grow": 1 }, "props": { + "dropdownOptionStyle": { + "fontSize": "1.5vmin", + "overflow": "hidden", + "width": "auto" + }, "options": [ { "label": "Count", @@ -28854,6 +28900,9 @@ "value": "Rate" } ], + "style": { + "fontSize": "1.5vmin" + }, "value": "Count" }, "type": "ia.input.dropdown" @@ -28881,7 +28930,9 @@ }, "props": { "style": { - "fontFamily": "Arial" + "fontFamily": "Arial", + "fontSize": "1.3vmin", + "overflow": "hidden" } }, "type": "ia.container.flex" @@ -31039,8 +31090,8 @@ "position": { "height": 0.03, "width": 0.0625, - "x": 0.9351, - "y": -0.0132 + "x": 0.9341, + "y": 0.0054 }, "propConfig": { "meta.tooltip.text": { @@ -31056,11 +31107,12 @@ "mode": "percent", "style": { "classes": "Button_Action", - "fontFamily": "Arial", - "marginBottom": "2px", - "marginTop": "16px" + "fontFamily": "Arial" }, - "text": "Export to CSV" + "text": "Export to CSV", + "textStyle": { + "fontSize": "1.0vmin" + } }, "type": "ia.input.button" }, @@ -31071,7 +31123,8 @@ "name": "LPeriod" }, "position": { - "basis": "60px" + "basis": "60px", + "grow": 1 }, "props": { "style": { @@ -31086,9 +31139,15 @@ "name": "Period" }, "position": { - "basis": "160px" + "basis": "140px", + "grow": 1 }, "props": { + "dropdownOptionStyle": { + "fontSize": "1.5vmin", + "overflow": "hidden", + "width": "auto" + }, "options": [ { "label": "Past 30 Min", @@ -31143,6 +31202,9 @@ "value": "Custom" } ], + "style": { + "fontSize": "1.5vmin" + }, "value": "Past Hour" }, "type": "ia.input.dropdown" @@ -31152,7 +31214,8 @@ "name": "Spare_0" }, "position": { - "basis": "18.1px" + "basis": "18.1px", + "grow": 1 }, "type": "ia.display.label" }, @@ -31161,7 +31224,8 @@ "name": "Start Date" }, "position": { - "basis": "85px" + "basis": "85px", + "grow": 1 }, "props": { "style": { @@ -31196,6 +31260,10 @@ "meta": { "name": "StartTime" }, + "position": { + "basis": "190px", + "grow": 1 + }, "propConfig": { "props.enabled": { "binding": { @@ -31296,19 +31364,27 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "May 19, 2025 5:22 PM", + "formattedValue": "May 20, 2025 4:46 PM", "formattedValues": { "date": "Mar 26, 2021", "datetime": "Mar 26, 2021 12:00 AM", "time": "12:00 AM" }, + "inputProps": { + "style": { + "fontSize": "1.5vmin" + } + }, + "style": { + "fontSize": "1.5vmin" + }, "value": { "$": [ "ts", 192, - 1747664567742 + 1747748819097 ], - "$ts": 1747660967000 + "$ts": 1747745219000 } }, "type": "ia.input.date-time-input" @@ -31318,7 +31394,8 @@ "name": "Spare" }, "position": { - "basis": "18.1px" + "basis": "18.1px", + "grow": 1 }, "type": "ia.display.label" }, @@ -31327,7 +31404,8 @@ "name": "End Date" }, "position": { - "basis": "81px" + "basis": "81px", + "grow": 1 }, "props": { "style": { @@ -31356,7 +31434,8 @@ "name": "EndTime" }, "position": { - "basis": "190px" + "basis": "190px", + "grow": 1 }, "propConfig": { "props.enabled": { @@ -31456,19 +31535,27 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "May 19, 2025 6:22 PM", + "formattedValue": "May 20, 2025 5:46 PM", "formattedValues": { "date": "Mar 29, 2021", "datetime": "Mar 29, 2021 1:37 PM", "time": "1:37 PM" }, + "inputProps": { + "style": { + "fontSize": "1.5vmin" + } + }, + "style": { + "fontSize": "1.5vmin" + }, "value": { "$": [ "ts", 192, - 1747664567742 + 1747748819097 ], - "$ts": 1747664567000 + "$ts": 1747748819000 } }, "type": "ia.input.date-time-input" @@ -31479,7 +31566,7 @@ }, "position": { "height": 0.0269, - "width": 0.413, + "width": 0.483, "x": 0.0025, "y": 0.0059 }, @@ -31503,61 +31590,19 @@ }, "props": { "style": { - "fontFamily": "Arial" + "fontFamily": "Arial", + "fontSize": "1.5vmin" } }, "type": "ia.container.flex" }, - { - "meta": { - "name": "Info", - "tooltip": { - "enabled": true, - "location": "bottom-right", - "style": { - "backgroundColor": "#2B2B2BBF", - "color": "#FFFFFF", - "fontFamily": "Arial", - "fontSize": 14, - "textAlign": "left", - "white-space": "pre" - } - } - }, - "position": { - "height": 0.043, - "width": 0.0208, - "x": 0.9745, - "y": 0.0847 - }, - "propConfig": { - "meta.tooltip.text": { - "binding": { - "config": { - "expression": "if ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 0,\r\n\t\"About: Induct Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Induct Number - induct name.\"+\r\n\t\"\\n\"+\"Total Count - the total number of parcels.\"+\r\n\t\"\\n\"+\"Single Carrier Count - the number of single parcels.\"+\r\n\t\"\\n\"+\"Double Carrier Count - the number of paired parcels.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 1,\r\n\t\"About: Scanner Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Scanner Number - scanner name.\"+\r\n\t\"\\n\"+\"Total Count - total number of scanned parcels.\"+\r\n\t\"\\n\"+\"Good Read Count - number of good reads.\"+\r\n\t\"\\n\"+\"No Read Count - number of noreads.\"+\r\n\t\"\\n\"+\"Multi Read Count - number of multireads.\"+\r\n\t\"\\n\"+\"No Code Count - number of no codes.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 2,\r\n\t\"About: Sorter Summary\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Inducted - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Sorted - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"AWCS Recirc - the number of parcels sent for recirc.\"+\r\n\t\"\\n\"+\"Operational Recirc - \"+\r\n\t\"\\n\"+\"Machine Recirc - \",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 3,\r\n\t\"About: Sorter Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Inducted Count - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Sorted Count - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"Assigned Count - not applicable.\"+\r\n\t\"\\n\"+\"Destination Inv Count - the total number of the requested destination \\n\\t\\tassigned by AWCS is not valid for the current scan point or sorter.\"+\r\n\t\"\\n\"+\"Dest None Count - not applicable.\"+\r\n\t\"\\n\"+\"Dest Dis Count - not applicable.\"+\r\n\t\"\\n\"+\"Destination Full Count - the total number of the requested destination for \\n\\t\\tthe container was full. \"+\r\n\t\"\\n\"+\"Unexpected Count - the total number of an unexpected container was \\n\\t\\tidentified during sortation.\"+\r\n\t\"\\n\"+\"Destination Fault Count - the total number of the requested destination \\n\\t\\tfor the container was non-operational due to a fault\"+\r\n\t\"\\n\"+\"Divert Fail Count - the total number of the sorter attempted to divert \\n\\t\\tthe container to the requested destination\tbut failed. \"+\r\n\t\"\\n\"+\"Gap Error Count - the total number of containers were inducted into the \\n\\t\\tsorter with less than the minimum gap between containers the \\n\\t\\tsorter supports.\"+\r\n\t\"\\n\"+\"Lost Count - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Track Error - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Unknown Count - the total number of\"+\r\n\t\"\\n\"+\"Unsafe Count - the total number of the sorter did not attempt to divert \\n\\t\\tthe container to the requested destination because the container \\n\\t\\twas unable to be diverted accurately or safely\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 4,\r\n\t\"About: Lane Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Lane/Chute Number - lane/chute name.\"+\r\n\t\"\\n\"+\"Total Count - total number of diverted parcels on this chute.\"+\r\n\t\"\\n\"+\"Diverted Count - the number of successfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Destination Full Count - the number of full states.\"+\r\n\t\"\\n\"+\"Destination Jam Count - the number of jam states.\"+\r\n\t\"\\n\"+\"Destination Disabled Count - the number of Disabled states.\"+\r\n\t\"\\n\"+\"Destination Fault Count - not applicable.\"+\r\n\t\"\\n\"+\"Divert Fail Count - the number of unsuccessfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Lost Count - not applicable.\"+\r\n\t\"\\n\"+\"Unsafe Count - not applicable.\"+\r\n\t\"\\n\"+\"Dim Error - not applicable.\"+\r\n\t\"\\n\"+\"Gap Error Count - not applicable.\"+\r\n\t\"\\n\"+\"Unknown Count - not applicable.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 5,\r\n\t\"About: Hourly Induct\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total (#) - the total number of parcels.\"+\r\n\t\"\\n\"+\"Single Carrier (#) - the number of single parcels.\"+\r\n\t\"\\n\"+\"Double Carrier (#) - the number of paired parcels.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 6,\r\n\t\"About: Hourly Scanner\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total (#) - total number of scanned parcels.\"+\r\n\t\"\\n\"+\"Good read (#) - number of good reads.\"+\r\n\t\"\\n\"+\"No Read (#) - number of noreads.\"+\r\n\t\"\\n\"+\"Multi Read (#) - number of multireads.\"+\r\n\t\"\\n\"+\"No Code (#) - number of no codes.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 7,\r\n\t\"About: Hourly Sorter Summary\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total Inducted(#) - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Total Sorted(#) - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"AWCS Recirculate (#) - the number of parcels sent for recirc.\"+\r\n\t\"\\n\"+\"Operational Recirculate(#) - \"+\r\n\t\"\\n\"+\"Machine Recirculate(#) - \",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 8,\r\n\t\"About: Hourly Sorter Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Inducted (#) - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Sorted (#) - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"Assigned (#) - not applicable.\"+\r\n\t\"\\n\"+\"Destination Inv (#) - the total number of the requested destination \\n\\t\\tassigned by AWCS is not valid for the current scan point or sorter.\"+\r\n\t\"\\n\"+\"Dest None (#) - not applicable.\"+\r\n\t\"\\n\"+\"Dest Dis Count - not applicable.\"+\r\n\t\"\\n\"+\"Destination Full (#) - the total number of the requested destination for \\n\\t\\tthe container was full.\"+\r\n\t\"\\n\"+\"Unexpected (#) - the total number of an unexpected container was \\n\\t\\tidentified during sortation.\"+\r\n\t\"\\n\"+\"Destination Fault (#) - the total number of the requested destination \\n\\t\\tfor the container was non-operational due to a fault.\"+\r\n\t\"\\n\"+\"Divert Fail (#) - - the total number of the sorter attempted to divert \\n\\t\\tthe container to the requested destination but failed.\"+\r\n\t\"\\n\"+\"Gap Error (#) - the total number of containers were inducted into the \\n\\t\\tsorter with less than the minimum gap between containers the \\n\\t\\tsorter supports.\"+\r\n\t\"\\n\"+\"Lost (#) - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Track Error (#) - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Unknown Count (#) - \"+\r\n\t\"\\n\"+\"Unsafe Count (#) - the total number of the sorter did not attempt to divert \\n\\t\\tthe container to the requested destination because the container \\n\\t\\twas unable to be diverted accurately or safely\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 9,\r\n\t\"About: Hourly Lane Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total (#) - total number of diverted parcels on this chute.\"+\r\n\t\"\\n\"+\"Diverted (#) - the number of successfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Destination Full (#) - the number of full states.\"+\r\n\t\"\\n\"+\"Destination Jam (#) - the number of jam states.\"+\r\n\t\"\\n\"+\"Destination Disabled (#) - the number of Disabled states.\"+\r\n\t\"\\n\"+\"Destination Fault Count - not applicable.\"+\r\n\t\"\\n\"+\"Divert Fail (#) - the number of unsuccessfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Lost (#) - not applicable.\"+\r\n\t\"\\n\"+\"Unsafe (#) - not applicable.\"+\r\n\t\"\\n\"+\"Dim (#) - not applicable.\"+\r\n\t\"\\n\"+\"Gap Error (#) - not applicable.\"+\r\n\t\"\\n\"+\"Unknown (#) - not applicable.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 10,\r\n\t\"About: Lane Total Full\"+\t\r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Lane Number - lane name.\"+\r\n\t\"\\n\"+\"Total Count - total number of diverted parcels on this chute.\"+\r\n\t\"\\n\"+\"Destination Full Count - the number of full states.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 11,\r\n\t\"About: Jam by Area\"+\t\r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Jam counts by areas\",\r\n\t\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 12,\r\n\t\"About: Dumper cycles\"+\t\r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Cycles counts by dumpers\",\t\t\r\n\r\n\"not response\")))))))))))))" - }, - "type": "expr" - } - } - }, - "props": { - "fit": { - "mode": "fill" - }, - "source": "/system/images/MyIcon/question64x64.png", - "style": { - "cursor": "pointer" - } - }, - "type": "ia.display.image" - }, { "meta": { "name": "Label" }, "position": { "height": 0.0344, - "width": 0.2536, + "width": 0.1833, "x": 0.5195, "y": 0.0041 }, @@ -31591,6 +31636,9 @@ "color": "#FFFFFF", "fontFamily": "Arial", "fontSize": 20 + }, + "textStyle": { + "fontSize": "1.5vmin" } }, "type": "ia.display.label" @@ -31666,19 +31714,56 @@ } }, "type": "ia.container.flex" + }, + { + "meta": { + "name": "Info", + "tooltip": { + "enabled": true, + "style": { + "backgroundColor": "#2B2B2BBF", + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 14, + "textAlign": "left", + "white-space": "pre" + } + } + }, + "position": { + "height": 0.033, + "width": 0.0158, + "x": 0.9332, + "y": 0.0935 + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "if ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 0,\r\n\t\"About: Induct Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Induct Number - induct name.\"+\r\n\t\"\\n\"+\"Total Count - the total number of parcels.\"+\r\n\t\"\\n\"+\"Single Carrier Count - the number of single parcels.\"+\r\n\t\"\\n\"+\"Double Carrier Count - the number of paired parcels.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 1,\r\n\t\"About: Scanner Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Scanner Number - scanner name.\"+\r\n\t\"\\n\"+\"Total Count - total number of scanned parcels.\"+\r\n\t\"\\n\"+\"Good Read Count - number of good reads.\"+\r\n\t\"\\n\"+\"No Read Count - number of noreads.\"+\r\n\t\"\\n\"+\"Multi Read Count - number of multireads.\"+\r\n\t\"\\n\"+\"No Code Count - number of no codes.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 2,\r\n\t\"About: Sorter Summary\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Inducted - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Sorted - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"AWCS Recirc - the number of parcels sent for recirc.\"+\r\n\t\"\\n\"+\"Operational Recirc - \"+\r\n\t\"\\n\"+\"Machine Recirc - \",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 3,\r\n\t\"About: Sorter Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Inducted Count - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Sorted Count - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"Assigned Count - not applicable.\"+\r\n\t\"\\n\"+\"Destination Inv Count - the total number of the requested destination \\n\\t\\tassigned by AWCS is not valid for the current scan point or sorter.\"+\r\n\t\"\\n\"+\"Dest None Count - not applicable.\"+\r\n\t\"\\n\"+\"Dest Dis Count - not applicable.\"+\r\n\t\"\\n\"+\"Destination Full Count - the total number of the requested destination for \\n\\t\\tthe container was full. \"+\r\n\t\"\\n\"+\"Unexpected Count - the total number of an unexpected container was \\n\\t\\tidentified during sortation.\"+\r\n\t\"\\n\"+\"Destination Fault Count - the total number of the requested destination \\n\\t\\tfor the container was non-operational due to a fault\"+\r\n\t\"\\n\"+\"Divert Fail Count - the total number of the sorter attempted to divert \\n\\t\\tthe container to the requested destination\tbut failed. \"+\r\n\t\"\\n\"+\"Gap Error Count - the total number of containers were inducted into the \\n\\t\\tsorter with less than the minimum gap between containers the \\n\\t\\tsorter supports.\"+\r\n\t\"\\n\"+\"Lost Count - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Track Error - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Unknown Count - the total number of\"+\r\n\t\"\\n\"+\"Unsafe Count - the total number of the sorter did not attempt to divert \\n\\t\\tthe container to the requested destination because the container \\n\\t\\twas unable to be diverted accurately or safely\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 4,\r\n\t\"About: Lane Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time of the first value determined by the selected period.\"+\r\n\t\"\\n\"+\"End Timestamp - time of the last value determined by the selected period.\"+\r\n\t\"\\n\"+\"Sorter Number - sorter name.\"+\r\n\t\"\\n\"+\"Lane/Chute Number - lane/chute name.\"+\r\n\t\"\\n\"+\"Total Count - total number of diverted parcels on this chute.\"+\r\n\t\"\\n\"+\"Diverted Count - the number of successfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Destination Full Count - the number of full states.\"+\r\n\t\"\\n\"+\"Destination Jam Count - the number of jam states.\"+\r\n\t\"\\n\"+\"Destination Disabled Count - the number of Disabled states.\"+\r\n\t\"\\n\"+\"Destination Fault Count - not applicable.\"+\r\n\t\"\\n\"+\"Divert Fail Count - the number of unsuccessfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Lost Count - not applicable.\"+\r\n\t\"\\n\"+\"Unsafe Count - not applicable.\"+\r\n\t\"\\n\"+\"Dim Error - not applicable.\"+\r\n\t\"\\n\"+\"Gap Error Count - not applicable.\"+\r\n\t\"\\n\"+\"Unknown Count - not applicable.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 5,\r\n\t\"About: Hourly Induct\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total (#) - the total number of parcels.\"+\r\n\t\"\\n\"+\"Single Carrier (#) - the number of single parcels.\"+\r\n\t\"\\n\"+\"Double Carrier (#) - the number of paired parcels.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 6,\r\n\t\"About: Hourly Scanner\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total (#) - total number of scanned parcels.\"+\r\n\t\"\\n\"+\"Good read (#) - number of good reads.\"+\r\n\t\"\\n\"+\"No Read (#) - number of noreads.\"+\r\n\t\"\\n\"+\"Multi Read (#) - number of multireads.\"+\r\n\t\"\\n\"+\"No Code (#) - number of no codes.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 7,\r\n\t\"About: Hourly Sorter Summary\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total Inducted(#) - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Total Sorted(#) - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"AWCS Recirculate (#) - the number of parcels sent for recirc.\"+\r\n\t\"\\n\"+\"Operational Recirculate(#) - \"+\r\n\t\"\\n\"+\"Machine Recirculate(#) - \",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 8,\r\n\t\"About: Hourly Sorter Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Inducted (#) - the total number of received parcels.\"+\r\n\t\"\\n\"+\"Sorted (#) - the number of parcels sorted.\"+\r\n\t\"\\n\"+\"Assigned (#) - not applicable.\"+\r\n\t\"\\n\"+\"Destination Inv (#) - the total number of the requested destination \\n\\t\\tassigned by AWCS is not valid for the current scan point or sorter.\"+\r\n\t\"\\n\"+\"Dest None (#) - not applicable.\"+\r\n\t\"\\n\"+\"Dest Dis Count - not applicable.\"+\r\n\t\"\\n\"+\"Destination Full (#) - the total number of the requested destination for \\n\\t\\tthe container was full.\"+\r\n\t\"\\n\"+\"Unexpected (#) - the total number of an unexpected container was \\n\\t\\tidentified during sortation.\"+\r\n\t\"\\n\"+\"Destination Fault (#) - the total number of the requested destination \\n\\t\\tfor the container was non-operational due to a fault.\"+\r\n\t\"\\n\"+\"Divert Fail (#) - - the total number of the sorter attempted to divert \\n\\t\\tthe container to the requested destination but failed.\"+\r\n\t\"\\n\"+\"Gap Error (#) - the total number of containers were inducted into the \\n\\t\\tsorter with less than the minimum gap between containers the \\n\\t\\tsorter supports.\"+\r\n\t\"\\n\"+\"Lost (#) - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Track Error (#) - the total number of the container was lost on the sorter after \\n\\t\\tit was scanned at a scan point.\"+\r\n\t\"\\n\"+\"Unknown Count (#) - \"+\r\n\t\"\\n\"+\"Unsafe Count (#) - the total number of the sorter did not attempt to divert \\n\\t\\tthe container to the requested destination because the container \\n\\t\\twas unable to be diverted accurately or safely\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 9,\r\n\t\"About: Hourly Lane Details\"+ \r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Start Timestamp - time value for counting on hourly values.\"+\r\n\t\"\\n\"+\"Hour – Hour of the day (H1-H24) - time in the selected period \\n\\t\\tdivided by whole hours. The choice of the time period \\n\\t\\tthat will be viewed for the Hourly tables should be \\n\\t\\tin whole hours (example: 7:00).\"+\r\n\t\"\\n\"+\"Total (#) - total number of diverted parcels on this chute.\"+\r\n\t\"\\n\"+\"Diverted (#) - the number of successfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Destination Full (#) - the number of full states.\"+\r\n\t\"\\n\"+\"Destination Jam (#) - the number of jam states.\"+\r\n\t\"\\n\"+\"Destination Disabled (#) - the number of Disabled states.\"+\r\n\t\"\\n\"+\"Destination Fault Count - not applicable.\"+\r\n\t\"\\n\"+\"Divert Fail (#) - the number of unsuccessfully diverted parcels to this chute.\"+\r\n\t\"\\n\"+\"Lost (#) - not applicable.\"+\r\n\t\"\\n\"+\"Unsafe (#) - not applicable.\"+\r\n\t\"\\n\"+\"Dim (#) - not applicable.\"+\r\n\t\"\\n\"+\"Gap Error (#) - not applicable.\"+\r\n\t\"\\n\"+\"Unknown (#) - not applicable.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 10,\r\n\t\"About: Lane Total Full\"+\t\r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Lane Number - lane name.\"+\r\n\t\"\\n\"+\"Total Count - total number of diverted parcels on this chute.\"+\r\n\t\"\\n\"+\"Destination Full Count - the number of full states.\",\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 11,\r\n\t\"About: Jam by Area\"+\t\r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Jam counts by areas\",\r\n\t\r\nif ({view.params.Table} \u003d \"Statistics\" \u0026\u0026 {view.params.Tab_ID} \u003d 12,\r\n\t\"About: Dumper cycles\"+\t\r\n\t\"\\n\"+\r\n\t\"\\n\"+\"Cycles counts by dumpers\",\t\t\r\n\r\n\"not response\")))))))))))))" + }, + "type": "expr" + } + } + }, + "props": { + "path": "material/help" + }, + "type": "ia.display.icon" } ], "meta": { "name": "root" }, "position": { - "x": -0.0073, - "y": -0.0011 + "x": 0, + "y": 0 }, "props": { "mode": "percent", "style": { - "backgroundColor": "#1A4A5E" + "backgroundColor": "#1A4A5E", + "overflow": "hidden" } }, "type": "ia.container.coord" From 9a309fc6aaec75d2b757f4ef0118937a4a1233b6 Mon Sep 17 00:00:00 2001 From: gugak <107577102+Salijoghli@users.noreply.github.com> Date: Tue, 20 May 2025 20:13:03 +0400 Subject: [PATCH 2/2] fixed question mark --- .../views/Windows/Statistics/view.json | 65 +++++++------------ 1 file changed, 25 insertions(+), 40 deletions(-) diff --git a/MTN6_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json b/MTN6_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json index 53688be..107bda5 100644 --- a/MTN6_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json +++ b/MTN6_SCADA/com.inductiveautomation.perspective/views/Windows/Statistics/view.json @@ -618,7 +618,7 @@ "$": [ "ds", 192, - 1747748819100 + 1747757543417 ], "$columns": [ { @@ -2165,7 +2165,7 @@ "$": [ "ds", 192, - 1747748819092 + 1747757543417 ], "$columns": [ { @@ -2217,7 +2217,7 @@ "$": [ "ds", 192, - 1747748819092 + 1747757543417 ], "$columns": [ { @@ -3538,7 +3538,7 @@ "$": [ "ds", 192, - 1747748819100 + 1747757543417 ], "$columns": [ { @@ -4880,7 +4880,7 @@ "$": [ "ds", 192, - 1747748819094 + 1747757543412 ], "$columns": [ { @@ -9629,7 +9629,7 @@ "$": [ "ds", 192, - 1747748819094 + 1747757543418 ], "$columns": [ { @@ -24962,7 +24962,7 @@ "$": [ "ds", 192, - 1747747304520 + 1747756920120 ], "$columns": [ { @@ -27735,41 +27735,31 @@ "$": [ "ds", 192, - 1747747304520 + 1747756920120 ], "$columns": [ { - "data": [ - "2025-05-20 16:00" - ], + "data": [], "name": "Start Timestamp", "type": "String" }, { - "data": [ - "H1" - ], + "data": [], "name": "Hour", "type": "String" }, { - "data": [ - null - ], + "data": [], "name": "Cycles of ULGL1", "type": "String" }, { - "data": [ - null - ], + "data": [], "name": "Cycles of ULGL2", "type": "String" }, { - "data": [ - null - ], + "data": [], "name": "Cycles of ULGL3", "type": "String" } @@ -27805,14 +27795,7 @@ }, "props": { "dataSources": { - "example": [ - { - "Hour": "H1", - "ULGL1": null, - "ULGL2": null, - "ULGL3": null - } - ] + "example": [] }, "legend": { "enabled": false @@ -31364,7 +31347,7 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "May 20, 2025 4:46 PM", + "formattedValue": "May 20, 2025 7:12 PM", "formattedValues": { "date": "Mar 26, 2021", "datetime": "Mar 26, 2021 12:00 AM", @@ -31382,9 +31365,9 @@ "$": [ "ts", 192, - 1747748819097 + 1747757543401 ], - "$ts": 1747745219000 + "$ts": 1747753943000 } }, "type": "ia.input.date-time-input" @@ -31535,7 +31518,7 @@ }, "props": { "dismissOnSelect": false, - "formattedValue": "May 20, 2025 5:46 PM", + "formattedValue": "May 20, 2025 8:12 PM", "formattedValues": { "date": "Mar 29, 2021", "datetime": "Mar 29, 2021 1:37 PM", @@ -31553,9 +31536,9 @@ "$": [ "ts", 192, - 1747748819097 + 1747757543401 ], - "$ts": 1747748819000 + "$ts": 1747757543000 } }, "type": "ia.input.date-time-input" @@ -31724,7 +31707,9 @@ "backgroundColor": "#2B2B2BBF", "color": "#FFFFFF", "fontFamily": "Arial", - "fontSize": 14, + "fontSize": "1.5vmin", + "lineHeight": "1.4", + "maxWidth": "40vw", "textAlign": "left", "white-space": "pre" } @@ -31733,8 +31718,8 @@ "position": { "height": 0.033, "width": 0.0158, - "x": 0.9332, - "y": 0.0935 + "x": 0.7223, + "y": 0.0021 }, "propConfig": { "meta.tooltip.text": {