From 7e2649efeb7a93f9937ec9ae6636c2629ba17679 Mon Sep 17 00:00:00 2001 From: Giuseppe Marazzita Date: Thu, 28 Jan 2021 17:59:19 +0100 Subject: [PATCH 01/10] moduli sottocofano --- Thermo.Active/wwwroot/package-lock.json | 272 +++++++++++++----------- 1 file changed, 146 insertions(+), 126 deletions(-) diff --git a/Thermo.Active/wwwroot/package-lock.json b/Thermo.Active/wwwroot/package-lock.json index 5cc9d9a3..fedad646 100644 --- a/Thermo.Active/wwwroot/package-lock.json +++ b/Thermo.Active/wwwroot/package-lock.json @@ -2046,6 +2046,36 @@ "yorkie": "^2.0.0" }, "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "optional": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "optional": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -2055,6 +2085,30 @@ "fill-range": "^7.0.1" } }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "optional": true + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -2064,6 +2118,49 @@ "to-regex-range": "^5.0.1" } }, + "fork-ts-checker-webpack-plugin-v5": { + "version": "npm:fork-ts-checker-webpack-plugin@5.2.1", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz", + "integrity": "sha512-SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==", + "dev": true, + "optional": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, "globby": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", @@ -2080,6 +2177,13 @@ "slash": "^2.0.0" } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", @@ -2092,6 +2196,16 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "optional": true, + "requires": { + "yallist": "^4.0.0" + } + }, "micromatch": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", @@ -2108,6 +2222,18 @@ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "optional": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -2120,6 +2246,16 @@ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -2141,6 +2277,13 @@ "micromatch": "^4.0.0", "semver": "^6.0.0" } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "optional": true } } }, @@ -3491,9 +3634,9 @@ } }, "vue-loader-v16": { - "version": "npm:vue-loader@16.0.0-rc.1", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.0.0-rc.1.tgz", - "integrity": "sha512-yR+BS90EOXTNieasf8ce9J3TFCpm2DGqoqdbtiwQ33hon3FyIznLX7sKavAq1VmfBnOeV6It0Htg4aniv8ph1g==", + "version": "npm:vue-loader@16.1.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.1.2.tgz", + "integrity": "sha512-8QTxh+Fd+HB6fiL52iEVLKqE9N1JSlMXLR92Ijm6g8PZrwIxckgpqjPDWRP5TWxdiPaHR+alUWsnu1ShQOwt+Q==", "dev": true, "optional": true, "requires": { @@ -8850,129 +8993,6 @@ } } }, - "fork-ts-checker-webpack-plugin-v5": { - "version": "npm:fork-ts-checker-webpack-plugin@5.2.1", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz", - "integrity": "sha512-SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==", - "dev": true, - "optional": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "optional": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "optional": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "optional": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "optional": true - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "optional": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true, - "optional": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", From 236443b777793c22d52b9ce351f8fdb4d9701156 Mon Sep 17 00:00:00 2001 From: Giuseppe Marazzita Date: Thu, 4 Feb 2021 09:32:38 +0100 Subject: [PATCH 02/10] Moduli sotto cofano (solo parte grafica) --- .../icons/sotto-cofano/png/button-bg.png | Bin 0 -> 2147 bytes .../icons/sotto-cofano/png/button-bg@2x.png | Bin 0 -> 6308 bytes .../icons/sotto-cofano/png/button-bg@3x.png | Bin 0 -> 10172 bytes .../sotto-cofano/png/controlli-textfield.png | Bin 0 -> 572 bytes .../png/controlli-textfield@2x.png | Bin 0 -> 1306 bytes .../png/controlli-textfield@3x.png | Bin 0 -> 2367 bytes .../icons/sotto-cofano/png/ico-bt-minus.png | Bin 0 -> 224 bytes .../sotto-cofano/png/ico-bt-minus@2x.png | Bin 0 -> 299 bytes .../sotto-cofano/png/ico-bt-minus@3x.png | Bin 0 -> 434 bytes .../icons/sotto-cofano/png/ico-bt-plus.png | Bin 0 -> 338 bytes .../icons/sotto-cofano/png/ico-bt-plus@2x.png | Bin 0 -> 471 bytes .../icons/sotto-cofano/png/ico-bt-plus@3x.png | Bin 0 -> 733 bytes .../png/ico-bt-selez-auto-pin-grey.png | Bin 0 -> 525 bytes .../png/ico-bt-selez-auto-pin-grey@2x.png | Bin 0 -> 890 bytes .../png/ico-bt-selez-auto-pin-grey@3x.png | Bin 0 -> 1471 bytes .../png/ico-bt-selez-auto-pin.png | Bin 0 -> 504 bytes .../png/ico-bt-selez-auto-pin@2x.png | Bin 0 -> 853 bytes .../png/ico-bt-selez-auto-pin@3x.png | Bin 0 -> 1421 bytes .../assets/icons/sotto-cofano/png/label.png | Bin 0 -> 1104 bytes .../icons/sotto-cofano/png/label@2x.png | Bin 0 -> 2274 bytes .../icons/sotto-cofano/png/label@3x.png | Bin 0 -> 3494 bytes Thermo.Active/wwwroot/assets/styles/style.css | 2 +- Thermo.Active/wwwroot/config.development.json | 2 +- Thermo.Active/wwwroot/package-lock.json | 98 +++ Thermo.Active/wwwroot/package.json | 2 + Thermo.Active/wwwroot/src/App.ts | 4 +- Thermo.Active/wwwroot/src/App.vue | 2 +- Thermo.Active/wwwroot/src/app.routes.ts | 2 + .../Assi/components/assi/assi.less | 2 + .../sotto-cofano/Assi/components/assi/assi.ts | 9 + .../Assi/components/assi/assi.vue | 11 + .../tables/assi-table/assi-table.less | 556 ++++++++++++++++++ .../tables/assi-table/assi-table.ts | 110 ++++ .../tables/assi-table/assi-table.vue | 178 ++++++ .../InputOutput/components/io/io.less | 88 +++ .../InputOutput/components/io/io.ts | 95 +++ .../InputOutput/components/io/io.vue | 170 ++++++ .../components/tables/input/input.less | 310 ++++++++++ .../components/tables/input/input.ts | 122 ++++ .../components/tables/input/input.vue | 92 +++ .../log-ciclo-automatico.less | 15 + .../log-ciclo-automatico.ts | 9 + .../log-ciclo-automatico.vue | 11 + .../log-ciclo-automatico-table.less | 187 ++++++ .../log-ciclo-automatico-table.ts | 120 ++++ .../log-ciclo-automatico-table.vue | 45 ++ .../log-misurazioni/log-misurazioni.less | 4 + .../log-misurazioni/log-misurazioni.ts | 9 + .../log-misurazioni/log-misurazioni.vue | 11 + .../log-misurazioni-table.less | 164 ++++++ .../log-misurazioni-table.ts | 83 +++ .../log-misurazioni-table.vue | 42 ++ .../components/riscaldi/riscaldi.less | 3 + .../Riscaldi/components/riscaldi/riscaldi.ts | 9 + .../Riscaldi/components/riscaldi/riscaldi.vue | 11 + .../tables/riscaldi-table/riscaldi-table.less | 276 +++++++++ .../tables/riscaldi-table/riscaldi-table.ts | 42 ++ .../tables/riscaldi-table/riscaldi-table.vue | 64 ++ .../sotto-cofano/common.less | 38 ++ .../sotto-cofano/header/my-header.less | 6 + .../sotto-cofano/header/my-header.ts | 4 + .../sotto-cofano/header/my-header.vue | 7 + .../sotto-cofano/menu-sx/menu-sx.less | 40 ++ .../sotto-cofano/menu-sx/menu-sx.ts | 19 + .../sotto-cofano/menu-sx/menu-sx.vue | 41 ++ .../app_modules_thermo/sotto-cofano/route.ts | 33 ++ .../sotto-cofano/sotto-cofano.less | 0 .../sotto-cofano/sotto-cofano.ts | 17 + .../sotto-cofano/sotto-cofano.vue | 13 + .../sotto-cofano/variable.less | 31 + .../wwwroot/src/modules/app-footer.ts | 6 +- .../wwwroot/src/modules/app-footer.vue | 10 + Thermo.Active/wwwroot/webpack.config.js | 8 +- 73 files changed, 3224 insertions(+), 9 deletions(-) create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/button-bg.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/button-bg@2x.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/button-bg@3x.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/controlli-textfield.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/controlli-textfield@2x.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/controlli-textfield@3x.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-minus.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-minus@2x.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-minus@3x.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-plus.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-plus@2x.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-plus@3x.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin-grey.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin-grey@2x.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin-grey@3x.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin@2x.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin@3x.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/label.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/label@2x.png create mode 100644 Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/label@3x.png create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/assi/assi.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/assi/assi.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/assi/assi.vue create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/tables/assi-table/assi-table.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/tables/assi-table/assi-table.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/tables/assi-table/assi-table.vue create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/io/io.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/io/io.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/io/io.vue create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/tables/input/input.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/tables/input/input.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/tables/input/input.vue create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.vue create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/tables/log-ciclo-automatico-table/log-ciclo-automatico-table.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/tables/log-ciclo-automatico-table/log-ciclo-automatico-table.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/tables/log-ciclo-automatico-table/log-ciclo-automatico-table.vue create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/log-misurazioni/log-misurazioni.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/log-misurazioni/log-misurazioni.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/log-misurazioni/log-misurazioni.vue create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/tables/log-misurazioni-table/log-misurazioni-table.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/tables/log-misurazioni-table/log-misurazioni-table.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/tables/log-misurazioni-table/log-misurazioni-table.vue create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/riscaldi/riscaldi.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/riscaldi/riscaldi.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/riscaldi/riscaldi.vue create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/tables/riscaldi-table/riscaldi-table.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/tables/riscaldi-table/riscaldi-table.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/tables/riscaldi-table/riscaldi-table.vue create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/common.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/header/my-header.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/header/my-header.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/header/my-header.vue create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/menu-sx/menu-sx.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/menu-sx/menu-sx.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/menu-sx/menu-sx.vue create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/route.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/sotto-cofano.less create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/sotto-cofano.ts create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/sotto-cofano.vue create mode 100644 Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/variable.less diff --git a/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/button-bg.png b/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/button-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..15446a0f2ec2de33933c691006b84f81f750416d GIT binary patch literal 2147 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

5q_B} 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 LJ5jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(;}wSXDUHUKGH%;SFtsBD?1i(^Oy zJ&L+^iIzy0>xlGPU=7Yc%{SAWtk0CK3jVA8BP0=Wu8rW?8~KcZ$<6{oB2u$ z9&xVubYJiPUeAw_b<5`!*O=>nIDf20?A1}$iq<0w?-(w)!<1wn@F?J&L_i+nMtO}w zjdC81?F~2hr&vs}W}6c2@P^$>=9Db+DP4tc%&L4(`xu{!3H)vpYA-t8P{iHw*P+vS zXR^ai)+2Qb2E@4YPrt2tUo_QQ{QAx#zKS-tBNcoe>Gu@v%zBeMYuWjtJ>mgTe~DWM4fbob4=WkI`!R8Gb=m9Iub+SS&Yc=d8yg$Vcn{0x zS6+Yp$DQ>#c2A%~qn|=kl-~5rjS)+V1eV^+`S$$Hn>VTR{Fcl2_4oU;H9L0ocW5>3 zs`q-iqJgQL>1#>X0;OfQZ{Pl5(K+o@;}rc{a*IWE0Tb67v5x80f+3bO zgDQ7l*}F;mdUuT9lFuD4zkD%~m6a`ZJo@qp=T_-U>7pytLtI21kKSHVF=cxFbIZ7A zM^B0v9^JaHziUB_#)1QRjUAfz?2q1FTydnf^5pbKEwB8RR;&zv|99z;JeT>Q3%HJG zhVsv?cp3itq@e#_RhPfK^BqIY)`RR{@JR5iOGLEn-M?p7?o035Z~3!)`P~k?)efR7 z<{sI)P564*Z|=5`oqMznu)O>JIA3nYY;D#F4UURx?py|p%}IXiL>!pdT4%^;9$?|= zvfLTOz$qb;RJ4Ra*g)gi6E8-Ugn*8d6PbJtESNEQRO4viIP8vFfB75xukb#RfCa)g z^3>lwZuuo?zWVB^4S)O>F^JsYTe(eG_vxpT&z}}qcBzYZyJp?q9p31B`9S_#pT@t! z9Sgk7V~sER-EsHcdHwa?x#yp+Pv3lVanb#gPv)2>zLlS9zmbWb`wH`lEt9>hSH{%4 zd*3xQk?WuT?f2jBhaY|j?R@DuC+Oot&94S)y8jBV$e;Mn^=q=x%$iw#%ip^#zW9Cr X{X>GB6=12-t*RGyrBD z1|Y2q(zLDspi>G0I>-oWZKbHstDtwO&Swl<)H>=Wh^LScw*muve_(-A1LEV+@fba6 zOxo0g8&8Ze2Iow6Tn9x~8|+Bu19CicairfaZC_&-RzdQ+ZV)2^ZEuCz)@SU>IkCLd z;byZ=aVXv>$iF`~v0_v;`I_?a>9+nV+NeE_X4###0Ka7~FD>?Tbabrl8t?8NPj>Pd zy6j<1;Q3JVMEK_lU)^$4 zwwry4_vsHO)=FH^L04-kCg5^pG%1*EJ z#^&^uWv0HqK9g*=lMqZkJIroR?5aCF%J6}Ps2Pg_Rkf7=c1W{5Ep<|*8m43$xiOhc zT)sn0)C02-Tsw}eN3H%7{`BeLU+x)v0;WB`NgQcCCwtTrJr)@^bfhpkyRX}td3rk3 zt;6xWqTS7>)fNxu0vW|9#gvAimc<^Qd_SWywNlF-@~f=h>`j~9K!v0n3C=39OEQbw z838pKj0qh32d8@c9Yw;egM6vyr#kUcy}9pNiDaeixpANmgq|}&4lHcQp(g$`bWbOG z9CqkOHxp&XST2Jj<~pVLm)4T>sIW%%;)wT5O;fl$zHR&~M+wVm|F!g|^R%?ULmNp4 zUOmvcW(o%9n(O`re_k6Kr7X*TwoUD<3O?h=WGIu) zQkP1<@0;b`R6=MBD*}a0&IvvF;47L}xAWY=?3Lc+C}O&mNMT+pk8v4OnBYm$R)|nZ zSdw91n<|tAmnrx2Z0>YgmxP22aUM(LlESa?+C=(mj}#}eEtGRMLi=8qs|C1YQFJ&9 z08t8q!n~M*V-3NcEgC)cNHb0D0iqy>yQGBZYT8O}_YU}x7zt5|$7>8DcN<{-vBGOo zpN8Tf^co1Fg5TMJC@%yE-6t}Ej7*+%^8ve!q|z*&ROv*H!Ql5`FdSX`3Z$S2@RHv& zLP3V8%o<+BB_P8B0bT1)`SM7@7OD6a}f0BCsO1T3XV~a+&pe~1@pi~4{(Erv2 zQMzDzL|fQy9%(h$E{PR1eo5*}rM}#$|Ksa><>BsL@PxjlIRar1$l-#PYhDOwT&t#E zlGtM|n-QaH44%H3z6ExBMlWJ;C|7hB54zSb6KnP%!gV_krKFtNd;j4dFYDi(IeFJI zL?9G~2stg$4wWr3b}=oi9R3-hHY?1!yreivLZlqw%y2rUeSy`ie%!ou7~{)KNxAn5 zQ8PbP&$Syg*hsr$5WZH~?2>$(Xi>vpFu3bOT7*1LA~E_XjTVvw!-P3!^~}Hx7bO>s z!C!RGE6Xo%rCMtUvoiYR%t%L8D-6Tj`*n47Yn3ShfM{>k;mUkZ?|TS~zlzIPC60`> z#+5D1jCa3dy`Q91w+`2z9OY|nnp<9IHPiJG@=FrKv8g!%Y-*|k1|%Oc%$NbB7>k44ofy`glX(f`xTHpSruq6Z zXaU(A42G$TlC0TWzSWdSpS4N|DZ_xKNx^73?X42j@; zd(n`OL4kwC;KTp=u(Zby+B)~1?7#3FEiWtR)cp`NaOF6*2UngFML BJ^lay literal 0 HcmV?d00001 diff --git a/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-minus@3x.png b/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-minus@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0816391d6b7b0ff690ca68aeb6ba97eb842b65 GIT binary patch literal 434 zcmeAS@N?(olHy`uVBq!ia0vp^IUvlz1|<8_!p{OJ#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyz1gS-^~7gB1R}eM=6gOvcm2F{Fa= z?Zu6}2NVRD9TNV}|k1|%Oc%$NbB7>k44ofy`glX(f`xTHpSruq6Z zXaU(A42G$TlC0TWzSWdSpS4N|DZ_xKNx+T-cs7!tvm zoFKuvSkXX=so8?%-~a#f8IGJ-&=B<8C@_m*>(_p(j)0E7whI{?f?SMFpB86!1aKHW z3S!Wy%YQV$AxWzLpu%QaX|UbJ~3^mRouhwI}E z4&I#thr)w|Kk<0{vldVepA_GD(PUMc35%O^f`T&xgP*sBj((lGk z>|0;o5eaZ$WJM7FycWFw?On5UTROKyx0v3dr`ZA=@A@2=8X1n5c_;`p++gEmVG_8l z(CEOBB&{OA;gHkJ!o=8-JHbJLVI!{)2aCcsM}{peH3G-kPdq=kp>D%joml^xb;%qL zr&-?55OG^R^Wk^SYPCGeTdoVTU$XuZV>WDr8<1dX3FJxxPpt`A6qwA89I|GhZn3 z?2o|B8P`ldiZ}m1d%lWY&0?qgr3MXT`v^HMd!FZE#qLMdcdDmGeDpdatG%FsiAw`c c{Mm7U{rjz;g0$eoyP!bzboFyt=akR{0L+A$761SM literal 0 HcmV?d00001 diff --git a/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-plus@3x.png b/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-plus@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..1f672292c9e41dc30e57ad3676975529b9813077 GIT binary patch literal 733 zcmeAS@N?(olHy`uVBq!ia0vp^IUvlz1|<8_!p{OJ#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyz1gS-^~7gB1R}eM^pkfyv#|#WAFU z@$GGEzotL|wg7`~>kb?#-NCKxZEgP8=*^u5>jK7g2amaAd+!lZ39(T-JeNmCNcogK z|GDYjj-T|!Flhahk8`Yz5r{w_W(#UAc|(zHj{7Z+m|J@z?LG*PX2UX}&u#D&evA zjP-AxmVK4J-y*yF_xU%nMyBplqE|WBaM)ReB?RtVWYs8o z(ET`gS;eMmuM&|PfNz2pK K&t;ucLK6TiQxahS literal 0 HcmV?d00001 diff --git a/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin-grey.png b/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin-grey.png new file mode 100644 index 0000000000000000000000000000000000000000..a512f9c651c5da0558c84bfc72310286b9c347bf GIT binary patch literal 525 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbB7>k44ofy`glX(f`xTHpSruq6Z zXaU(A42G$TlC0TWzSWdSpS4N|DZ_xKM`S-Gc+V@L$& z+o_IT%#H%CtKSH0zP?rOOrnW6XWk-i@g@#sr5yqnb*989W&112Ifz$rNzT#R&D_Wn z>=!ED-0{-EW7n(i^RMqu6KeQ#iu2EA7K5)g(=XqQ`xp4;~1Z{wj&YMyLG%(Ived7o{KR0r0)~l1;#m=sKpKd)r z^y|Gen}WRWUo!q&T=uZ)B&X|Sp}%73+oCRKgnd2zUQOZCj=d&7UIs6I_-$50g9A%Y zri7BPfKsRO6&QZXUCNy0ajfOZM8T7@)c9_=v3Y#*U3<~MWm(IF zfPE`PrP_|q5YP|`0xI&Xmpyv-v1o+_q+`8?4TOWOEe6+jUczN%dZf!0(Ne_+_zYc5My!E>> uC8(@kZ{a+bH7}JPwYp6=wQRia@j%+YCos^@-}xOVDm-2NT-G@yGywpKG{<}Z literal 0 HcmV?d00001 diff --git a/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin-grey@2x.png b/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin-grey@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..89041ab897dc39cf841d50e414bf004efa2adec2 GIT binary patch literal 890 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(<^v49!D1}U6i==Pq0f$52-i(^Oy zMi%a)o;B1k2R>J z$$Vm0{+tr&Yj1Dw$%#|DtXCuMb#J!kzL_=mRA$$%EdJ5Jz=4dO2ru}f_ET4F^2x)S z-;1}OyJ%)?e?EN1R)s~y&wr#8C)d_n$i$tqDP8yO`oy{6Ukhg3UB{Di@8aWkQXkf3 z{JQqO$|J>8GUe*K*qPg^&3nz(EWG*d49f(Y(#b3D$i?kE$|A7y;Pp=d&qY%^)xRN3o?yYg2qoOpS=uEL|Oa~_CY%@r{bdwDEpS%XT) zBc7m39Un7p`Z5}tA8jx(i4w8mS=P|Ob~M<>d2zG*=~S*0J3sMUx|mVeA(g{uDC%#x ze4*gci)AyIl3Mc>czey-b{rL%u;-n|c?Hp4iwU#kf*p=L{SB0uEwJm|S%%)@kB@(n zeiayQaQerdw(C*L*15?VJJ{E+&JkLFY|YB4O&M%2Ce3obdP_|m?qgbT!?b{|6f1Y r7Q`VVQ!n?^{s04`037Y8W%|#csW^Ybi3QDhpmgu)>gTe~DWM4fkf(WQ literal 0 HcmV?d00001 diff --git a/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin-grey@3x.png b/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin-grey@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a217e9707566a83683035acc4eeaa3a968b6ca9b GIT binary patch literal 1471 zcmb_cSyU1T6opVTDMibT(6G|X71vD4g@fA!Vuql(r55hXXkw<5Rx++o&QT*B#RZp= zkg#&x#|;z37LU7SOk*9?G;_f<2Y+V1=FHEWbML$Ny?ei3rkktNAvvfV0021T;*55e zXv7|6WhC<+i71c=FwWfx1z-=tM3M!4&C`X1#RBvsUKRjM4+Ti=RV0K;2mpXefdG(1 zfqS>oeSfDBrJ#TOUU6e`LK6UxKJ9|G$KL>cDQ=I3IjH^oc@o_H;ZElf`wdWr-7{G& zE$IW9vKK4Ara+X2AQ&L^DHeJXovI_$y;M?ez75IMb;X-Mg6P60GTb~BrL#<$G)RM9 z+CN4`C5#}aTas?#veu%=r0M9A-lQ{0HvTz6s+4o;e*u0c6}{rIxcR21uB3q!+mVsj zcXUTZOIh|{ox~p73mMJ%zG*>M_)WredhgH zvG2Sm_51x!8%=q}#7=PR5YVa$7~shJQaRI+sW4cwlf-LdVI4+R?AB8f`iWC)A8xWo z@4_&o2H|hUc-RyJgRy{vabBtyeD2SjLk&zBktOiw&1Bbk*SMB7R?xoNQg@~bKVS3s6W{6q~2gmmDvg8?^$H)J&pB!qd-`9ae>b7wDiktgXVaiwm zOV5m)ZOp=Z#b6q-N9qF|Ja&YXd;*S6B51=U2}Vermb?6j?s1J5C8RVS2sLW3s1NkT zZgqj{U*PZ7JRIg19F;Q0Fx|Yh!$^iKM9|70;vI|3|L_VSNPwHyPl#qaE|nM2C&KBm z1pVNz!Sq36V|_BTUH1uhB2q}n#O^Mo$`z9c`RdIS6-$^r<9eMwuG{r-WC~-(Y?3yr zw%>4mkUcv$nwLNuPeBdCB4yMU+v--BT3rpQz8Qd93h^17q+6xn6xC zT#Cx4@6JBU&5!q8Er1jG{=e#fj4r|D~R|cUvL@`YhVBV%DP4R_&b8#7#gOV#6x&C$$8p^<{PshCt$u`!2;>l#ht zGNaAFG%cVK{I;|XU}*$TOl~mpi+yn6-uo9L(|+_sl!3LT!$1K9Cr z256aQ#hrFNY5Z~yMEx~c4y1foFS`?U)o$|iK|H3$;QuX$m!&oCZY6GgKnFk9m>;U{ zy=$ZFO`KcbZ1_mTwTf)bZ@v|;axJHQC%=gkK{}kB@fpKih2PKxj{8p9{VQA!Y%5f@ VEl|=OTK3*8z{SB8%|>0h^A`qMk&OTV literal 0 HcmV?d00001 diff --git a/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin.png b/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin.png new file mode 100644 index 0000000000000000000000000000000000000000..33b127097cc365ab5bb86b99a683935b98145079 GIT binary patch literal 504 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbB7>k44ofy`glX(f`xTHpSruq6Z zXaU(A42G$TlC0TWzSWdSpS4N|DZ_xKM`S(2xVV@L$& z+o>D<4jTxx{m;%k8n?vD;{XG{bEV)mpBx{a9G#TMsxy9zbg(xtYAJqX6L9G-zNOmv z)H+(s`KgEGx$i&EzrWwfJY}`YhGfowH&uOEcDW6z66ptbwoKP7*thD1>4~qi7RRlf z#{1aG^l`|M5BwVfSgRejEIcXFzv$zg%aT)EDrN#W~ro7vm*E8vjVT9)z}yRQ+;N1r0r_7MF0FP)rC-I=W-AI_ zIlxQ;ynD3Sp17}zSGsrN+TGf)lC_tmmA+}OUXwQG&$P8`(qzQ5SCp;Z zW|wgKT3B8A&Y!lMcNecQC_7zbW4t1ehxPHqG|v?(OH>zp{cdvL(sbdU#}0`uQ~4mz a`G@i75vza?B^F0Oq3-GG=d#Wzp$PyQ7Q`_C literal 0 HcmV?d00001 diff --git a/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin@2x.png b/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/ico-bt-selez-auto-pin@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ef40cf588356f69a677f04aa259fa1773755b21 GIT binary patch literal 853 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(<^v49!D1}U6i==Pq0foZ>|i(^Oy z`8-ZP}ZDp(#t=2d0#V{@(p(*_)Yi$1TN#6c~|EV--_u?et%A=lB0=-(R=G|K9HD zm#QPz8@wpIS^6$#V#>(WNrc zEn?o^*KLZw{MKk%?9JbAzK3g<+od0Qn_K?jZ)mxp`{HHmJ=wl8#_m?H-MzK(!U~Do zViStHyKWS1S28KO)p=Ls!m0D;6Pt>CLmy@St+xOr}W}1y3_CoY-(e zat-6za|$y#oRp6%Z=B6E>3H+a$<7%nB5FL#8dUg>d~(R}QIOo_!>DK$(Q-`S;FqbI z3eOoOTQ1Bw7zoH(!+2YjV4g_2Sl*qdXH_%&VK@W-A6|`Bn zI7xonxit?mKmvc7C$rS4Owbc`Z1w%6(X-ToZK-Dh8{^jZj#~|FZ6}^zw6*AKl-PM& zjjZYmwlk!G=}0R~NhJakAYgJcP%ct{b4^_T1;NhjMpb7_W10&D0b^Yf1_vOTBm(qvvrCh z6+em23^zNyWJ4!s2F=W6lGuEu>Ioe-hhRkiFdpAPCjjw^jmmg|I}3x@~Uy$ zEFOH2HPk#~zNYrB?d4;0gBtvgcz(J#>)D?x^OrwIKcS`nk%@^W(f6L$%fX3&$t!KEUf6x8*g6q%3NX5;s?(8v$WaP16GEE6PvBqM%{u*YH zwlk|Vv_!V+^L%(!-d{bGLh^_K~e%Gy5G zZ8pA&o3kv9>svC{C%8*kWSg|Ue4VyouiVVg)6?=&{&P6nxbpzjDsFxRwC;%m!_3f& z!RvQaCjOe8a6?mY*45yEx6PS}?Q&w(Uw3U<9yR^d^ly=No9lRAZa2~O+1)Rr$ac%p z$oboaowa%67FXgWu zT(53vbh?8p)rb4^r=sN_XQ$sj#Grq_#df>-`H45V<^LVrwn3)4y6?=xc~z=D+}aKM zxw&16Qrg}a75`n#D}DKBYtoz8=)4#9!8@1eTCMY!Eqj_Xv+3vRpYmTn{y21I%AM+( zlP?*J{--!agkM{<=UO?l|8w_Eds%-4{5X4N%bbl0XOC!Jl#dKct*qUbdv|gDZtovL z!iTQ;H-9)6&J|-F8h%T~HBtD`7pM7u?eFt6XD{tlYuV|vkB50$_1>vwvjm>GC+%$I zIct8&P598C4LAFbv^kv)SzzsT#VoDszDTyy40*lZiJP-e`tCjdV?!PPmX!-%=nl<9v}>RkCblWv$x9^sMu*HYB>J2{-o%CUU-HYjrd@&b@F$ zg^r?Wpae_t9s#cI<3d5gbQ12JVo>|@!@01mzteJcFE4qo{JAN$!Ok}R%*)$Lw*M{H z&n~=nwzYJQwCaPUKjjynP2TL$z=9JgST@%8Og$jF)G8|zR1|u;`njxgN@xNA9+Y>{ literal 0 HcmV?d00001 diff --git a/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/label.png b/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/label.png new file mode 100644 index 0000000000000000000000000000000000000000..25fe7d102a6e029a07b58b863752985126beb6a3 GIT binary patch literal 1104 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 literal 0 HcmV?d00001 diff --git a/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/label@3x.png b/Thermo.Active/wwwroot/assets/icons/sotto-cofano/png/label@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a01114acc9b21426be0ba1ec5f708f79aec489eb GIT binary patch literal 3494 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 - + diff --git a/Thermo.Active/wwwroot/src/app.routes.ts b/Thermo.Active/wwwroot/src/app.routes.ts index d0ce8f1b..f5c4042f 100644 --- a/Thermo.Active/wwwroot/src/app.routes.ts +++ b/Thermo.Active/wwwroot/src/app.routes.ts @@ -31,6 +31,7 @@ import { routes as productionRoutes } from "./app_modules_thermo/processo/route" import { routes as SetupRoutes } from "@/app_modules_thermo/setup/route.js"; import { routes as ProgrPreriscaldoRoutes } from "@/app_modules_thermo/programmazione-preriscaldo/route"; import { routes as users } from "./app_modules/users/route"; +//import { routes as ioRoutes } from "@/app_modules_thermo/sotto-cofano/route"; export let routes = [ { path: "", component: productionRoutes[0].component, name: productionRoutes[0].name, meta: { title: "Dashboard" } }, @@ -74,6 +75,7 @@ injectRoutes(routes, ProgrPreriscaldoRoutes); // injectRoutes(routes, scada); // injectRoutes(routes, reports); injectRoutes(routes, users); +// injectRoutes(routes, ioRoutes); diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/assi/assi.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/assi/assi.less new file mode 100644 index 00000000..b0feb104 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/assi/assi.less @@ -0,0 +1,2 @@ +@import "../../../variable.less"; +@import "../../../common.less"; \ No newline at end of file diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/assi/assi.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/assi/assi.ts new file mode 100644 index 00000000..9080b923 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/assi/assi.ts @@ -0,0 +1,9 @@ +import { Component, Vue } from "vue-property-decorator"; +import Header from "../../../header/my-header.vue"; +import MenuSx from "../../../menu-sx/menu-sx.vue"; +import AssiTable from "../../../Assi/components/tables/assi-table/assi-table.vue"; + +@Component({ + components: { Header, MenuSx, AssiTable } +}) +export default class Assi extends Vue {} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/assi/assi.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/assi/assi.vue new file mode 100644 index 00000000..e79b65b8 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/assi/assi.vue @@ -0,0 +1,11 @@ + + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/tables/assi-table/assi-table.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/tables/assi-table/assi-table.less new file mode 100644 index 00000000..ccfe55eb --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/tables/assi-table/assi-table.less @@ -0,0 +1,556 @@ +@import "../../../../variable.less"; +@import "../../../../common.less"; + +span { + display: inline-block; +} + +.log-assi-table { + width: 1384px; + height: 886px; + margin: 20px 20px 0 20px; + tbody { + height: 752px; + } + thead { + width: 1400px; + height: 34px; + opacity: 0.5; + background-color: @fill-under-grey-1-2; + } + th { + display: inline-block; + } + tbody { + vertical-align: unset; + border-color: unset; + tr { + display: table; + } + } +} +.fill-under-grey-3-2 { + background-color: @fill-under-grey-3-2; +} +.fill-under-grey-1-2 { + background-color: @fill-under-grey-1-2; +} + +.axis-assi { + width: 63px; + height: 12px; + margin: 10px 0px 12px 9px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + color: @white; + text-align: left !important; + float: left; + &-inner { + } +} + +.position-assi { + width: 63px; + height: 12px; + margin: 10px 0px 12px 111px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: left !important; + float: left; + color: @white; + &-inner { + } +} + +.velocity-assi { + width: 63px; + height: 12px; + margin: 10px 0 12px 60px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: left !important; + float: left; + color: @white; + &-inner { + } +} + +.torque-assi { + width: 114px; + height: 12px; + margin: 10px 0px 12px 34px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: center; + text-align: left !important; + color: @white; + &-inner { + width: 253px; + height: 16px; + margin: 24px 69px 24px 142px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + float: left; + text-align: initial; + color: @very-light-pink; + } +} + +.status-assi { + width: 114px; + height: 12px; + margin: 10px 0px 12px 7px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: center; + text-align: left !important; + color: @white; + &-inner { + } +} + +.error-code-assi { + width: 114px; + height: 12px; + margin: 0 34px 0 13px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: center; + text-align: left !important; + color: @white; + &-inner { + } +} + +.fase-motion-assi { + width: 114px; + height: 12px; + margin: 10px 430px 12px 0px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: center; + text-align: left !important; + color: @white; + &-inner { + } +} + +.tr-zero-level { + width: 1400px; + .icon-toggle { + width: 16px; + height: 16px; + margin: 20px 0px 23px 7px; + float: left; + .icon-closed { + width: 16px; + height: 11px; + width: 0; + height: 0; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid @white; + cursor: pointer; + } + .icon-open { + width: 16px; + height: 11px; + width: 0; + height: 0; + border-top: 8px solid transparent; + border-bottom: 8px solid transparent; + border-left: 8px solid @white; + cursor: pointer; + } + } + .axis { + width: 21px; + height: 16px; + margin: 24px 0px 24px 10px; + font-family: WorkSans; + font-size: 14px; + font-weight: bold; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + float: left; + color: @very-light-pink; + } + .position { + width: 42px; + height: 16px; + margin: 24px 0px 24px 133px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + float: left; + color: @very-light-pink; + } + .velocity { + width: 25px; + height: 16px; + margin: 24px 0px 24px 95px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + float: left; + color: @very-light-pink; + } + .torque { + width: 58px; + height: 16px; + margin: 24px 0px 24px 55px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center !important; + float: left; + color: @very-light-pink; + } + .status { + width: 58px; + height: 16px; + margin: 24px 0px 24px 42px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: right; + float: left; + color: @very-light-pink; + } + .error-code { + width: 21px; + height: 16px; + margin: 24px 0px 24px 100px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + float: left; + color: @very-light-pink; + } + .fase-motion { + width: 21px; + height: 16px; + margin: 24px 0px 24px 119px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + float: left; + color: @very-light-pink; + } +} + +.tr-n-level { + margin-left: 33px; + width: 1370px; + .axis { + width: 23px; + height: 16px; + margin: 24px 0px 24px 19px; + font-family: WorkSans; + font-size: 14px; + font-weight: bold; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + float: left; + color: @very-light-pink; + } + .position { + width: 45px; + height: 16px; + margin: 24px 0px 24px 110px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + float: left; + color: @very-light-pink; + } + .velocity { + width: 26px; + height: 16px; + margin: 24px 0px 24px 94px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + float: left; + color: @very-light-pink; + } + .torque { + width: 55px; + height: 16px; + margin: 24px 0px 24px 55px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + float: left; + color: @very-light-pink; + } + .status { + width: 43px; + height: 16px; + margin: 24px 0px 24px 59px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: right; + float: left; + color: @very-light-pink; + } + .error-code { + width: 21px; + height: 16px; + margin: 24px 0px 24px 100px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + float: left; + color: @very-light-pink; + } + .fase-motion { + width: 42px; + height: 16px; + margin: 24px 40px 24px 119px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + float: left; + color: @very-light-pink; + } +} + +.button-align { + width: 81px; + height: 48px; + object-fit: contain; + margin: 8px 0 8px 100px; + border-radius: 2px; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); + background-image: linear-gradient(to bottom, #818a8f 0%, #42494e 98%); + &-label { + width: 44px; + height: 21px; + padding: 14px 18px 13px 19px; + object-fit: contain; + font-family: WorkSans; + font-size: 18px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: @very-light-pink; + } +} + +.button-slaves-position { + width: 205px; + height: 48px; + margin-left: 10px; + object-fit: contain; + border-radius: 2px; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); + background-image: linear-gradient(to bottom, #818a8f 0%, #42494e 98%); + &-label { + width: 168px; + height: 21px; + padding: 14px 18px 13px 19px; + object-fit: contain; + font-family: WorkSans; + font-size: 18px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: @very-light-pink; + } +} + +.button-probe { + width: 89px; + height: 48px; + margin: 0 18px 0 10px; + object-fit: contain; + border-radius: 2px; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); + background-image: linear-gradient(to bottom, #818a8f 0%, #42494e 98%); + &-label { + width: 52px; + height: 21px; + padding: 14px 18px 13px 19px; + object-fit: contain; + font-family: WorkSans; + font-size: 18px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: @very-light-pink; + } +} + +.controlli-button-group-container { + display: inline-block; + margin-left: 30px; + margin-right: 187px; + + .controlli-button-group-n { + position: relative; + display: flex; + align-items: center; + + .button-control-minus { + width: 48px; + height: 48px; + margin: 8px; + display: flex; + justify-content: center; + object-fit: contain; + border-radius: 2px; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); + background-image: linear-gradient(to bottom, #818a8f 0%, #42494e 98%); + } + + .button-control-plus { + width: 48px; + height: 48px; + margin: 8px; + display: flex; + justify-content: center; + object-fit: contain; + border-radius: 2px; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); + background-image: linear-gradient(to bottom, #818a8f 0%, #42494e 98%); + } + .controlli-field { + width: 106px; + height: 48px; + display: flex; + justify-content: center; + align-items: center; + border-radius: 2px; + box-shadow: 0 1px 3px 0 @black-50; + background-color: @very-light-pink-two; + } + } +} + +.button-control-value-label { + margin: 8px 8px 8px 8px; +} + +.controlli-button-minus-icon { + margin-top: 4px; +} + +.controlli-button-plus-icon { + margin-top: 4px; +} + +.controlli { + object-fit: contain; +} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/tables/assi-table/assi-table.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/tables/assi-table/assi-table.ts new file mode 100644 index 00000000..72ea9705 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/tables/assi-table/assi-table.ts @@ -0,0 +1,110 @@ +import { Component, Vue } from "vue-property-decorator"; + +@Component({}) +export default class AssiTable extends Vue { + data = []; + groupedData = []; + hon = false; + groupVisible: string[] = []; + + mounted() { + this.hon = false; + this.data = [ + { + axis: "W1", + group: "W", + level: 0, + position: 227.71, + velocity: 374, + torque: "0.85 Nm", + status: "Upper", + errorCode: 150, + faseMotion: 123654 + }, + { + axis: "W2", + group: "W", + level: 1, + position: 227.71, + velocity: 374, + torque: "0.85 Nm", + status: "Upper", + errorCode: 150, + faseMotion: 123654 + }, + { + axis: "W3", + group: "W", + level: 1, + position: 227.71, + velocity: 374, + torque: "0.85 Nm", + status: "Upper", + errorCode: 150, + faseMotion: 123654 + }, + { + axis: "Z1", + group: "Z", + level: 0, + position: 227.71, + velocity: 374, + torque: "0.85 Nm", + status: "Upper", + errorCode: 150, + faseMotion: 123654 + }, + { + axis: "Z2", + group: "Z", + level: 1, + position: 227.71, + velocity: 374, + torque: "0.85 Nm", + status: "Upper", + errorCode: 150, + faseMotion: 123654 + } + ]; + this.groupReduce(this.data); + } + + groupReduce(data) { + this.groupedData = data.reduce((acc, item) => { + if (Object.keys(acc).length > 0 && acc[item.group]) { + acc[item.group].push({ + axis: item.axis, + level: item.level, + position: item.position, + velocity: item.velocity, + torque: item.torque, + status: item.status, + errorCode: item.errorCode, + faseMotion: item.faseMotion, + group: item.group + }); + } else { + acc[item.group] = [ + { + axis: item.axis, + level: item.level, + position: item.position, + velocity: item.velocity, + torque: item.torque, + status: item.status, + errorCode: item.errorCode, + faseMotion: item.faseMotion, + group: item.group + } + ]; + } + return acc; + }, {}); + } + + openCollapse(group: string) { + const idx = this.groupVisible.indexOf(group); + if (idx >= 0) this.groupVisible.splice(idx, 1); + else this.groupVisible.push(group); + } +} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/tables/assi-table/assi-table.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/tables/assi-table/assi-table.vue new file mode 100644 index 00000000..89a14b44 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Assi/components/tables/assi-table/assi-table.vue @@ -0,0 +1,178 @@ + + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/io/io.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/io/io.less new file mode 100644 index 00000000..388f42ff --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/io/io.less @@ -0,0 +1,88 @@ +@import "../../../variable.less"; +@import "../../../common.less"; + +span { + display: inline-block; +} + +.column-page-inner-input { + width: 672px; + margin: 0 0 0 20px; + float: left; + &.controllibtlink_under_input { + width: 57px; + height: 45px; + margin: 0 10px 10px; + padding: 11px 11px 13px; + width: 36px; + height: 21px; + font-family: WorkSans; + font-size: 18px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: @white; + text-decoration: underline; + } +} + +.column-page-inner-output { + width: 672px; + height: 886px; + margin: 0 20px 0 40px; + float: left; + &.controllibtlink_under_output { + width: 65px; + height: 45px; + margin: 0 2px 10px; + padding: 11px 11px 13px; + width: 44px; + height: 21px; + font-family: WorkSans; + font-size: 18px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: @white; + text-decoration: underline; + } +} + +.input { + display: flex; + justify-content: center; + font-family: Lato; + font-size: 26px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + line-height: 1.96; + letter-spacing: normal; + text-align: center; + color: @white; +} + +.output { + display: flex; + justify-content: center; + font-family: Lato; + font-size: 26px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + line-height: 1.96; + letter-spacing: normal; + text-align: center; + color: @white; +} +.row-list-input { + height: 100px; +} + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/io/io.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/io/io.ts new file mode 100644 index 00000000..90243224 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/io/io.ts @@ -0,0 +1,95 @@ +import { Component, Vue } from "vue-property-decorator"; +import Header from "../../../header/my-header.vue"; +import MenuSx from "../../../menu-sx/menu-sx.vue"; +import InputTable from "../tables/input/input.vue"; +import OutputTable from "../tables/output/output.vue"; + +@Component({ + components: { + Header, + MenuSx, + InputTable, + OutputTable + } +}) +export default class IO extends Vue { + testArray = []; + items = []; + arrayReducedFull = []; + key: string; + arrayReduced = []; + + created() { + this.key = ""; + this.items = [{ nome: "pinned" }, { nome: "DI 0" }, { nome: "AI 1" }]; + this.testArray = [ + { + type: "pinned", + position: 0, + page: 122, + wire: "2001", + profinet: "A32.5", + description: "Description pinned Description pinned Description pinned", + value: "off" + }, + { + type: "DI 0", + position: 0, + page: 123, + wire: "2002", + profinet: "A33.5", + description: "Description DI 0 Description DI 0 Description DI 0", + value: "on" + }, + { + type: "AI 1", + position: 0, + page: 124, + wire: "2003", + profinet: "A34.5", + description: "Description AI 0 Description AI 0 Description AI 0", + value: "on" + }, + { + type: "DI 0", + position: 0, + page: 125, + wire: "2004", + profinet: "A35.5", + description: "Description DI 0 Description DI 0 Description DI 0", + value: "on" + } + ]; + } + + mounted() { + this.testReduce(this.testArray); + } + + testReduce(testArray) { + this.arrayReduced = testArray.reduce((acc, item) => { + if (Object.keys(acc).length > 0 && acc[item.type]) { + acc[item.type].push({ + position: item.position, + page: item.page, + wire: item.wire, + profinet: item.profinet, + description: item.description, + value: item.value + }); + } else { + acc[item.type] = [ + { + position: item.position, + page: item.page, + wire: item.wire, + profinet: item.profinet, + description: item.description, + value: item.value + } + ]; + } + return acc; + }, {}); + } +} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/io/io.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/io/io.vue new file mode 100644 index 00000000..028a82ba --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/io/io.vue @@ -0,0 +1,170 @@ + + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/tables/input/input.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/tables/input/input.less new file mode 100644 index 00000000..463d8231 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/tables/input/input.less @@ -0,0 +1,310 @@ +@import "../../../../variable.less"; +@import "../../../../common.less"; + +.input-table { + table-layout: fixed; + width: 100%; + border-collapse: collapse; + border-spacing: 0px; + margin: 0; + tbody { + overflow-y: scroll; + height: 584px; + tr:nth-child(odd) { + background-color: @fill-under-grey-3-2; + } + tr:nth-child(even) { + background-color: @fill-under-grey-1-2; + } + } +} +.tr-container-input { + width: 646px; + display: table; + &-nome { + background-color: @fill-under-grey-2-2 !important; + } +} +.input-label { + display: flex; + justify-content: center; +} + +.bg-header { + display: table; + width: 674px; + height: 34px; + padding: 10px 0 0; + opacity: 0.5; + background-color: @fill-under-grey-1-2; + border-bottom: 2px solid @light-grey-blue; +} + +.controlli-bt-button-secondary-icon-input { + width: 48px; + height: 48px; + margin: 8px 8px 8px 8px; + // padding: 6px; + object-fit: contain; + border-radius: 2px; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); + background-image: linear-gradient(to bottom, #818a8f 0%, #42494e 98%); + float: left; + position: relative; +} + +.button-bg { + width: 48px; + height: 48px; + padding: 6px; + object-fit: contain; + border-radius: 2px; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); + background-image: linear-gradient(to bottom, #818a8f 0%, #42494e 98%); + position: relative; +} + +.ico-bt-selez-auto-pin-input { + width: 36px; + height: 36px; + margin: 6px 6px 6px 6px; + object-fit: contain; +} + +.page-input { + width: 30px; + height: 12px; + margin: 10px 14px 0 70px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: center; + color: @white; +} + +.page-inner-input { + width: 23px; + height: 16px; + margin: 24px 0px 24px 5px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + float: left; + color: @very-light-pink; +} + +.wire-input { + width: 31px; + height: 12px; + margin: 10px 14px 0 0; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: center; + color: @white; +} + +.wire-inner-input { + width: 32px; + height: 16px; + margin: 24px 16px 24px 16px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + // text-align: center; + float: left; + color: @very-light-pink; +} + +.profinet-input { + width: 50px; + height: 12px; + margin: 10px 31px 0 0px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: center; + color: @white; +} + +.profinet-inner-input { + width: 38px; + height: 16px; + margin: 24px 16px 24px 0px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + float: left; + color: @very-light-pink; +} + +.description-input { + width: 72px; + height: 12px; + margin: 10px 270px 0 0px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: center; + color: @white; +} + +.description-inner-input { + width: 200px; + height: 16px; + margin: 24px 16px 24px 15px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + float: left; + color: @very-light-pink; + text-align: initial; +} + +.value-input { + width: 34px; + height: 12px; + margin-right: 22px; + margin: 10px 36px 12px 12px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: center; + color: @white; +} + +.value-button-input-container-off { + width: 48px; + height: 25px; + margin: 20px 10px 19px 10px; + padding: 3px 0; + border-radius: 2px; + float: right; + display: flex; + justify-content: center; + align-items: center; + background-color: @greyish-brown; + &-label { + width: 48px; + height: 19px; + padding: 2px 0 0 0px; + text-shadow: 0 0 4px var(--black-50); + font-family: WorkSans; + font-size: 16px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: #e8e8e8; + } +} + +.value-button-input-container-on { + width: 48px; + height: 25px; + margin: 20px 10px 19px 10px; + padding: 3px 0; + border-radius: 2px; + float: right; + background-color: @clear-blue; + &-label { + width: 48px; + height: 19px; + padding: 2px 0 0 0px; + text-shadow: 0 0 4px var(--black-50); + font-family: WorkSans; + font-size: 16px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: #e8e8e8; + } +} + +.group-title { + width: 90px; + height: 14px; + margin: 29px 0 10px 0; + font-family: Lato; + font-size: 16px; + font-weight: bold; + font-stretch: normal; + font-style: normal; + line-height: 0.88; + letter-spacing: 5.71px; + text-align: center; + color: @white; +} + +.bg-zebra-light { + width: 646px; + height: 64px; + margin: 10px 8px 0 0; + padding: 0 10px 0 0; + background-color: @fill-under-grey-3-2; +} + +.bg-zebra-dark { + width: 646px; + height: 64px; + margin: 10px 8px 0 0; + padding: 0 10px 0 0; + background-color: @fill-under-grey-1-2; +} + +.off { + width: 48px; + height: 19px; + padding: 2px 0 0 0px; + text-shadow: 0 0 4px var(--black-50); + font-family: WorkSans; + font-size: 16px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: @very-light-pink; +} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/tables/input/input.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/tables/input/input.ts new file mode 100644 index 00000000..33adc06e --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/tables/input/input.ts @@ -0,0 +1,122 @@ +import { Component, Vue } from "vue-property-decorator"; + +@Component({}) +export default class InputTable extends Vue { + testArray = []; + items = []; + arrayReducedFull = []; + key: string; + arrayReduced = []; + mounted() { + this.key = ""; + this.items = [ + { nome: "pinned" }, + { nome: "DI 0" }, + { nome: "AI 1" }, + { nome: "DI 1" }, + { nome: "DI 5" } + ]; + this.testArray = [ + { + type: "pinned", + position: 0, + page: 122, + wire: "2001", + profinet: "A32.5", + description: "Description pinned Description pinned Description pinned", + value: 0 + }, + { + type: "DI_0", + position: 0, + page: 123, + wire: "2002", + profinet: "A33.5", + description: "Description DI 0 Description DI 0 Description DI 0", + value: 1 + }, + { + type: "AI 1", + position: 0, + page: 124, + wire: "2003", + profinet: "A34.5", + description: "Description AI 0 Description AI 0 Description AI 0", + value: 1 + }, + { + type: "AI 1", + position: 0, + page: 124, + wire: "2003", + profinet: "A34.5", + description: "Description AI 0 Description AI 0 Description AI 0", + value: 1 + }, + { + type: "DI 0", + position: 0, + page: 125, + wire: "2004", + profinet: "A35.5", + description: "Description DI 0 Description DI 0 Description DI 0", + value: 0 + }, + { + type: "DI 1", + position: 0, + page: 123, + wire: "2002", + profinet: "A33.5", + description: "Description DI 0 Description DI 0 Description DI 0", + value: 1 + }, + { + type: "DI 5", + position: 0, + page: 123, + wire: "2002", + profinet: "A33.5", + description: "Description DI 0 Description DI 0 Description DI 0", + value: 1 + }, + { + type: "AI 0", + position: 0, + page: 123, + wire: "2002", + profinet: "A33.5", + description: "Description DI 0 Description DI 0 Description DI 0", + value: 0 + } + ]; + this.testReduce(this.testArray); + } + + testReduce(testArray) { + this.arrayReduced = testArray.reduce((acc, item) => { + if (Object.keys(acc).length > 0 && acc[item.type]) { + acc[item.type].push({ + position: item.position, + page: item.page, + wire: item.wire, + profinet: item.profinet, + description: item.description, + value: item.value + }); + } else { + acc[item.type] = [ + { + position: item.position, + page: item.page, + wire: item.wire, + profinet: item.profinet, + description: item.description, + value: item.value + } + ]; + } + return acc; + }, {}); + } +} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/tables/input/input.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/tables/input/input.vue new file mode 100644 index 00000000..a8ef2ef0 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/InputOutput/components/tables/input/input.vue @@ -0,0 +1,92 @@ + + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.less new file mode 100644 index 00000000..2e3cd74d --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.less @@ -0,0 +1,15 @@ +@import "../../../variable.less"; +@import "../../../common.less"; + +span { + display: inline-block; +} + +.log-ciclo-automatico-table { + tbody tr:nth-child(odd) { + background-color: @fill-under-grey-3-2; + } + tbody tr:nth-child(even) { + background-color: @fill-under-grey-1-2; + } +} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.ts new file mode 100644 index 00000000..f618fc7b --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.ts @@ -0,0 +1,9 @@ +import { Component, Vue } from "vue-property-decorator"; +import LogCicloAutomaticoTable from "../tables/log-ciclo-automatico-table/log-ciclo-automatico-table.vue"; +import Header from "../../../header/my-header.vue"; +import MenuSx from "../../../menu-sx/menu-sx.vue"; + +@Component({ + components: { Header, MenuSx, LogCicloAutomaticoTable } +}) +export default class LogCicloAutomatico extends Vue {} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.vue new file mode 100644 index 00000000..0c7c55b4 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.vue @@ -0,0 +1,11 @@ + + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/tables/log-ciclo-automatico-table/log-ciclo-automatico-table.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/tables/log-ciclo-automatico-table/log-ciclo-automatico-table.less new file mode 100644 index 00000000..cd93c350 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/tables/log-ciclo-automatico-table/log-ciclo-automatico-table.less @@ -0,0 +1,187 @@ +@import "../../../../variable.less"; +@import "../../../../common.less"; + +span { + display: inline-block; +} + +.log-ciclo-automatico-table { + width: 1384px; + height: 886px; + margin: 20px 20px 0 20px; + thead { + height: 34px; + opacity: 0.5; + background-color: @fill-under-grey-1-2; + } + th { + display: inline-block; + } + tbody { + overflow-y: scroll; + height: 752px; + tr { + display: inline-block; + width: 1358px; + height: 64px; + float: left; + &-inner { + width: 1358px; + height: 64px; + margin: 34px 26px 0 0; + padding: 0 2px 0 10px; + } + } + } +} + +.date-ciclo { + width: 63px; + height: 12px; + margin: 10px 149px 12px 9px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + color: @white; + text-align: left !important; + float: left; + &-inner { + width: 177px; + height: 16px; + margin: 24px 0px 0px 10px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + float: left; + text-align: left; + color: @very-light-pink; + } +} + +.class-ciclo { + width: 63px; + height: 12px; + margin: 10px 36px 12px 0px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: center; + float: left; + color: @white; + &-inner { + width: 35px; + height: 16px; + margin: 24px 0px 0px 47px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + float: left; + color: @very-light-pink; + } +} + +.recipe-ciclo { + width: 63px; + height: 12px; + margin: 10px 108px 12px 0px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + float: left; + color: @white; + &-inner { + width: 121px; + height: 16px; + margin: 24px 0px 0px 51px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + float: left; + color: @very-light-pink; + } +} + +.message-ciclo { + width: 114px; + height: 12px; + margin: 10px 0px 12px 0px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + float: left; + text-align: left !important; + color: @white; + &-inner { + width: 751px; + height: 64px; + margin: 18px 0px 0px 50px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + float: left; + text-align: initial; + color: @very-light-pink; + } +} + +.button-details { + width: 99px; + float: right; + display: flex; + justify-content: center; + padding: 14px 0px 13px 0px; + margin: 8px 8px 8px 8px; + object-fit: contain; + border-radius: 2px; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); + background-image: linear-gradient(to bottom, #818a8f 0%, #42494e 98%); + cursor: pointer; + &-label { + width: 62px; + height: 21px; + object-fit: contain; + font-family: WorkSans; + font-size: 18px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: @very-light-pink; + } +} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/tables/log-ciclo-automatico-table/log-ciclo-automatico-table.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/tables/log-ciclo-automatico-table/log-ciclo-automatico-table.ts new file mode 100644 index 00000000..516490e7 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/tables/log-ciclo-automatico-table/log-ciclo-automatico-table.ts @@ -0,0 +1,120 @@ +import { Component, Vue } from "vue-property-decorator"; + +@Component({}) +export default class LogCicloAutomaticoTable extends Vue { + rowData = []; + + mounted() { + this.rowData = [ + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Donec quis orci eget orci vehicula condimentum. Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est. Phasellus sit amet erat." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + }, + { + date: "2020-09-16 00:23:20 UTC", + class: "Error", + recipe: "Recipe name [30]", + message: + "Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt." + } + ]; + } + + goToDetails() { + this.$router.push({ path: "/io" }); + } +} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/tables/log-ciclo-automatico-table/log-ciclo-automatico-table.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/tables/log-ciclo-automatico-table/log-ciclo-automatico-table.vue new file mode 100644 index 00000000..105321a5 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogCicloAutomatico/components/tables/log-ciclo-automatico-table/log-ciclo-automatico-table.vue @@ -0,0 +1,45 @@ + + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/log-misurazioni/log-misurazioni.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/log-misurazioni/log-misurazioni.less new file mode 100644 index 00000000..bf2f4977 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/log-misurazioni/log-misurazioni.less @@ -0,0 +1,4 @@ +@import "../../../variable.less"; +@import "../../../common.less"; + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/log-misurazioni/log-misurazioni.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/log-misurazioni/log-misurazioni.ts new file mode 100644 index 00000000..7accb43b --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/log-misurazioni/log-misurazioni.ts @@ -0,0 +1,9 @@ +import { Component, Vue } from "vue-property-decorator"; +import Header from "../../../header/my-header.vue"; +import MenuSx from "../../../menu-sx/menu-sx.vue"; +import LogMisurazioniTable from "../../../LogMisurazioni/components/tables/log-misurazioni-table/log-misurazioni-table.vue"; + +@Component({ + components: { Header, MenuSx, LogMisurazioniTable } +}) +export default class LogMisurazioni extends Vue {} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/log-misurazioni/log-misurazioni.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/log-misurazioni/log-misurazioni.vue new file mode 100644 index 00000000..accfddda --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/log-misurazioni/log-misurazioni.vue @@ -0,0 +1,11 @@ + + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/tables/log-misurazioni-table/log-misurazioni-table.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/tables/log-misurazioni-table/log-misurazioni-table.less new file mode 100644 index 00000000..653f723d --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/tables/log-misurazioni-table/log-misurazioni-table.less @@ -0,0 +1,164 @@ +@import "../../../../variable.less"; +@import "../../../../common.less"; + +span { + display: inline-block; +} + +.log-misurazioni-table { + width: 1384px; + height: 886px; + margin: 20px 20px 0 20px; + thead { + height: 34px; + opacity: 0.5; + background-color: @fill-under-grey-1-2; + } + th { + display: inline-block; + } + tbody tr:nth-child(odd) { + background-color: @fill-under-grey-3-2; + } + tbody tr:nth-child(even) { + background-color: @fill-under-grey-1-2; + } + tbody { + overflow-y: scroll; + height: 752px; + tr { + display: inline-block; + width: 1358px; + height: 64px; + float: left; + &-inner { + width: 1358px; + height: 64px; + margin: 34px 26px 0 0; + padding: 0 2px 0 10px; + } + } + } +} + +.date-misurazioni { + width: 63px; + height: 12px; + margin: 10px 0px 12px 9px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + color: @white; + text-align: left !important; + float: left; + &-inner { + width: 164px; + height: 16px; + margin: 24px 0px 24px 10px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: left !important; + float: left; + color: @very-light-pink; + } +} + +.recipe-misurazioni { + width: 63px; + height: 12px; + margin: 10px 0px 12px 267px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: left; + float: left; + color: @white; + &-inner { + width: 121px; + height: 16px; + margin: 24px 0px 24px 139px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center !important; + float: left; + color: @very-light-pink; + } +} + +.type-misurazioni { + width: 63px; + height: 12px; + margin: 10px 0 12px 448px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: left !important; + float: left; + color: @white; + &-inner { + width: 48px; + height: 16px; + margin: 24px 0px 24px 410px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + float: left; + color: @very-light-pink; + } +} + +.value-misurazioni { + width: 63px; + height: 12px; + margin: 10px 268px 12px 124px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: left !important; + color: @white; + &-inner { + width: 253px; + height: 16px; + margin: 24px 69px 24px 142px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + float: left; + text-align: initial; + color: @very-light-pink; + } +} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/tables/log-misurazioni-table/log-misurazioni-table.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/tables/log-misurazioni-table/log-misurazioni-table.ts new file mode 100644 index 00000000..600c442a --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/tables/log-misurazioni-table/log-misurazioni-table.ts @@ -0,0 +1,83 @@ +import { Component, Vue } from "vue-property-decorator"; + +@Component({}) +export default class LogMisurazioniTable extends Vue { + rowData = []; + + mounted() { + this.rowData = [ + { + date: "2020-09-16 00:23:20 UTC", + recipe: "Recipe name [30]", + type: "Lenght", + value: "568.08 mm [589.92 mm - 21.84 mm]" + }, + { + date: "2020-09-16 00:23:20 UTC", + recipe: "Recipe name [30]", + type: "Lenght", + value: "568.08 mm [589.92 mm - 21.84 mm]" + }, + { + date: "2020-09-16 00:23:20 UTC", + recipe: "Recipe name [30]", + type: "Lenght", + value: "568.08 mm [589.92 mm - 21.84 mm]" + }, + { + date: "2020-09-16 00:23:20 UTC", + recipe: "Recipe name [30]", + type: "Lenght", + value: "568.08 mm [589.92 mm - 21.84 mm]" + }, + { + date: "2020-09-16 00:23:20 UTC", + recipe: "Recipe name [30]", + type: "Lenght", + value: "568.08 mm [589.92 mm - 21.84 mm]" + }, + { + date: "2020-09-16 00:23:20 UTC", + recipe: "Recipe name [30]", + type: "Lenght", + value: "568.08 mm [589.92 mm - 21.84 mm]" + }, + { + date: "2020-09-16 00:23:20 UTC", + recipe: "Recipe name [30]", + type: "Lenght", + value: "568.08 mm [589.92 mm - 21.84 mm]" + }, + { + date: "2020-09-16 00:23:20 UTC", + recipe: "Recipe name [30]", + type: "Lenght", + value: "568.08 mm [589.92 mm - 21.84 mm]" + }, + { + date: "2020-09-16 00:23:20 UTC", + recipe: "Recipe name [30]", + type: "Lenght", + value: "568.08 mm [589.92 mm - 21.84 mm]" + }, + { + date: "2020-09-16 00:23:20 UTC", + recipe: "Recipe name [30]", + type: "Lenght", + value: "568.08 mm [589.92 mm - 21.84 mm]" + }, + { + date: "2020-09-16 00:23:20 UTC", + recipe: "Recipe name [30]", + type: "Lenght", + value: "568.08 mm [589.92 mm - 21.84 mm]" + }, + { + date: "2020-09-16 00:23:20 UTC", + recipe: "Recipe name [30]", + type: "Lenght", + value: "568.08 mm [589.92 mm - 21.84 mm]" + } + ]; + } +} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/tables/log-misurazioni-table/log-misurazioni-table.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/tables/log-misurazioni-table/log-misurazioni-table.vue new file mode 100644 index 00000000..39ac4369 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/LogMisurazioni/components/tables/log-misurazioni-table/log-misurazioni-table.vue @@ -0,0 +1,42 @@ + + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/riscaldi/riscaldi.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/riscaldi/riscaldi.less new file mode 100644 index 00000000..8862d9b0 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/riscaldi/riscaldi.less @@ -0,0 +1,3 @@ +@import "../../../common.less"; +@import "../../../variable.less"; + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/riscaldi/riscaldi.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/riscaldi/riscaldi.ts new file mode 100644 index 00000000..3f718a72 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/riscaldi/riscaldi.ts @@ -0,0 +1,9 @@ +import { Component, Vue } from "vue-property-decorator"; +import Header from "../../../header/my-header.vue"; +import MenuSx from "../../../menu-sx/menu-sx.vue"; +import RiscaldiTable from "../../../Riscaldi/components/tables/riscaldi-table/riscaldi-table.vue"; + +@Component({ + components: { Header, MenuSx, RiscaldiTable } +}) +export default class Riscaldi extends Vue {} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/riscaldi/riscaldi.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/riscaldi/riscaldi.vue new file mode 100644 index 00000000..466b86e7 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/riscaldi/riscaldi.vue @@ -0,0 +1,11 @@ + + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/tables/riscaldi-table/riscaldi-table.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/tables/riscaldi-table/riscaldi-table.less new file mode 100644 index 00000000..8cd21b1d --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/tables/riscaldi-table/riscaldi-table.less @@ -0,0 +1,276 @@ +@import "../../../../common.less"; +@import "../../../../variable.less"; + +span { + display: inline-block; +} + +.riscaldi-table { + width: 1384px; + height: 886px; + margin: 20px 20px 0 20px; + thead { + height: 34px; + opacity: 0.5; + background-color: @fill-under-grey-1-2; + } + th { + display: inline-block; + } + tbody { + overflow-y: scroll; + height: 752px; + tr:nth-child(odd) { + background-color: @fill-under-grey-3-2; + } + tr { + display: inline-block; + width: 1358px; + height: 64px; + float: left; + &-inner { + width: 1358px; + height: 64px; + margin: 34px 26px 0 0; + padding: 0 2px 0 10px; + } + } + } +} + +.cell-id { + height: 16px; + margin: 10px 0px 12px 9px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: left; + float: left; + color: @very-light-pink; + &-inner { + width: 6px; + height: 16px; + margin: 24px 0px 24px 10px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + float: left; + color: @very-light-pink; + + } +} + +.current { + width: 63px; + height: 12px; + margin: 10px 0px 12px 173px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: center; + float: left; + color: @white; + &-inner { + width: 44px; + height: 16px; + margin: 24px 0px 24px 216px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + float: left; + color: @very-light-pink; + + } +} + +.set { + width: 63px; + height: 12px; + margin: 10px 0px 12px 226px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: center; + float: left; + color: @white; + &-inner { + width: 21px; + height: 16px; + margin: 24px 0px 24px 260px; + font-family: WorkSans; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: @very-light-pink; + } +} + +.status { + width: 63px; + height: 12px; + margin: 10px 0 12px 325px; + font-family: Lato; + font-size: 14px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: 0.86; + letter-spacing: normal; + text-align: center; + float: left; + color: @white; +} + +.button-details { + width: 93px; + float: right; + padding: 14px 0px 13px 0px; + margin: 8px 8px 8px 8px; + object-fit: contain; + border-radius: 2px; + box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.4); + background-image: linear-gradient(to bottom, #818a8f 0%, #42494e 98%); + cursor: pointer; + &-label { + width: 62px; + height: 21px; + object-fit: contain; + font-family: WorkSans; + font-size: 18px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: @very-light-pink; + } +} + +.ok-button { + width: 55px; + height: 25px; + margin: 20px 263px 19px 336px; + padding: 3px 16px; + border-radius: 2px; + background-color: @booger; + &-label { + width: 23px; + height: 19px; + text-shadow: 0 0 4px @black-50; + margin: 3px 16px 3px 16px; + font-family: WorkSans; + font-size: 16px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: @very-light-pink; + } +} + +.broken-button { + width: 87px; + height: 25px; + margin: 20px 247px 19px 320px; + padding: 3px 16px; + border-radius: 2px; + background-color: @scarlet; + &-label { + width: 55px; + height: 19px; + margin: 3px 16px 3px 16px; + text-shadow: 0 0 4px @black-50; + font-family: WorkSans; + font-size: 16px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: @very-light-pink; + + } +} + +.error-button { + width: 96px; + height: 25px; + margin: 20px 243px 19px 315px; + padding: 3px 16px; + border-radius: 2px; + background-color: @scarlet; + &-label { + width: 64px; + height: 19px; + margin: 3px 16px 3px 16px; + text-shadow: 0 0 4px @black-50; + font-family: WorkSans; + font-size: 16px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: @very-light-pink; + + } +} + +.warning-button { + width: 96px; + height: 25px; + margin: 20px 243px 19px 315px; + padding: 3px 16px; + border-radius: 2px; + display: flex; + justify-content: center; + background-color: @macaroni-and-cheese; + &-label { + width: 79px; + height: 19px; + margin: 3px 0px 3px 0px; + text-shadow: 0 0 4px @black-50; + font-family: WorkSans; + font-size: 16px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + text-align: center; + color: @very-light-pink; + } + +} + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/tables/riscaldi-table/riscaldi-table.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/tables/riscaldi-table/riscaldi-table.ts new file mode 100644 index 00000000..7166631a --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/tables/riscaldi-table/riscaldi-table.ts @@ -0,0 +1,42 @@ +import { Component, Vue } from "vue-property-decorator"; + +@Component({}) +export default class RiscaldiTable extends Vue { + rowData = []; + typeStatusButton: string; + + mounted() { + this.rowData = [ + { + cellId: "1", + current: "0.06 A", + set: "8%", + status: "broken" + }, + { + cellId: "1", + current: "0.06 A", + set: "8%", + status: "ok" + }, + { + cellId: "1", + current: "0.06 A", + set: "8%", + status: "error 23" + }, + { + cellId: "1", + current: "0.06 A", + set: "8%", + status: "error 12" + }, + { + cellId: "1", + current: "0.06 A", + set: "8%", + status: "warning 3" + } + ]; + } +} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/tables/riscaldi-table/riscaldi-table.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/tables/riscaldi-table/riscaldi-table.vue new file mode 100644 index 00000000..2496273d --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/Riscaldi/components/tables/riscaldi-table/riscaldi-table.vue @@ -0,0 +1,64 @@ + + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/common.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/common.less new file mode 100644 index 00000000..c58cd85d --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/common.less @@ -0,0 +1,38 @@ + +// MODULES MAIN STYLE +.main-container { + width: 1920px; + height: 1080px; + } + .column-menu { + margin-top: 193px; + float: left; + border-top: @white 2px solid; + } + + .column-page { + width: 1424px; + height: 885px; + margin-top: 193px; + border-top: @white 2px solid; + background-color: @fill-under-grey-2-2; + float: left; + } + + .pointer { + cursor: pointer; + } + + // TABLES MAIN STYLE + + table tbody, + table thead { + display: block; + } + + th, + td { + padding: 0; + border-spacing: 0; + display: contents; + } \ No newline at end of file diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/header/my-header.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/header/my-header.less new file mode 100644 index 00000000..3006071a --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/header/my-header.less @@ -0,0 +1,6 @@ +.header-container { + width: 1920px; + height: 193px; + // background-color: #657178; + background-color: transparent; +} \ No newline at end of file diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/header/my-header.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/header/my-header.ts new file mode 100644 index 00000000..6ce22725 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/header/my-header.ts @@ -0,0 +1,4 @@ +import { Component, Vue } from "vue-property-decorator"; + +@Component({}) +export default class MyHeader extends Vue {} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/header/my-header.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/header/my-header.vue new file mode 100644 index 00000000..f7c27937 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/header/my-header.vue @@ -0,0 +1,7 @@ + + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/menu-sx/menu-sx.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/menu-sx/menu-sx.less new file mode 100644 index 00000000..2b1f7ac2 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/menu-sx/menu-sx.less @@ -0,0 +1,40 @@ +@import '../variable.less'; + +.white { + color: @white; +} + +.rettangle { + width: 495px; + height: 72px; + padding: 0 1px 25px 0; + background-color: @fill-under-grey-4-2; + position: relative; + margin-top: 1px; + &.label { + width: 203.7px; + height: 24px; + margin: 14px 255.3px 0 37px; + font-family: WorkSans; + font-size: 20px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + line-height: normal; + letter-spacing: normal; + color: @light-grey-blue; + position: absolute; + cursor: pointer; + p { + text-align: left; + } + } +} + +.BG-fascia-sx { + width: 496px; + height: 886px; + background-color: @fill-under-grey-1-2; +} + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/menu-sx/menu-sx.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/menu-sx/menu-sx.ts new file mode 100644 index 00000000..e5c3efe8 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/menu-sx/menu-sx.ts @@ -0,0 +1,19 @@ +import { Component, Prop, Vue } from "vue-property-decorator"; + +@Component({}) +export default class MenuSx extends Vue { + + @Prop() + value: string; + + // get currentRoute() { + // return this.value; + // } + // set currentRoute( v:string ) { + // this.$emit("input", v); + // } + + go(v: string) { + this.$emit("input", v); + } +} diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/menu-sx/menu-sx.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/menu-sx/menu-sx.vue new file mode 100644 index 00000000..37451b1e --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/menu-sx/menu-sx.vue @@ -0,0 +1,41 @@ + + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/route.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/route.ts new file mode 100644 index 00000000..deeeda9d --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/route.ts @@ -0,0 +1,33 @@ +import Io from "./InputOutput/components/io/io.vue"; +import LogCicloAutomatico from "./LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.vue"; +import LogMisurazioni from "./LogMisurazioni/components/log-misurazioni/log-misurazioni.vue"; +import Assi from "./Assi/components/assi/assi.vue"; +import Riscaldi from "./Riscaldi/components/riscaldi/riscaldi.vue"; + +export const routes = [ + { + name: 'io', + path: "/io", + component: Io + }, + { + name: 'log-ciclo-automatico', + path: "/log-ciclo-automatico", + component: LogCicloAutomatico + }, + { + name: 'log-misurazioni', + path: "/log-misurazioni", + component: LogMisurazioni + }, + { + name: 'assi', + path: "/assi", + component: Assi + }, + { + name: 'riscaldi', + path: "/riscaldi", + component: Riscaldi + } +]; \ No newline at end of file diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/sotto-cofano.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/sotto-cofano.less new file mode 100644 index 00000000..e69de29b diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/sotto-cofano.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/sotto-cofano.ts new file mode 100644 index 00000000..5eeea644 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/sotto-cofano.ts @@ -0,0 +1,17 @@ +import Component from "vue-class-component"; +import Vue from "vue"; +import menuSx from "./menu-sx/menu-sx.vue"; +import io from "./InputOutput/components/io/io.vue"; +import logCicloAutomatico from "././LogCicloAutomatico/components/log-ciclo-automatico/log-ciclo-automatico.vue"; +import logMisurazioni from "././LogMisurazioni/components/log-misurazioni/log-misurazioni.vue"; +import assi from "././Assi/components/assi/assi.vue"; +import riscaldi from "././Riscaldi/components/riscaldi/riscaldi.vue"; + +@Component({ + components: { menuSx, io, logCicloAutomatico, logMisurazioni, assi, riscaldi } +}) +export default class Sottocofano extends Vue { + + panel: string = 'io'; + +} \ No newline at end of file diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/sotto-cofano.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/sotto-cofano.vue new file mode 100644 index 00000000..1eb4babc --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/sotto-cofano.vue @@ -0,0 +1,13 @@ + + diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/variable.less b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/variable.less new file mode 100644 index 00000000..1f125763 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/sotto-cofano/variable.less @@ -0,0 +1,31 @@ +// Colors +@white: #ffffff; + +@fill-under-grey-1-2: #4e585e; + +@fill-under-grey-2-2: #657178; + +@fill-under-grey-4-2: #808e96; + +@light-grey-blue: #bbbcbc; + +@fill-under-grey-3-2: #747f85; + +@very-light-pink: #e8e8e8; + +@very-light-pink-two: #dddddd; + +@greyish-brown: #545454; + +@clear-blue: #1791ff; + +@black-50: rgba(0, 0, 0, 0.5); + +@very-light-pink-two: #dddddd; + +@booger: #90c03d; + +@scarlet: #d0021b; + +@macaroni-and-cheese: #e7ba2d; + diff --git a/Thermo.Active/wwwroot/src/modules/app-footer.ts b/Thermo.Active/wwwroot/src/modules/app-footer.ts index c83cb114..eb7b1b8f 100644 --- a/Thermo.Active/wwwroot/src/modules/app-footer.ts +++ b/Thermo.Active/wwwroot/src/modules/app-footer.ts @@ -29,12 +29,12 @@ export default class AppFooter extends Vue { } toggleMainView() { - // appModelActions.MainViewToggle(this.$store); + appModelActions.MainViewToggle(this.$store); } OpenMainView(direction: any) { - // if (direction && direction == "up" && !this.$store.isMainViewLiftedUp) - // appModelActions.MainViewLiftUp(this.$store); + if (direction && direction == "up" && !this.$store.isMainViewLiftedUp) + appModelActions.MainViewLiftUp(this.$store); } openProgram(path: string) { diff --git a/Thermo.Active/wwwroot/src/modules/app-footer.vue b/Thermo.Active/wwwroot/src/modules/app-footer.vue index 2e977d6c..2f35238f 100644 --- a/Thermo.Active/wwwroot/src/modules/app-footer.vue +++ b/Thermo.Active/wwwroot/src/modules/app-footer.vue @@ -95,6 +95,16 @@

+ +