diff --git a/Thermo.Active/wwwroot/assets/icons/png/ritardo.png b/Thermo.Active/wwwroot/assets/icons/png/ritardo.png new file mode 100644 index 00000000..c52af4e1 Binary files /dev/null and b/Thermo.Active/wwwroot/assets/icons/png/ritardo.png differ diff --git a/Thermo.Active/wwwroot/assets/icons/png/ritardo@2x.png b/Thermo.Active/wwwroot/assets/icons/png/ritardo@2x.png new file mode 100644 index 00000000..f2b9efdc Binary files /dev/null and b/Thermo.Active/wwwroot/assets/icons/png/ritardo@2x.png differ diff --git a/Thermo.Active/wwwroot/assets/icons/png/ritardo@3x.png b/Thermo.Active/wwwroot/assets/icons/png/ritardo@3x.png new file mode 100644 index 00000000..c899c7c1 Binary files /dev/null and b/Thermo.Active/wwwroot/assets/icons/png/ritardo@3x.png differ diff --git a/Thermo.Active/wwwroot/assets/styles/base/gantt-component.less b/Thermo.Active/wwwroot/assets/styles/base/gantt-component.less new file mode 100644 index 00000000..21dfbf7a --- /dev/null +++ b/Thermo.Active/wwwroot/assets/styles/base/gantt-component.less @@ -0,0 +1,2 @@ +// out: false, sourceMap: false, main: ../style.less + diff --git a/Thermo.Active/wwwroot/assets/styles/base/layout.less b/Thermo.Active/wwwroot/assets/styles/base/layout.less index f35c03ac..4a817938 100644 --- a/Thermo.Active/wwwroot/assets/styles/base/layout.less +++ b/Thermo.Active/wwwroot/assets/styles/base/layout.less @@ -3,6 +3,7 @@ @import "colors.less"; @import "modals.less"; @import "dashboard-gauge.less"; +@import "gantt-component.less"; @import "piece.less"; @import "dashboard.less"; @import "riscaldi.less"; diff --git a/Thermo.Active/wwwroot/assets/styles/base/preriscaldo-dashboard.less b/Thermo.Active/wwwroot/assets/styles/base/preriscaldo-dashboard.less index d1227d12..74bc2862 100644 --- a/Thermo.Active/wwwroot/assets/styles/base/preriscaldo-dashboard.less +++ b/Thermo.Active/wwwroot/assets/styles/base/preriscaldo-dashboard.less @@ -3,164 +3,65 @@ @import "colors.less"; @import "fonts.less"; -.preriscaldodashboard{ - height: 100%; - width: 100%; - background-image: url("../../assets/icons/png/bg.png"); - position: fixed; - z-index: 1001; - display: flex; - flex-direction: column; - justify-content: flex-start; +.pre_heat{ + grid-template-rows : 144px auto auto auto; + grid-template-columns: repeat(6,16.7%); - .header{ - width: 100%; - display: flex; - - - .ribbon-container{ - height: 80px; - z-index: 900; + small{ + font-family: "Work Sans"; + font-weight: 500; + line-height: 1.96; + text-align: center; + color: #4b4b4b; + + &:first-of-type{ + grid-row: 2; + grid-column-start: 1; + grid-column-end: -1; + font-size: 67px; } - - .box-date{ - display: flex; - width: 100%; - justify-content: center; - - div{ - flex-shrink: 0; - font-size: 47px; - text-align: right; - font-weight: 500; - } - - time { - flex-shrink: 0; - transition: color 200ms ease-in-out; - margin-left: 28px; - display: flex; - font-size: 120px; - } - - } - - .header-buttons{ - display: inline-block; - - .box-close-dashboard{ - height: 70px; - text-align: right; - - button.modal-close{ - background-color: #4B4B4B; - margin: 23px; - } - } - - - .user-info { - margin-top: 10px; - display: flex; - font-size: 25px; - color: @color-input-light; - flex-grow: 1; - justify-content: flex-end; - margin-right: 21px; - - button.profile { - width: 48px; - height: 48px; - background-image: url("../profile.png"); - color: #000; - background-size: cover; - border: none; - background-color: transparent; - - &.colorWhite { - color: #FFF; - } - } - - div{ - align-self: center; - margin-right: 10px; - font-size: 18px; - } - } - + + &:last-of-type{ + grid-row: 3; + grid-column-start: 1; + grid-column-end: -1; + font-size: 26px; + text-transform: uppercase; } + } - section{ - height: 100%; + .preriscaldo_time{ + grid-row: 4; + grid-column-start: 2; + grid-column-end: 6; display: flex; - flex-direction: column; justify-content: space-evenly; - - label{ - - &:first-of-type{ - font-size: 67px; - font-weight: 500; - font-stretch: normal; - font-style: normal; - line-height: 0.76; - letter-spacing: normal; - text-align: center; - color: #4b4b4b; - } - - &:last-of-type{ - font-size: 26px; - font-weight: 500; - font-stretch: normal; - font-style: normal; - line-height: 1.96; - letter-spacing: normal; - text-align: center; - color: #4b4b4b; - } - - } + align-items: center; div{ display: flex; - flex-direction: row; - justify-content: center; - - div{ - margin: 0px 70px; - display: flex; - flex-direction: column; - - label{ - - &:first-of-type{ - font-size: 250px; - font-weight: 200; - font-stretch: normal; - font-style: normal; - line-height: normal; - letter-spacing: normal; - text-align: center; - color: #4b4b4b; - } - - &:last-of-type{ - font-size: 50px; - font-weight: 500; - font-stretch: normal; - font-style: normal; - line-height: normal; - letter-spacing: normal; - text-align: center; - color: #4b4b4b; - } + flex-flow: column; + label{ + font-family: "Work Sans"; + font-weight: 200; + font-weight: 400; + text-align: center; + color: #4b4b4b; + + &:first-of-type{ + font-size: 250px; } - } + &:last-of-type{ + font-size: 50px; + } + + } + } + } + } diff --git a/Thermo.Active/wwwroot/assets/styles/style.css b/Thermo.Active/wwwroot/assets/styles/style.css index e255a7be..3b2d3ca0 100644 --- a/Thermo.Active/wwwroot/assets/styles/style.css +++ b/Thermo.Active/wwwroot/assets/styles/style.css @@ -4658,134 +4658,54 @@ article .box .body { grid-column: 0.8; grid-row: 0.5; } -.preriscaldodashboard { - height: 100%; - width: 100%; - background-image: url("../../assets/icons/png/bg.png"); - position: fixed; - z-index: 1001; - display: flex; - flex-direction: column; - justify-content: flex-start; +.pre_heat { + grid-template-rows: 144px auto auto auto; + grid-template-columns: repeat(6, 16.7%); } -.preriscaldodashboard .header { - width: 100%; - display: flex; -} -.preriscaldodashboard .header .ribbon-container { - height: 80px; - z-index: 900; -} -.preriscaldodashboard .header .box-date { - display: flex; - width: 100%; - justify-content: center; -} -.preriscaldodashboard .header .box-date div { - flex-shrink: 0; - font-size: 47px; - text-align: right; +.pre_heat small { + font-family: "Work Sans"; font-weight: 500; -} -.preriscaldodashboard .header .box-date time { - flex-shrink: 0; - transition: color 200ms ease-in-out; - margin-left: 28px; - display: flex; - font-size: 120px; -} -.preriscaldodashboard .header .header-buttons { - display: inline-block; -} -.preriscaldodashboard .header .header-buttons .box-close-dashboard { - height: 70px; - text-align: right; -} -.preriscaldodashboard .header .header-buttons .box-close-dashboard button.modal-close { - background-color: #4B4B4B; - margin: 23px; -} -.preriscaldodashboard .header .header-buttons .user-info { - margin-top: 10px; - display: flex; - font-size: 25px; - color: #4b4b4b; - flex-grow: 1; - justify-content: flex-end; - margin-right: 21px; -} -.preriscaldodashboard .header .header-buttons .user-info button.profile { - width: 48px; - height: 48px; - background-image: url("../profile.png"); - color: #000; - background-size: cover; - border: none; - background-color: transparent; -} -.preriscaldodashboard .header .header-buttons .user-info button.profile.colorWhite { - color: #FFF; -} -.preriscaldodashboard .header .header-buttons .user-info div { - align-self: center; - margin-right: 10px; - font-size: 18px; -} -.preriscaldodashboard section { - height: 100%; - display: flex; - flex-direction: column; - justify-content: space-evenly; -} -.preriscaldodashboard section label:first-of-type { - font-size: 67px; - font-weight: 500; - font-stretch: normal; - font-style: normal; - line-height: 0.76; - letter-spacing: normal; - text-align: center; - color: #4b4b4b; -} -.preriscaldodashboard section label:last-of-type { - font-size: 26px; - font-weight: 500; - font-stretch: normal; - font-style: normal; line-height: 1.96; - letter-spacing: normal; text-align: center; color: #4b4b4b; } -.preriscaldodashboard section div { - display: flex; - flex-direction: row; - justify-content: center; +.pre_heat small:first-of-type { + grid-row: 2; + grid-column-start: 1; + grid-column-end: -1; + font-size: 67px; } -.preriscaldodashboard section div div { - margin: 0px 70px; - display: flex; - flex-direction: column; +.pre_heat small:last-of-type { + grid-row: 3; + grid-column-start: 1; + grid-column-end: -1; + font-size: 26px; + text-transform: uppercase; } -.preriscaldodashboard section div div label:first-of-type { - font-size: 250px; +.pre_heat .preriscaldo_time { + grid-row: 4; + grid-column-start: 2; + grid-column-end: 6; + display: flex; + justify-content: space-evenly; + align-items: center; +} +.pre_heat .preriscaldo_time div { + display: flex; + flex-flow: column; +} +.pre_heat .preriscaldo_time div label { + font-family: "Work Sans"; font-weight: 200; - font-stretch: normal; - font-style: normal; - line-height: normal; - letter-spacing: normal; + font-weight: 400; text-align: center; color: #4b4b4b; } -.preriscaldodashboard section div div label:last-of-type { +.pre_heat .preriscaldo_time div label:first-of-type { + font-size: 250px; +} +.pre_heat .preriscaldo_time div label:last-of-type { font-size: 50px; - font-weight: 500; - font-stretch: normal; - font-style: normal; - line-height: normal; - letter-spacing: normal; - text-align: center; - color: #4b4b4b; } .container #app nav { position: absolute; diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/dashboard/base-components/clock.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/components/clock.ts similarity index 100% rename from Thermo.Active/wwwroot/src/app_modules_thermo/dashboard/base-components/clock.ts rename to Thermo.Active/wwwroot/src/app_modules_thermo/components/clock.ts diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/dashboard/base-components/clock.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/components/clock.vue similarity index 100% rename from Thermo.Active/wwwroot/src/app_modules_thermo/dashboard/base-components/clock.vue rename to Thermo.Active/wwwroot/src/app_modules_thermo/components/clock.vue diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/components/index.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/components/index.ts index a06c587c..96798ace 100644 --- a/Thermo.Active/wwwroot/src/app_modules_thermo/components/index.ts +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/components/index.ts @@ -2,11 +2,13 @@ import numeric from "./numeric.vue"; import slider from "./slider.vue"; import Vue from "vue"; import keyboard from "./keyboard.vue"; +import clock from "./clock.vue"; export default { numeric, slider, - keyboard + keyboard, + clock } Vue.directive('focusOn', { diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/dashboard/dashboard.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/dashboard/dashboard.ts index 43b707f0..b014177a 100644 --- a/Thermo.Active/wwwroot/src/app_modules_thermo/dashboard/dashboard.ts +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/dashboard/dashboard.ts @@ -8,7 +8,6 @@ import { AppModel, appModelActions } from '@/store'; import { getColorFromName, isDarkColor } from "@/_base/utils"; import ArchInterface from "../components/arch-interface/arch-interface.vue"; import gauge from "./base-components/gauge.vue"; -import clock from "./base-components/clock.vue"; import Piece from "./base-components/piece.vue"; @Component({ @@ -16,7 +15,7 @@ import Piece from "./base-components/piece.vue"; appRibbon: AppRibbon, archInterface: ArchInterface, alarmList, - gauge, clock, + gauge, piece:Piece } }) diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/preriscaldo-dashboard/preriscaldo-dashboard.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/preriscaldo-dashboard/preriscaldo-dashboard.ts index 1a9b3821..68c49fce 100644 --- a/Thermo.Active/wwwroot/src/app_modules_thermo/preriscaldo-dashboard/preriscaldo-dashboard.ts +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/preriscaldo-dashboard/preriscaldo-dashboard.ts @@ -2,50 +2,30 @@ import Vue from 'vue'; import Component from 'vue-class-component'; import {Prop} from 'vue-property-decorator'; import { messageService } from '@/_base'; -import { ModalHelper } from '@/components/modals'; import AppRibbon from "@/components/app-ribbon.vue"; import { alarmList } from "@/app_modules/alarms"; import moment from "moment"; import { AppModel, appModelActions } from '@/store'; import { getColorFromName,isDarkColor } from "@/_base/utils"; -import ArchInterface from "../components/arch-interface/arch-interface.vue"; -import { LocalizationService, localizationService } from "@/services/localizationService"; @Component({ components: { appRibbon: AppRibbon, - archInterface: ArchInterface, - alarmList, + alarmList } }) export default class PreriscaldoDashboard extends Vue{ @Prop({default:2}) - day:number; + days:number; @Prop({default:13}) - hour:number; + hours:number; @Prop({default:27}) - minute:number; + minutes:number; @Prop({default:13}) - second:number; + seconds:number; $store: any; - - public minutes: string = ""; - public hours: string = ""; - public Time: string = ""; - public date: string = ""; - public mid: string = ""; - public dayIt: string = moment(new Date()).locale(this.$store.state.localization.currentLanguage).format('dddd DD'); - public monthIt: string = moment(new Date()).locale(this.$store.state.localization.currentLanguage).format('MMMM'); - - created(){ - this.updateTime(); - // Ora aggiornata ogni 10 secondi - window.setInterval(() => { - this.updateTime(); - }, 10000); - } // User @@ -66,42 +46,6 @@ export default class PreriscaldoDashboard extends Vue{ return isDarkColor(color); } - // Clock - - private updateTime() { - this.mid = ""; - let date = moment(new Date()).format('LT'); - - let hours: any = date.split(":")[0]; - let minutesGrez = date.split(":")[1].split(" "); - - //Check if is AM/PM - let minutes = ""; - if(minutesGrez.length>1) - minutes = minutesGrez[0] + " " + minutesGrez[1]; - else{ - minutes = ("00" + minutesGrez[0]).slice(-2) - hours = ("00" + hours).slice(-2) - } - - // time non italian - if (this.$store.state.localization.currentLanguage != 'it'){ - hours = (hours+24)%24; - this.mid = "AM"; - if (hours==0){ - hours=12; - } - else if (hours>12){ - hours=hours%12; - this.mid = "PM"; - } - } - - this.$set(this, "minutes", minutes); - this.$set(this, "hours", hours); - this.$set(this, "date", moment(new Date()).format('L')); - } - // Ribbon public get ribbonStatus(): ribbonStatusEnum { diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/preriscaldo-dashboard/preriscaldo-dashboard.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/preriscaldo-dashboard/preriscaldo-dashboard.vue index 6b8faf39..617e5f2c 100644 --- a/Thermo.Active/wwwroot/src/app_modules_thermo/preriscaldo-dashboard/preriscaldo-dashboard.vue +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/preriscaldo-dashboard/preriscaldo-dashboard.vue @@ -1,85 +1,106 @@ \ No newline at end of file diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/processo/components/base-components/gantt-component.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/processo/components/base-components/gantt-component.ts new file mode 100644 index 00000000..29dc6517 --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/processo/components/base-components/gantt-component.ts @@ -0,0 +1,22 @@ +import Vue from 'vue'; +import Component from 'vue-class-component'; +import { Prop } from 'vue-property-decorator'; + +@Component({}) +export default class GanttComponent extends Vue{ + + @Prop({default:0}) + estimated_delay:number; + @Prop({default:0}) + estimated_duration:number; + @Prop({default:"null"}) + tag:string; + @Prop({default:"#57636b"}) + color:string; + @Prop({default:"#c0c7cc"}) + overlapping_color:string; + + visible:boolean=true; + + +} \ No newline at end of file diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/processo/components/base-components/gantt-component.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/processo/components/base-components/gantt-component.vue new file mode 100644 index 00000000..1bfeb2fb --- /dev/null +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/processo/components/base-components/gantt-component.vue @@ -0,0 +1,74 @@ + + + \ No newline at end of file diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/setup/ciclo/components/show-ciclo-info.ts b/Thermo.Active/wwwroot/src/app_modules_thermo/setup/ciclo/components/show-ciclo-info.ts index 129d4ec5..ac09ab61 100644 --- a/Thermo.Active/wwwroot/src/app_modules_thermo/setup/ciclo/components/show-ciclo-info.ts +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/setup/ciclo/components/show-ciclo-info.ts @@ -15,7 +15,7 @@ import { recipeService } from "@/services/recipeService"; export default class ShowCicloInfo extends Vue { recipe: Recipe.IRecipe = this.$store.getters.getCurrent(); - show: string = "caricatore"; + show: number = 0; @Prop() deferred: Deferred; diff --git a/Thermo.Active/wwwroot/src/app_modules_thermo/setup/ciclo/components/show-ciclo-info.vue b/Thermo.Active/wwwroot/src/app_modules_thermo/setup/ciclo/components/show-ciclo-info.vue index 2a6bc2ba..b1e6dcc4 100644 --- a/Thermo.Active/wwwroot/src/app_modules_thermo/setup/ciclo/components/show-ciclo-info.vue +++ b/Thermo.Active/wwwroot/src/app_modules_thermo/setup/ciclo/components/show-ciclo-info.vue @@ -2,16 +2,16 @@
- - + +
- - + +