SAT9/.resources/5db7b323b176ec0c9600548c4be2ad8e0ad03f84d49ac4610c46362d9bea8e35
2025-04-18 19:44:27 +04:00

1001 lines
30 KiB
Plaintext

{
"custom": {},
"params": {
"params": "value"
},
"propConfig": {
"params.params": {
"paramDirection": "input",
"persistent": true
}
},
"props": {
"defaultSize": {
"height": 1080,
"width": 400
}
},
"root": {
"children": [
{
"children": [
{
"meta": {
"name": "Icon"
},
"position": {
"basis": "32px"
},
"props": {
"path": "material/settings_applications",
"style": {
"marginLeft": "10px"
}
},
"type": "ia.display.icon"
},
{
"meta": {
"name": "Label"
},
"position": {
"basis": "129px",
"grow": 1
},
"props": {
"style": {
"marginLeft": "10px"
},
"text": "Add Device",
"textStyle": {
"fontFamily": "Arial",
"fontSize": "20px",
"fontWeight": "bolder",
"textAlign": "center"
}
},
"type": "ia.display.label"
}
],
"meta": {
"name": "FlexContainer_1"
},
"position": {
"basis": "40px"
},
"props": {
"justify": "space-around",
"style": {
"marginTop": "10px"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "129px"
},
"props": {
"style": {
"marginLeft": "0px"
},
"text": "Device :",
"textStyle": {
"fontFamily": "Arial",
"fontSize": "16px",
"fontWeight": "bold"
}
},
"type": "ia.display.label"
},
{
"custom": {
"Device": "",
"tagPath": "Configuration/FC"
},
"meta": {
"name": "TextField"
},
"position": {
"basis": "150px"
},
"propConfig": {
"props.text": {
"onChange": {
"enabled": null,
"script": "\tsystem.perspective.sendMessage(\"update-device-data\", currentValue.value)"
}
}
},
"props": {
"placeholder": "\u003cDevice Id\u003e"
},
"scripts": {
"customMethods": [],
"extensionFunctions": null,
"messageHandlers": [
{
"messageType": "multiple_selection",
"pageScope": true,
"script": "\t# implement your handler here\n\tself.props.enabled \u003d not payload",
"sessionScope": false,
"viewScope": false
},
{
"messageType": "missing-data",
"pageScope": true,
"script": "\t# implement your handler here\n\t",
"sessionScope": false,
"viewScope": false
}
]
},
"type": "ia.input.text-field"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "40px"
},
"props": {
"justify": "space-around",
"style": {
"marginTop": "10px"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "Label_0"
},
"position": {
"basis": "130px"
},
"props": {
"style": {
"marginLeft": "0px"
},
"text": "Area :",
"textStyle": {
"fontFamily": "Arial",
"fontSize": "16px",
"fontWeight": "bold"
}
},
"type": "ia.display.label"
},
{
"custom": {
"key": "prefix",
"tagPath": "Configuration/aws"
},
"meta": {
"name": "TextField_0"
},
"position": {
"basis": "150px"
},
"propConfig": {
"props.text": {
"onChange": {
"enabled": null,
"script": "\tsystem.perspective.sendMessage(\"update-area-data\", currentValue.value)"
}
}
},
"props": {
"placeholder": "\u003cArea Id\u003e"
},
"scripts": {
"customMethods": [],
"extensionFunctions": null,
"messageHandlers": [
{
"messageType": "multiple_selection",
"pageScope": true,
"script": "\t# implement your handler here\n\tself.props.enabled \u003d not payload",
"sessionScope": false,
"viewScope": false
}
]
},
"type": "ia.input.text-field"
}
],
"meta": {
"name": "FlexContainer_0"
},
"position": {
"basis": "40px"
},
"props": {
"justify": "space-around",
"style": {
"marginTop": "10px"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "Label_0"
},
"position": {
"basis": "130px"
},
"props": {
"style": {
"marginLeft": "0px"
},
"text": "SubArea :",
"textStyle": {
"fontFamily": "Arial",
"fontSize": "16px",
"fontWeight": "bold"
}
},
"type": "ia.display.label"
},
{
"custom": {
"key": "prefix",
"tagPath": "Configuration/aws"
},
"meta": {
"name": "TextField_0"
},
"position": {
"basis": "150px"
},
"propConfig": {
"props.text": {
"onChange": {
"enabled": null,
"script": "\tsystem.perspective.sendMessage(\"update-subarea-data\", currentValue.value)"
}
}
},
"props": {
"placeholder": "\u003cSubArea Id\u003e"
},
"scripts": {
"customMethods": [],
"extensionFunctions": null,
"messageHandlers": [
{
"messageType": "multiple_selection",
"pageScope": true,
"script": "\t# implement your handler here\n\tself.props.enabled \u003d not payload",
"sessionScope": false,
"viewScope": false
}
]
},
"type": "ia.input.text-field"
}
],
"meta": {
"name": "FlexContainer_2"
},
"position": {
"basis": "40px"
},
"props": {
"justify": "space-around",
"style": {
"marginTop": "10px"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "Checkbox"
},
"position": {
"basis": "130px"
},
"propConfig": {
"props.selected": {
"onChange": {
"enabled": null,
"script": "\tsystem.perspective.sendMessage(\"multiple_selection\", payload\u003dcurrentValue.value)"
}
}
},
"props": {
"style": {
"margin-left": "0px"
},
"text": "Upload"
},
"type": "ia.input.checkbox"
},
{
"custom": {
"rowToAdd": {
"Area": "",
"Device": "",
"SubArea": ""
}
},
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\twhid \u003d self.session.custom.fc\n\ttagPath \u003d \"[%s_SCADA_TAG_PROVIDER]Configuration/PLC\"%(whid)\n\tself.custom.tagData.append(self.custom.rowToAdd)\n\t\n\ttag \u003d {}\n\tfor i in self.custom.tagData:\n\t\ttag[i[\"Device\"]]\u003d {\"Area\": i[\"Area\"], \"SubArea\":i[\"SubArea\"]}\n\t\t\n\t\n\tsystem.tag.writeBlocking([tagPath], [system.util.jsonEncode(tag)])\n\t"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Button",
"tooltip": {
"enabled": true,
"text": "Missing Data for : [u\u0027Area\u0027, u\u0027SubArea\u0027, u\u0027Device\u0027]"
}
},
"position": {
"basis": "150px"
},
"propConfig": {
"custom.tagData": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]Configuration/PLC"
},
"transforms": [
{
"code": "\ttagData \u003d[{\"Device\":k, \"Area\":v[\"Area\"], \"SubArea\":v[\"SubArea\"]} for k,v in system.util.jsonDecode(value).items()]\n\treturn tagData",
"type": "script"
}
],
"type": "tag"
}
},
"props.enabled": {
"binding": {
"config": {
"path": "this.custom.rowToAdd"
},
"transforms": [
{
"code": "\n\tmissing_data \u003d []\n\tfor k, v in value.items():\n\t\tif not v:\n\t\t\tmissing_data.append(k)\n\t\n\tif missing_data:\n\t\tenabled \u003d False\n\t\tmsg \u003d \"Missing Data for : %s\"%missing_data\n\telse:\n\t\tenabled \u003d True\n\t\tmsg \u003d \"\"\n\t\n\tself.meta.tooltip.text \u003d msg \n\t\n\treturn enabled\n\t",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"image": {
"icon": {
"path": "material/add_circle"
},
"position": "right"
},
"primary": false,
"text": "Submit"
},
"scripts": {
"customMethods": [],
"extensionFunctions": null,
"messageHandlers": [
{
"messageType": "update-device-data",
"pageScope": true,
"script": "\t# implement your handler here\n\tself.custom.rowToAdd[\"Device\"] \u003d payload",
"sessionScope": false,
"viewScope": false
},
{
"messageType": "update-area-data",
"pageScope": true,
"script": "\t# implement your handler here\n\tself.custom.rowToAdd[\"Area\"] \u003d payload",
"sessionScope": false,
"viewScope": false
},
{
"messageType": "update-subarea-data",
"pageScope": true,
"script": "\t# implement your handler here\n\tself.custom.rowToAdd[\"SubArea\"] \u003d payload",
"sessionScope": false,
"viewScope": false
},
{
"messageType": "multiple_selection",
"pageScope": true,
"script": "\t# implement your handler here\n\tself.position.display \u003d not payload",
"sessionScope": false,
"viewScope": false
}
]
},
"type": "ia.input.button"
},
{
"custom": {
"data": {
"ARSAW1301": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1302": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1303": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1304": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1305": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1306": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1307": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1308": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1309": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1310": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1311": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1312": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1501": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1502": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1503": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1504": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1505": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1506": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1507": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1508": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1509": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1510": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1511": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"ARSAW1512": {
"Area": "AR FLOOR",
"SubArea": "ARSAW\r"
},
"FSC1": {
"Area": "",
"SubArea": "\r"
},
"FSC10": {
"Area": "OUTBOUND",
"SubArea": "FSC\r"
},
"FSC2": {
"Area": "",
"SubArea": "\r"
},
"FSC_Cells": {
"Area": "",
"SubArea": "\r"
},
"FSC_Induct_1-4": {
"Area": "",
"SubArea": "\r"
},
"PLC01": {
"Area": "OUTBOUND",
"SubArea": "SHIP\r"
},
"PLC02": {
"Area": "OUTBOUND",
"SubArea": "SHIP\r"
},
"PLC03": {
"Area": "OUTBOUND",
"SubArea": "KO \u0026 REJECT\r"
},
"PLC06": {
"Area": "OUTBOUND",
"SubArea": "TOTE ROUTER\r"
},
"PLC07": {
"Area": "OUTBOUND",
"SubArea": "TOTE ROUTER\r"
},
"PLC08": {
"Area": "OUTBOUND",
"SubArea": "TOTE FEED\r"
},
"PLC09": {
"Area": "INBOUND",
"SubArea": "RECEIVING\r"
},
"PLC09_Receiving2": {
"Area": "",
"SubArea": "\r"
},
"PLC09_Receiving3": {
"Area": "",
"SubArea": "\r"
},
"PLC1000": {
"Area": "INBOUND",
"SubArea": "RECEIVING\r"
},
"PLC1000_Receiving4": {
"Area": "",
"SubArea": "\r"
},
"PLC13": {
"Area": "AR FLOOR",
"SubArea": "ARSAW P2\r"
},
"PLC13_SC2": {
"Area": "",
"SubArea": "\r"
},
"PLC14": {
"Area": "",
"SubArea": "\r"
},
"PLC15": {
"Area": "AR FLOOR",
"SubArea": "ARSAW P3\r"
},
"PLC15_SC2": {
"Area": "",
"SubArea": "\r"
},
"PLC16": {
"Area": "AR FLOOR",
"SubArea": "PICK TO REBIN P3\r"
},
"PLC20": {
"Area": "OUTBOUND",
"SubArea": "AFE1 TOTE 1-3\r"
},
"PLC20_Tote4-8": {
"Area": "",
"SubArea": "\r"
},
"PLC21": {
"Area": "OUTBOUND",
"SubArea": "AFE TRAY ROUTER\r"
},
"PLC22": {
"Area": "OUTBOUND",
"SubArea": "AFE TRAY ROUTER\r"
},
"PLC23": {
"Area": "OUTBOUND",
"SubArea": "AFE1 TRAY FEED\r"
},
"PLC24": {
"Area": "OUTBOUND",
"SubArea": "AFE1 WALL 1-2\r"
},
"PLC25": {
"Area": "OUTBOUND",
"SubArea": "AFE1 WALL 3-4\r"
},
"PLC26": {
"Area": "OUTBOUND",
"SubArea": "AFE1 WALL 5-6\r"
},
"PLC27": {
"Area": "OUTBOUND",
"SubArea": "AFE1 WALL 7-8\r"
},
"PLC30": {
"Area": "OUTBOUND",
"SubArea": "AFE1 PACK 1-4\r"
},
"PLC31": {
"Area": "OUTBOUND",
"SubArea": "AFE1 PACK 5-8\r"
},
"PLC32": {
"Area": "OUTBOUND",
"SubArea": "AFE1 EMP. TOTE\r"
},
"PLC60": {
"Area": "OUTBOUND",
"SubArea": "S.PACKING 1\r"
},
"PLC61": {
"Area": "OUTBOUND",
"SubArea": "S.PACKING 2\r"
},
"PLC69": {
"Area": "OUTBOUND",
"SubArea": "GIFT WRAP\r"
},
"PLC70": {
"Area": "OUTBOUND",
"SubArea": "TRANSSHIP\r"
},
"PLC71": {
"Area": "OUTBOUND",
"SubArea": "TRANSSHIP\r"
},
"PLC80": {
"Area": "OUTBOUND",
"SubArea": "SMART PACKING\r"
},
"PLC81": {
"Area": "OUTBOUND",
"SubArea": "SMART PACKING\r"
},
"PLC82": {
"Area": "OUTBOUND",
"SubArea": "SMART PACKING\r"
},
"PLC97": {
"Area": "SAFETY PLC",
"SubArea": "\r"
},
"PLC98": {
"Area": "SAFETY PLC",
"SubArea": "\r"
},
"PLC99": {
"Area": "SAFETY PLC",
"SubArea": "\r"
},
"THE": {
"Area": "BOB",
"SubArea": "NOB"
}
},
"list_data": [
"OUTBOUND",
"PLC03",
"KO \u0026 REJECT\r",
"OUTBOUND",
"PLC01",
"SHIP\r",
"OUTBOUND",
"PLC02",
"SHIP\r",
"OUTBOUND",
"PLC07",
"TOTE ROUTER\r",
"OUTBOUND",
"PLC08",
"TOTE FEED\r",
"OUTBOUND",
"PLC06",
"TOTE ROUTER\r",
"OUTBOUND",
"PLC81",
"SMART PACKING\r",
"OUTBOUND",
"PLC82",
"SMART PACKING\r",
"",
"PLC09_Receiving3",
"\r",
"",
"PLC09_Receiving2",
"\r",
"INBOUND",
"PLC09",
"RECEIVING\r",
"",
"PLC14",
"\r",
"AR FLOOR",
"PLC15",
"ARSAW P3\r",
"AR FLOOR",
"PLC13",
"ARSAW P2\r",
"AR FLOOR",
"PLC16",
"PICK TO REBIN P3\r",
"",
"FSC_Induct_1-4",
"\r",
"SAFETY PLC",
"PLC98",
"\r",
"SAFETY PLC",
"PLC99",
"\r",
"SAFETY PLC",
"PLC97",
"\r",
"OUTBOUND",
"FSC10",
"FSC\r",
"",
"FSC_Cells",
"\r",
"OUTBOUND",
"PLC25",
"AFE1 WALL 3-4\r",
"OUTBOUND",
"PLC69",
"GIFT WRAP\r",
"OUTBOUND",
"PLC26",
"AFE1 WALL 5-6\r",
"OUTBOUND",
"PLC23",
"AFE1 TRAY FEED\r",
"OUTBOUND",
"PLC24",
"AFE1 WALL 1-2\r",
"OUTBOUND",
"PLC27",
"AFE1 WALL 7-8\r",
"AR FLOOR",
"ARSAW1310",
"ARSAW\r",
"OUTBOUND",
"PLC61",
"S.PACKING 2\r",
"AR FLOOR",
"ARSAW1312",
"ARSAW\r",
"AR FLOOR",
"ARSAW1510",
"ARSAW\r",
"AR FLOOR",
"ARSAW1311",
"ARSAW\r",
"OUTBOUND",
"PLC60",
"S.PACKING 1\r",
"AR FLOOR",
"ARSAW1512",
"ARSAW\r",
"OUTBOUND",
"PLC21",
"AFE TRAY ROUTER\r",
"AR FLOOR",
"ARSAW1511",
"ARSAW\r",
"OUTBOUND",
"PLC22",
"AFE TRAY ROUTER\r",
"INBOUND",
"PLC1000",
"RECEIVING\r",
"OUTBOUND",
"PLC20",
"AFE1 TOTE 1-3\r",
"AR FLOOR",
"ARSAW1307",
"ARSAW\r",
"AR FLOOR",
"ARSAW1505",
"ARSAW\r",
"AR FLOOR",
"ARSAW1306",
"ARSAW\r",
"AR FLOOR",
"ARSAW1504",
"ARSAW\r",
"AR FLOOR",
"ARSAW1309",
"ARSAW\r",
"AR FLOOR",
"ARSAW1507",
"ARSAW\r",
"AR FLOOR",
"ARSAW1308",
"ARSAW\r",
"AR FLOOR",
"ARSAW1506",
"ARSAW\r",
"AR FLOOR",
"ARSAW1509",
"ARSAW\r",
"",
"PLC20_Tote4-8",
"\r",
"AR FLOOR",
"ARSAW1508",
"ARSAW\r",
"",
"PLC13_SC2",
"\r",
"AR FLOOR",
"ARSAW1301",
"ARSAW\r",
"OUTBOUND",
"PLC70",
"TRANSSHIP\r",
"OUTBOUND",
"PLC71",
"TRANSSHIP\r",
"AR FLOOR",
"ARSAW1303",
"ARSAW\r",
"AR FLOOR",
"ARSAW1501",
"ARSAW\r",
"OUTBOUND",
"PLC32",
"AFE1 EMP. TOTE\r",
"AR FLOOR",
"ARSAW1302",
"ARSAW\r",
"AR FLOOR",
"ARSAW1305",
"ARSAW\r",
"AR FLOOR",
"ARSAW1503",
"ARSAW\r",
"OUTBOUND",
"PLC30",
"AFE1 PACK 1-4\r",
"AR FLOOR",
"ARSAW1304",
"ARSAW\r",
"AR FLOOR",
"ARSAW1502",
"ARSAW\r",
"OUTBOUND",
"PLC31",
"AFE1 PACK 5-8\r",
"OUTBOUND",
"PLC80",
"SMART PACKING\r",
"",
"FSC1",
"\r",
"",
"PLC15_SC2",
"\r",
"",
"FSC2",
"\r",
"",
"PLC1000_Receiving4",
"\r",
"BOB",
"THE",
"NOB"
]
},
"events": {
"component": {
"onFileReceived": {
"config": {
"script": "#\tpayload\u003d{\"fileContent\":event.file.getString(),\"fileName\":event.file.name}\n#\twhid \u003d self.session.custom.fc\n#\tdata \u003d{}\n#\tdef get_child():\n#\t\treturn {\n#\t\t\t\"Area\":\"\",\n#\t\t\t\"SubArea\":\"\"\n#\t\t}\n#\t\t\n#\tdef convert_csv_string_list(string):\n#\t\treturn string.replace(\"\\n\",\",\").replace(\"\\\"\",\"\").split(\",\")[3:]\n#\t\n#\tlist_data \u003d convert_csv_string_list(event.file.getString())\n#\tself.custom.list_data \u003d list_data\n#\tfor i in range(2, len(list_data),3):\n#\t\tchild \u003d get_child()\n#\t\tchild[\"Area\"] \u003d list_data[i-2]\n#\t\tchild[\"SubArea\"] \u003d list_data[i]\n#\t\tdata[list_data[i-1]]\u003d child\n#\n#\tself.custom.data \u003d data\n#\t\n#\t\n#\tvalues \u003d system.util.jsonEncode(data)\n#\t\n#\tsystem.tag.writeBlocking([\"[%s_SCADA_TAG_PROVIDER]Configuration/PLC\"%whid], values)\n#\t\n\twhid \u003d self.session.custom.fc\n\tFileHandler.uploader.add_device_btn_code(whid, event)"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "FileUpload"
},
"position": {
"basis": "150px",
"display": false
},
"scripts": {
"customMethods": [],
"extensionFunctions": null,
"messageHandlers": [
{
"messageType": "multiple_selection",
"pageScope": true,
"script": "\t# implement your handler here\n\tself.position.display \u003d payload ",
"sessionScope": false,
"viewScope": false
}
]
},
"type": "ia.input.fileupload"
}
],
"meta": {
"name": "FlexContainer_4"
},
"position": {
"basis": "40px"
},
"props": {
"justify": "space-around",
"style": {
"margin-top": "10px"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "root"
},
"props": {
"direction": "column",
"style": {
"borderBottomLeftRadius": "5px",
"borderBottomRightRadius": "5px",
"borderStyle": "solid",
"borderTopLeftRadius": "5px",
"borderTopRightRadius": "5px",
"margin": "10px"
},
"wrap": "wrap"
},
"type": "ia.container.flex"
}
}