Merge branch 'newfeature/processo' into develop

This commit is contained in:
Alessio
2020-05-07 12:22:32 +02:00
122 changed files with 4225 additions and 561 deletions
@@ -0,0 +1,57 @@
declare module Recipe{
interface IRange{
min: number;
max: number;
}
interface IStatus{
visible: boolean;
enabled: boolean;
hasError: boolean;
}
interface IValue{
range:IRange,
status:IStatus,
unitMeasure:string,
valueAct: number
}
interface IRecipe{
vacuum_main_start?:IValue,
vacuum_main_delay?:IValue,
vacuum_main_max_time?:IValue,
vacuum_main_1_chart_setpointx?:IValue,
vacuum_main_1_chart_setpointy?:IValue,
vacuum_main_2_chart_setpointx?:IValue,
vacuum_main_2_chart_setpointy?:IValue,
vacuum_main_3_chart_setpointx?:IValue,
vacuum_main_3_chart_setpointy?:IValue,
vacuum_main_manual?:IValue,
vacuum_direct_enabled?:IValue,
vacuum_direct_delay?:IValue,
vacuum_direct_time?:IValue,
vacuum_aux_enabled?:IValue,
vacuum_aux_delay?:IValue,
vacuum_aux_max_time?:IValue,
vacuum_aux_1_chart_setpointx?:IValue,
vacuum_aux_1_chart_setpointy?:IValue,
vacuum_aux_2_chart_setpointx?:IValue,
vacuum_aux_2_chart_setpointy?:IValue,
vacuum_aux_3_chart_setpointx?:IValue,
vacuum_aux_3_chart_setpointy?:IValue,
vacuum_aux_manual?:IValue,
vacuum_pre_enabled?:IValue,
vacuum_pre_delay?:IValue,
vacuum_pre_max_time?:IValue,
vacuum_pre_1_chart_setpointx?:IValue,
vacuum_pre_1_chart_setpointy?:IValue,
vacuum_pre_2_chart_setpointx?:IValue,
vacuum_pre_2_chart_setpointy?:IValue,
vacuum_pre_3_chart_setpointx?:IValue,
vacuum_pre_3_chart_setpointy?:IValue
}
}
@@ -0,0 +1,57 @@
declare module Recipe{
interface IRange{
min: number;
max: number;
}
interface IStatus{
visible: boolean;
enabled: boolean;
hasError: boolean;
}
interface IValue{
range:IRange,
status:IStatus,
unitMeasure:string,
valueAct: number
}
interface IRecipe{
vacuum_main_start?:IValue,
vacuum_main_delay?:IValue,
vacuum_main_max_time?:IValue,
vacuum_main_1_chart_setpointx?:IValue,
vacuum_main_1_chart_setpointy?:IValue,
vacuum_main_2_chart_setpointx?:IValue,
vacuum_main_2_chart_setpointy?:IValue,
vacuum_main_3_chart_setpointx?:IValue,
vacuum_main_3_chart_setpointy?:IValue,
vacuum_main_manual?:IValue,
vacuum_direct_enabled?:IValue,
vacuum_direct_delay?:IValue,
vacuum_direct_time?:IValue,
vacuum_aux_enabled?:IValue,
vacuum_aux_delay?:IValue,
vacuum_aux_max_time?:IValue,
vacuum_aux_1_chart_setpointx?:IValue,
vacuum_aux_1_chart_setpointy?:IValue,
vacuum_aux_2_chart_setpointx?:IValue,
vacuum_aux_2_chart_setpointy?:IValue,
vacuum_aux_3_chart_setpointx?:IValue,
vacuum_aux_3_chart_setpointy?:IValue,
vacuum_aux_manual?:IValue,
vacuum_pre_enabled?:IValue,
vacuum_pre_delay?:IValue,
vacuum_pre_max_time?:IValue,
vacuum_pre_1_chart_setpointx?:IValue,
vacuum_pre_1_chart_setpointy?:IValue,
vacuum_pre_2_chart_setpointx?:IValue,
vacuum_pre_2_chart_setpointy?:IValue,
vacuum_pre_3_chart_setpointx?:IValue,
vacuum_pre_3_chart_setpointy?:IValue
}
}
@@ -0,0 +1,48 @@
import Vue from 'vue';
import Component from 'vue-class-component';
import {Prop} from 'vue-property-decorator';
import Slider from "@/app_modules_thermo/components/slider.vue"
import Scheda from "@/app_modules_thermo/components/scheda.vue"
@Component({name:'vuotoprincipale', components: { slider:Slider, scheda:Scheda}})
export default class VuotoPrincipale extends Vue{
Recipe:Recipe.IRecipe={
vacuum_main_delay:{
range:{
min:8,
max:105
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:57
},
vacuum_main_max_time:{
range:{
min:9,
max:127
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:30
},
};
@Prop({default:0})
ritardo:number;
@Prop({default:0})
percentuale:number;
@Prop({default:0})
durata:number;
}
@@ -0,0 +1,50 @@
<template>
<section>
<aside class="scrollable auto">
<div class="input-area">
<label>Partenza</label>
<select>
<option value="Label partenza">Label partenza</option>
</select>
</div>
<hr />
<div class="input-area">
<img src="assets/icons/png/clessidra.png" />
<label>Ritardo</label>
<div class="rect">
{{ritardo}} s
</div>
</div>
<slider :min="0" :max="10" v-model="ritardo" unit-of-measure="s"></slider>
<hr />
<div class="input-area">
<label>Portata in manuale</label>
<div class="rect">
{{Recipe.vacuum_main_delay.valueAct}} %
</div>
</div>
<slider :min="Recipe.vacuum_main_delay.range.min" :max="Recipe.vacuum_main_delay.range.max" v-model="Recipe.vacuum_main_delay.valueAct" :unit-of-measure="Recipe.vacuum_main_delay.unitMeasure"></slider>
</aside>
<hr>
<div class="specific">
<scheda></scheda>
<scheda></scheda>
<scheda></scheda>
</div>
<div class="specific">
<div class="input-area">
<label>Durata massima</label>
<div class="rect">
{{Recipe.vacuum_main_max_time.valueAct}} s
</div>
</div>
<slider :min="Recipe.vacuum_main_max_time.range.min" :max="Recipe.vacuum_main_max_time.range.max" v-model="Recipe.vacuum_main_max_time.valueAct" :unit-of-measure="Recipe.vacuum_main_max_time.unitMeasure"></slider>
</div>
</section>
</template>
<script lang="ts" src="./vuoto-principale.ts"></script>
@@ -0,0 +1,50 @@
import Vue from 'vue';
import Component from 'vue-class-component';
import {Prop} from 'vue-property-decorator';
import Slider from "@/app_modules_thermo/components/slider.vue"
import Scheda from "@/app_modules_thermo/components/scheda.vue"
@Component({name:'vuotoprincipale', components: { slider:Slider, scheda:Scheda}})
export default class VuotoPrincipale extends Vue{
Recipe:Recipe.IRecipe={
vacuum_main_delay:{
range:{
min:8,
max:105
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:57
},
vacuum_main_max_time:{
range:{
min:9,
max:127
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:30
},
};
@Prop({default:0})
ritardo:number;
@Prop({default:0})
percentuale:number;
@Prop({default:0})
durata:number;
mock_ritardo:number=this.ritardo;
mock_percentuale:number=this.percentuale;
mock_durata:number=this.durata;
}
@@ -0,0 +1,44 @@
<template>
<section>
<aside class="scrollable auto">
<div class="input-area">
<label>Partenza</label>
<select>
<option value="Label partenza">Label partenza</option>
</select>
</div>
<hr />
<div class="input-area">
<img src="assets/icons/png/clessidra.png" />
<label>Ritardo</label>
<input class="rect" v-model="Recipe.vacuum_main_delay.valueAct">
</div>
<slider :min="Recipe.vacuum_main_delay.range.min" :max="Recipe.vacuum_main_delay.range.max" v-model="Recipe.vacuum_main_delay.valueAct" :unit-of-measure="Recipe.vacuum_main_delay.unitMeasure"></slider>
<hr />
<div class="input-area">
<label>Portata in manuale</label>
<input class="rect" v-model="mock_percentuale">
</div>
<slider :min="0" :max="100" v-model="mock_percentuale" :unit-of-measure="'%'"></slider>
</aside>
<hr>
<div class="specific">
<scheda></scheda>
<scheda></scheda>
<scheda></scheda>
</div>
<div class="specific">
<div class="input-area">
<label>Durata massima</label>
<input class="rect" v-model="Recipe.vacuum_main_max_time.valueAct">
</div>
<slider :min="Recipe.vacuum_main_max_time.range.min" :max="Recipe.vacuum_main_max_time.range.max" v-model="Recipe.vacuum_main_max_time.valueAct" :unit-of-measure="Recipe.vacuum_main_max_time.unitMeasure"></slider>
</div>
</section>
</template>
<script lang="ts" src="./vuoto-principale.ts"></script>
@@ -0,0 +1,63 @@
import Vue from 'vue';
import Component from 'vue-class-component';
import {Prop} from 'vue-property-decorator';
import Slider from "@/app_modules_thermo/components/slider.vue"
import Scheda from "@/app_modules_thermo/components/scheda.vue"
@Component({name:'vuotoprincipale', components: { slider:Slider, scheda:Scheda}})
export default class VuotoPrincipale extends Vue{
Recipe:Recipe.IRecipe={
vacuum_main_delay:{
range:{
min:8,
max:105
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:57
},
vacuum_main_max_time:{
range:{
min:9,
max:127
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:30
},
vacuum_main_manual:{
range:{
min:4,
max:115
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:8
},
};
@Prop({default:0})
ritardo:number;
@Prop({default:0})
percentuale:number;
@Prop({default:0})
durata:number;
mock_ritardo:number=this.ritardo;
mock_percentuale:number=this.percentuale;
mock_durata:number=this.durata;
}
@@ -0,0 +1,44 @@
<template>
<section>
<aside class="scrollable auto">
<div class="input-area">
<label>Partenza</label>
<select>
<option value="Label partenza">Label partenza</option>
</select>
</div>
<hr />
<div class="input-area">
<img src="assets/icons/png/clessidra.png" />
<label>Ritardo</label>
<input class="rect" v-model="Recipe.vacuum_main_delay.valueAct">
</div>
<slider :min="Recipe.vacuum_main_delay.range.min" :max="Recipe.vacuum_main_delay.range.max" v-model="Recipe.vacuum_main_delay.valueAct" :unit-of-measure="Recipe.vacuum_main_delay.unitMeasure"></slider>
<hr />
<div class="input-area">
<label>Portata in manuale</label>
<input class="rect" v-model="Recipe.vacuum_main_manual.valueAct">
</div>
<slider :min="Recipe.vacuum_main_manual.range.min" :max="Recipe.vacuum_main_manual.range.max" v-model="Recipe.vacuum_main_manual.valueAct" :unit-of-measure="Recipe.vacuum_main_manual.unitMeasure"></slider>
</aside>
<hr>
<div class="specific">
<scheda></scheda>
<scheda></scheda>
<scheda></scheda>
</div>
<div class="specific">
<div class="input-area">
<label>Durata massima</label>
<input class="rect" v-model="Recipe.vacuum_main_max_time.valueAct">
</div>
<slider :min="Recipe.vacuum_main_max_time.range.min" :max="Recipe.vacuum_main_max_time.range.max" v-model="Recipe.vacuum_main_max_time.valueAct" :unit-of-measure="Recipe.vacuum_main_max_time.unitMeasure"></slider>
</div>
</section>
</template>
<script lang="ts" src="./vuoto-principale.ts"></script>
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 89 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 89 KiB

@@ -8,6 +8,7 @@
@import "slider.less";
@import "tastierino.less";
@import "circlegantt.less";
@import "paddle.less";
@import "arretramento-riscaldi.less";
@import "avvio-prod.less";
@import "ciclo.less";
@@ -0,0 +1,188 @@
// out: false, sourceMap: false, main: ../style.less
@import "grid-system.less";
@import "colors.less";
@import "fonts.less";
html {
height: 100%;
overflow:hidden;
}
body {
border: 0; margin: 0; padding: 0;
height: 100%;
}
.hidden {
visibility: hidden;
}
.container{
#app{
nav {
position: absolute;
top: 50%;
right: 0;
.active button{
transform: translate(-761px, 0px);
}
div{
button {
position: relative;
height: 30px;
width: 32px;
display: block;
z-index: 9999;
border: 0;
border-radius: 0;
pointer-events: all;
background: #dddddd;
border-bottom-left-radius: 90px;
border-top-left-radius: 90px;
height: 90px;
width: 45px;
div{
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: 1fr 1fr;
align-items: center;
justify-items: center;
padding: 5px;
div {
width: 2px;
height: 2px;
border-radius: 10px;
margin: 2px;
background: #002680;
}
}
}
}
}
// .slide-enter-active,
// .slide-leave-active
// {
// transition: left,right 0s ease-in-out;
// }
// .slide-enter,
// .slide-leave-to {
// transition: right,left 0s ease-in-out
// }
.sidebar{
.sidebar-backdrop{
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
cursor: pointer;
}
.sidebar-panel{
overflow-y: auto;
background-color: #130f40;
position: fixed;
right: 0;
top: 141px;
height: 100vh;
z-index: 900;
padding: 3rem 20px 2rem 20px;
width: 721px;
height: 920px;
border-radius: 4px;
box-shadow: 2px 10px 15px 0 rgba(0, 0, 0, 0.5);
background-color: #dddddd;
.text-head-sidebar{
margin: 10px auto;
font-size: 24px;
font-weight: 500;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
text-align: center;
color: #002680;
}
.box-sidebar-panel{
display: grid;
grid-template-columns: repeat(2, 1fr);
align-items: center;
justify-items: center;
.sidebar-panel-nav{
width: 286px;
height: 100px;
border-radius: 2px;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
background-color: #808e96;
margin: 10px 30px;
.text-box-paddle{
display: flex;
width: 268px;
height: 78px;
font-family: WorkSans;
font-size: 18px;
font-weight: 500;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: #ffffff;
margin: 10px;
i{
text-align: end;
width: 50px;
color: #bbbcbc;
}
label{
width: 117px;
margin: 10px;
}
}
.text-box-paddle.text-soft{
label{
width: 100%;
align-self: center;
}
}
}
}
}
}
}
}
@@ -276,9 +276,13 @@
color: #90BF3D;
}
&.fa-minus-circle{
color: #7A7C74;
&.fa-check-circle.undone-step{
color: #1791FF;
}
// &.fa-minus-circle{
// color: #7A7C74;
// }
}
position: relative;
@@ -4502,6 +4502,132 @@
width: 20px;
height: 20px;
}
html {
height: 100%;
overflow: hidden;
}
body {
border: 0;
margin: 0;
padding: 0;
height: 100%;
}
.hidden {
visibility: hidden;
}
.container #app nav {
position: absolute;
top: 50%;
right: 0;
}
.container #app nav .active button {
transform: translate(-761px, 0px);
}
.container #app nav div button {
position: relative;
height: 30px;
width: 32px;
display: block;
z-index: 9999;
border: 0;
border-radius: 0;
pointer-events: all;
background: #dddddd;
border-bottom-left-radius: 90px;
border-top-left-radius: 90px;
height: 90px;
width: 45px;
}
.container #app nav div button div {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: 1fr 1fr;
align-items: center;
justify-items: center;
padding: 5px;
}
.container #app nav div button div div {
width: 2px;
height: 2px;
border-radius: 10px;
margin: 2px;
background: #002680;
}
.container #app .sidebar .sidebar-backdrop {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;
left: 0;
cursor: pointer;
}
.container #app .sidebar .sidebar-panel {
overflow-y: auto;
background-color: #130f40;
position: fixed;
right: 0;
top: 141px;
height: 100vh;
z-index: 900;
padding: 3rem 20px 2rem 20px;
width: 721px;
height: 920px;
border-radius: 4px;
box-shadow: 2px 10px 15px 0 rgba(0, 0, 0, 0.5);
background-color: #dddddd;
}
.container #app .sidebar .sidebar-panel .text-head-sidebar {
margin: 10px auto;
font-size: 24px;
font-weight: 500;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
text-align: center;
color: #002680;
}
.container #app .sidebar .sidebar-panel .box-sidebar-panel {
display: grid;
grid-template-columns: repeat(2, 1fr);
align-items: center;
justify-items: center;
}
.container #app .sidebar .sidebar-panel .box-sidebar-panel .sidebar-panel-nav {
width: 286px;
height: 100px;
border-radius: 2px;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
background-color: #808e96;
margin: 10px 30px;
}
.container #app .sidebar .sidebar-panel .box-sidebar-panel .sidebar-panel-nav .text-box-paddle {
display: flex;
width: 268px;
height: 78px;
font-family: WorkSans;
font-size: 18px;
font-weight: 500;
font-stretch: normal;
font-style: normal;
line-height: normal;
letter-spacing: normal;
color: #ffffff;
margin: 10px;
}
.container #app .sidebar .sidebar-panel .box-sidebar-panel .sidebar-panel-nav .text-box-paddle i {
text-align: end;
width: 50px;
color: #bbbcbc;
}
.container #app .sidebar .sidebar-panel .box-sidebar-panel .sidebar-panel-nav .text-box-paddle label {
width: 117px;
margin: 10px;
}
.container #app .sidebar .sidebar-panel .box-sidebar-panel .sidebar-panel-nav .text-box-paddle.text-soft label {
width: 100%;
align-self: center;
}
.modal.estrazione-info {
width: 560px;
height: 411px;
+339
View File
@@ -0,0 +1,339 @@
declare module Recipe {
interface IRange{
min:number,
max:number
}
interface IStatus{
visible:boolean,
enabled:boolean,
hasError:boolean
}
interface IValue{
range:IRange,
status:IStatus,
unitMeasure:string,
valueAct:number
}
interface IRecipe{
general_sizes_mould_dim_x?:IValue,
general_sizes_mould_dim_y?:IValue,
general_sizes_mould_max_height?:IValue,
general_sizes_mould_min_height?:IValue,
general_sizes_mould_base_height?:IValue,
general_sizes_sheet_material?:IValue,
general_sizes_sheet_dim_x?:IValue,
general_sizes_sheet_dim_y?:IValue,
general_sizes_sheet_thickness?:IValue,
general_sizes_plate_type?:IValue,
general_sizes_plate_dim_x?:IValue,
general_sizes_plate_dim_y?:IValue,
general_sizes_frame_traverses?:IValue,
general_sizes_frame_dim_x?:IValue,
general_sizes_frame_dim_y?:IValue,
general_sizes_upperplate_max_height?:IValue,
general_area_working_dxsx?:IValue,
positions_mould_lower_position?:IValue,
positions_mould_lower_speed?:IValue,
positions_mould_intermediate_position?:IValue,
positions_mould_upper_position?:IValue,
positions_mould_upper_speed?:IValue,
positions_mould_upperdeceleration_position?:IValue,
positions_mould_upperdeceleration_speed?:IValue,
positions_mould_lowerdeceleration_speed?:IValue,
positions_mould_lowerdeceleration_position?:IValue,
positions_frame_lower_position?:IValue,
positions_frame_lower_speed?:IValue,
positions_frame_upper_speed?:IValue,
positions_frame_upper_position?:IValue,
positions_frame_intermediate_position?:IValue,
positions_frame_intermediate_speed?:IValue,
positions_frame_unload_position?:IValue,
positions_upperplate_lower_position?:IValue,
positions_upperplate_lower_speed?:IValue,
positions_upperplate_upper_position?:IValue,
positions_upperplate_upper_speed?:IValue,
positions_upperplate_upperdeceleration_position?:IValue,
positions_upperplate_upperdeceleration_speed?:IValue,
positions_upperplate_lowerdeceleration_position?:IValue,
positions_upperplate_lowerdeceleration_speed?:IValue,
cycle_forming_type?:IValue,
cycle_forming_pause_cycle?:IValue,
cycle_forming_cooling_enabled?:IValue,
cycle_forming_blowingbox_enabled?:IValue,
cycle_acrylicframe_enabled?:IValue,
cycle_acrylicframe_time?:IValue,
cycle_upperoverheating_enabled?:IValue,
cycle_upperoverheating_time?:IValue,
cycle_crystallisation_type?:IValue,
cycle_crystallisation_enabled?:IValue,
cycle_crystallisation_time?:IValue,
cycle_loader_enable?:IValue,
cycle_loader_lifter_lowerposition_delay?:IValue,
cycle_loader_lifter_upperposition_delay?:IValue,
cycle_loader_split_sheet_time?:IValue,
cycle_loader_ejector_position?:IValue,
cycle_loader_pallet_height?:IValue
cycle_loader_center_x?:IValue,
cycle_loader_center_y?:IValue,
cycle_loader_checktichness_enabled?:IValue,
cycle_loader_suckers_vacuum?:IValue,
cycle_loader_ionizer_enabled?:IValue,
cycle_loader_manualunloading_enabled?:IValue,
heats_lowerheaters_max_time?:IValue,
heats_lowerheaters_movement_enabled?:IValue,
heats_lowerheaters_enabled?:IValue,
heats_lowerheaters_oscillation?:IValue,
heats_upperheaters_max_time?:IValue,
heats_upperheaters_movement_enabled?:IValue,
heats_upperheaters_enabled?:IValue,
heats_upperheaters_oscillation?:IValue,
heats_decomsustain_type?:IValue,
heats_decomsustain_decompression_flow?:IValue,
heats_decomsustain_min_blowing_time?:IValue,
heats_decomsustain_sustain_delay?:IValue,
heats_decomsustain_decompression_delay?:IValue,
heats_decomsustain_decompression_duration?:IValue,
heats_decomsustain_smoke_function_enabled?:IValue,
pyrometer_pyrometer_enabled?:IValue,
pyrometer_pyrometer_setpoint?:IValue,
pyrometer_pyrometer_delay?:IValue,
pyrometer_upperthermoregulator_start_adjustment?:IValue,
pyrometer_upperthermoregulator_end_adjustment?:IValue,
pyrometer_upperthermoregulator_min_percentage?:IValue,
pyrometer_upperthermoregulator_max_percentage?:IValue,
pyrometer_upperthermoregulator_sleep_enabled?:IValue,
pyrometer_upperthermoregulator_sleep_percentage?:IValue,
pyrometer_lowerthermoregulator_start_adjustment?:IValue,
pyrometer_lowerthermoregulator_end_adjustment?:IValue,
pyrometer_lowerthermoregulator_min_percentage?:IValue,
pyrometer_lowerthermoregulator_max_percentage?:IValue,
pyrometer_lowerthermoregulator_sleep_enabled?:IValue,
pyrometer_lowerthermoregulator_sleep_percentage?:IValue,
pyrometer_upperthermoregulator_sleep_temperature?:IValue,
pyrometer_upperthermoregulator_working_temperature?:IValue,
pyrometer_lowerthermoregulator_sleep_temperature?:IValue,
pyrometer_lowerthermoregulator_working_temperature?:IValue,
drawing_type?:IValue,
drawing_height?:IValue,
drawing_delay?:IValue,
drawing_1_chart_setpointx?:IValue,
drawing_1_chart_setpointy?:IValue,
drawing_photocell?:IValue,
drawing_mantaining_flow?:IValue,
drawing_manual?:IValue,
drawing_mould_up_delay?:IValue,
upperplate_cycle_type?:IValue,
upperplate_cycle_delay?:IValue,
upperplate_cycle_time?:IValue,
upperplate_air_enable?:IValue,
upperplate_air_delay?:IValue,
upperplate_air_max_time?:IValue,
upperplate_air_1_chart_setpointx?:IValue,
upperplate_air_1_chart_setpointy?:IValue,
upperplate_air_2_chart_setpointx?:IValue,
upperplate_air_2_chart_setpointy?:IValue,
upperplate_air_3_chart_setpointx?:IValue,
upperplate_air_3_chart_setpointy?:IValue,
upperplate_air_manual?:IValue,
upperplate_vacuum_enable?:IValue,
upperplate_vacuum_delay?:IValue,
upperplate_vacuum_max_time?:IValue,
upperplate_vacuum_1_chart_setpointx?:IValue,
upperplate_vacuum_1_chart_setpointy?:IValue,
upperplate_vacuum_2_chart_setpointx?:IValue,
upperplate_vacuum_2_chart_setpointy?:IValue,
upperplate_vacuum_3_chart_setpointx?:IValue,
upperplate_vacuum_3_chart_setpointy?:IValue,
upperplate_vacuum_manual?:IValue,
upperplate_extraction_enable?:IValue,
upperplate_extraction_delay?:IValue,
upperplate_extraction_1_chart_setpointx?:IValue,
upperplate_extraction_1_chart_setpointy?:IValue,
upperplate_extraction_manual?:IValue,
cooling_blowing_type?:IValue,
cooling_blowing_delay?:IValue,
cooling_blowing_time?:IValue,
cooling_pyrometer_enabled?:IValue,
cooling_pyrometer_setpoint?:IValue,
cooling_pyrometer_delay?:IValue,
cooling_nebulizer_type?:IValue,
cooling_nebulizer_delay?:IValue,
cooling_nebulizer_time?:IValue,
cooling_telescopic_enable?:IValue,
cooling_telescopic_position?:IValue,
cooling_telescopic_swing_enable?:IValue,
cooling_telescopic_swing_stroke?:IValue,
cooling_shutter_1_opening_perc?:IValue,
cooling_shutter_2_opening_perc?:IValue,
cooling_shutter_3_opening_perc?:IValue,
cooling_shutter_4_opening_perc?:IValue,
cooling_shutter_5_opening_perc?:IValue,
cooling_shutter_6_opening_perc?:IValue,
cooling_shutter_7_opening_perc?:IValue,
cooling_shutter_8_opening_perc?:IValue,
cooling_shutter_9_opening_perc?:IValue,
cooling_shutter_10_opening_perc?:IValue,
cooling_shutter_11_opening_perc?:IValue,
cooling_shutter_12_opening_perc?:IValue,
cooling_shutter_13_opening_perc?:IValue,
cooling_shutter_14_opening_perc?:IValue,
cooling_shutter_15_opening_perc?:IValue,
cooling_shutter_16_opening_perc?:IValue,
vacuum_main_start?:IValue,
vacuum_main_delay?:IValue,
vacuum_main_max_time?:IValue,
vacuum_main_1_chart_setpointx?:IValue,
vacuum_main_1_chart_setpointy?:IValue,
vacuum_main_2_chart_setpointx?:IValue,
vacuum_main_2_chart_setpointy?:IValue,
vacuum_main_3_chart_setpointx?:IValue,
vacuum_main_3_chart_setpointy?:IValue,
vacuum_main_manual?:IValue,
vacuum_direct_enabled?:IValue,
vacuum_direct_delay?:IValue,
vacuum_direct_time?:IValue,
vacuum_aux_enabled?:IValue,
vacuum_aux_delay?:IValue,
vacuum_aux_max_time?:IValue,
vacuum_aux_1_chart_setpointx?:IValue,
vacuum_aux_1_chart_setpointy?:IValue,
vacuum_aux_2_chart_setpointx?:IValue,
vacuum_aux_2_chart_setpointy?:IValue,
vacuum_aux_3_chart_setpointx?:IValue,
vacuum_aux_3_chart_setpointy?:IValue,
vacuum_aux_manual?:IValue,
vacuum_pre_enabled?:IValue,
vacuum_pre_delay?:IValue,
vacuum_pre_max_time?:IValue,
vacuum_pre_1_chart_setpointx?:IValue,
vacuum_pre_1_chart_setpointy?:IValue,
vacuum_pre_2_chart_setpointx?:IValue,
vacuum_pre_2_chart_setpointy?:IValue,
vacuum_pre_3_chart_setpointx?:IValue,
vacuum_pre_3_chart_setpointy?:IValue,
extraction_main_type?:IValue,
extraction_main_mould_dw_delay?:IValue,
extraction_main_delay?:IValue,
extraction_main_1_chart_setpointx?:IValue,
extraction_main_1_chart_setpointy?:IValue,
extraction_main_manual?:IValue,
extraction_aux_enabled?:IValue,
extraction_aux_delay?:IValue,
extraction_aux_1_chart_setpointx?:IValue,
extraction_aux_1_chart_setpointy?:IValue,
extraction_aux_manual?:IValue,
options_undercutmould_1_mode?:IValue,
options_undercutmould_1_position?:IValue,
options_undercutmould_1_delay_acti?:IValue,
options_undercutmould_1_delay_dis?:IValue,
options_undercutmould_2_mode?:IValue,
options_undercutmould_2_position?:IValue,
options_undercutmould_2_delay_acti?:IValue,
options_undercutmould_2_delay_dis?:IValue,
options_undercutmould_3_mode?:IValue,
options_undercutmould_3_position?:IValue,
options_undercutmould_3_delay_acti?:IValue,
options_undercutmould_3_delay_dis?:IValue,
options_undercutmould_4_mode?:IValue,
options_undercutmould_4_position?:IValue,
options_undercutmould_4_delay_acti?:IValue,
options_undercutmould_4_delay_dis?:IValue,
options_undercutmould_5_mode?:IValue,
options_undercutmould_5_position?:IValue,
options_undercutmould_5_delay_acti?:IValue,
options_undercutmould_5_delay_dis?:IValue,
options_undercutmould_6_mode?:IValue,
options_undercutmould_6_position?:IValue,
options_undercutmould_6_delay_acti?:IValue,
options_undercutmould_6_delay_dis?:IValue,
options_undercutmould_7_mode?:IValue,
options_undercutmould_7_position?:IValue,
options_undercutmould_7_delay_acti?:IValue,
options_undercutmould_7_delay_dis?:IValue,
options_undercutmould_8_mode?:IValue,
options_undercutmould_8_position?:IValue,
options_undercutmould_8_delay_acti?:IValue,
options_undercutmould_8_delay_dis?:IValue,
options_undercutmould_9_mode?:IValue,
options_undercutmould_9_position?:IValue,
options_undercutmould_9_delay_acti?:IValue,
options_undercutmould_9_delay_dis?:IValue,
options_undercutmould_10_mode?:IValue,
options_undercutmould_10_position?:IValue,
options_undercutmould_10_delay_acti?:IValue,
options_undercutmould_10_delay_dis?:IValue,
options_undercutupperplate_1_mode?:IValue,
options_undercutupperplate_1_position?:IValue,
options_undercutupperplate_1_delay_acti?:IValue,
options_undercutupperplate_1_delay_dis?:IValue,
options_undercutupperplate_2_mode?:IValue,
options_undercutupperplate_2_position?:IValue,
options_undercutupperplate_2_delay_acti?:IValue,
options_undercutupperplate_2_delay_dis?:IValue,
options_undercutupperplate_3_mode?:IValue,
options_undercutupperplate_3_position?:IValue,
options_undercutupperplate_3_delay_acti?:IValue,
options_undercutupperplate_3_delay_dis?:IValue,
options_undercutupperplate_4_mode?:IValue,
options_undercutupperplate_4_position?:IValue,
options_undercutupperplate_4_delay_acti?:IValue,
options_undercutupperplate_4_delay_dis?:IValue,
options_undercutupperplate_5_mode?:IValue,
options_undercutupperplate_5_position?:IValue,
options_undercutupperplate_5_delay_acti?:IValue,
options_undercutupperplate_5_delay_dis?:IValue,
options_undercutupperplate_6_mode?:IValue,
options_undercutupperplate_6_position?:IValue,
options_undercutupperplate_6_delay_acti?:IValue,
options_undercutupperplate_6_delay_dis?:IValue,
options_undercutupperplate_7_mode?:IValue,
options_undercutupperplate_7_position?:IValue,
options_undercutupperplate_7_delay_acti?:IValue,
options_undercutupperplate_7_delay_dis?:IValue,
options_undercutupperplate_8_mode?:IValue,
options_undercutupperplate_8_position?:IValue,
options_undercutupperplate_8_delay_acti?:IValue,
options_undercutupperplate_8_delay_dis?:IValue,
options_undercutupperplate_9_mode?:IValue,
options_undercutupperplate_9_position?:IValue,
options_undercutupperplate_9_delay_acti?:IValue,
options_undercutupperplate_9_delay_dis?:IValue,
options_undercutupperplate_10_mode?:IValue,
options_undercutupperplate_10_position?:IValue,
options_undercutupperplate_10_delay_acti?:IValue,
options_undercutupperplate_10_delay_dis?:IValue,
options_thermoregulator_1_enabled?:IValue,
options_thermoregulator_1_setpoint?:IValue,
options_thermoregulator_2_enabled?:IValue,
options_thermoregulator_2_setpoint?:IValue,
options_thermoregulator_3_enabled?:IValue,
options_thermoregulator_3_setpoint?:IValue,
options_thermoregulator_4_enabled?:IValue,
options_thermoregulator_4_setpoint?:IValue,
options_thermoregulator_5_enabled?:IValue,
options_thermoregulator_5_setpoint?:IValue,
options_thermoregulator_6_enabled?:IValue,
options_thermoregulator_6_setpoint?:IValue,
options_thermoregulator_7_enabled?:IValue,
options_thermoregulator_7_setpoint?:IValue,
options_thermoregulator_8_enabled?:IValue,
options_thermoregulator_8_setpoint?:IValue,
options_thermoregulator_9_enabled?:IValue,
options_thermoregulator_9_setpoint?:IValue,
options_thermoregulator_10_enabled?:IValue,
options_thermoregulator_10_setpoint?:IValue,
}
}
+16
View File
@@ -0,0 +1,16 @@
declare module Overview {
interface IOverview{
general:string,
positions:string,
cycle: string,
heats: string,
pyrometer: string,
drawing: string,
upperPlate: string,
cooling: string,
vacuum: string,
extraction: string,
options: string
}
}
+6
View File
@@ -10,6 +10,9 @@ import { ModalContainer, ModalNcContainer } from "./modules/base-components";
import { ModalHelper } from "@/components/modals"
import { store, appModelActions, machineStatusActions } from "@/store";
import { underTheHood } from "@/app_modules/under-the-hood";
import SwitchButton from "@/app_modules_thermo/components/paddle/switch-button.vue";
import Sidebar from "@/app_modules_thermo/components/paddle/sidebar.vue";
import ToggleButton from "@/components/toggleButton.vue";
import * as iziToast from "izitoast";
@@ -30,6 +33,8 @@ declare var cmsClient;
appFooter: Footer,
modalContainer: ModalContainer,
modalNcContainer: ModalNcContainer,
switchButton: SwitchButton,
sidebar: Sidebar,
alarmList,
underTheHood,
}
@@ -39,6 +44,7 @@ export default class app extends Vue {
$route: any;
$router:any;
state = this.$store.state;
applyBlur = false;
showHeaderOnBlur = false;
+7 -1
View File
@@ -7,7 +7,6 @@
<under-the-hood :class="{'blur':(applyBlur || applyBlurNc)}"></under-the-hood>
<div id="main-view" ref="main-view" :class="{liftedUp : isMainViewLiftedUp,'blur':(applyBlur || applyBlurNc)}" >
<router-view :class="{'blur':applyBlurInternal}" />
<modal-container name="modal" container-name="modal-internal" :inform-hmi="false" ></modal-container>
</div>
<div id="main-view-handler" ref="main-view-handler" @click="toggleMainView()" :class="{liftedUp : isMainViewLiftedUp,liftedDw : !isMainViewLiftedUp,'blur':(applyBlur || applyBlurNc)}">
@@ -18,6 +17,13 @@
</div>
</vue-gesture>
</div>
<nav :class="{'blur':(applyBlur || applyBlurNc)}">
<switch-button></switch-button>
</nav>
<sidebar></sidebar>
<app-footer :class="{'blur':(applyBlur || applyBlurNc)}"></app-footer>
</div>
@@ -133,7 +133,7 @@ export default class alarmsList extends Vue {
public get opened(): boolean {
return this.$store.state.alarms.opened;
}
}
public get serviceOpened(): boolean {
return this.$store.state.alarms.serviceOpened;
@@ -14,7 +14,7 @@ export default class Login extends Vue {
$router: any;
public user: server.loginViewModel = { password: null, username: null };
public hasError: boolean = false;
public hasError: boolean = false;
public logginIn: boolean = false;
@@ -0,0 +1,19 @@
import Vue from "vue";
import Component from "vue-class-component";
import {paddleActions} from '@/store/paddle.store';
import ToggleButton from "@/components/toggleButton.vue";
@Component({name: 'sidebar',components: { toggleButton:ToggleButton } })
export default class Sidebar extends Vue{
azione1:boolean=false;
azione2:boolean=false;
isPanelOpen(){
return this.$store.state.paddle.isNavOpen;
}
closeSidebarPanel() {
paddleActions.Toggle(this.$store);
}
}
@@ -0,0 +1,80 @@
<template>
<div class="sidebar">
<div class="sidebar-backdrop" @click="closeSidebarPanel()" v-if="isPanelOpen()"></div>
<!-- <transition name="slide"> -->
<transition>
<div v-if="isPanelOpen()" class="sidebar-panel">
<div class="text-head-sidebar">
<label>Pulsanti personalizzati</label>
</div>
<div class="box-sidebar-panel">
<div class="sidebar-panel-nav">
<div class="text-box-paddle">
<img src="assets/icons/svg/paddle-riscaldo.svg" />
<label>Estensione riscaldo 20 secondi</label>
<i class="fa fa-cog gear-box-paddle"></i>
</div>
</div>
<div class="sidebar-panel-nav">
<div class="text-box-paddle">
<img src="assets/icons/svg/paddle-altra-funzione.svg" />
<label>Altra funzione tasto fisico della tastiera</label>
<i class="fa fa-cog gear-box-paddle"></i>
</div>
</div>
</div>
<div class="text-head-sidebar">
<label>Soft keys</label>
</div>
<div class="box-sidebar-panel">
<div class="sidebar-panel-nav">
<div class="text-box-paddle text-soft">
<label>Nome azione soft key</label>
</div>
</div>
<div class="sidebar-panel-nav">
<div class="text-box-paddle text-soft">
<label>Nome azione soft key</label>
</div>
</div>
<div class="sidebar-panel-nav">
<div class="text-box-paddle text-soft">
<label>Nome azione soft key</label>
</div>
</div>
<div class="sidebar-panel-nav">
<div class="text-box-paddle text-soft">
<label>Estensione riscaldo 20 secondi</label>
</div>
</div>
<div class="sidebar-panel-nav">
<div class="text-box-paddle text-soft">
<toggle-button v-model="azione1"></toggle-button>
<label>Nome azione soft key</label>
</div>
</div>
<div class="sidebar-panel-nav">
<div class="text-box-paddle text-soft">
<toggle-button v-model="azione2"></toggle-button>
<label>Nome azione soft key</label>
</div>
</div>
<div class="sidebar-panel-nav">
<div class="text-box-paddle text-soft">
<label>Nome azione soft key</label>
</div>
</div>
</div>
<!-- <i class="fa fa-cog gear-sidebar-paddle"></i> -->
</div>
</transition>
</div>
</template>
<script lang="ts" src="./sidebar.ts" />
@@ -0,0 +1,15 @@
import Vue from "vue";
import Component from "vue-class-component";
import {paddleActions} from '@/store/paddle.store.ts';
@Component({name: 'switch-button'})
export default class SwitchButton extends Vue{
isSwitchActive(){
return this.$store.state.paddle.isNavOpen;
}
togglePaddle() {
paddleActions.Toggle(this.$store);
}
}
@@ -0,0 +1,15 @@
<template>
<div :class="{ 'active' : isSwitchActive() }" @click="togglePaddle()">
<slot>
<button title="Menu">
<div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</button>
</slot>
</div>
</template>
<script lang="ts" src="./switch-button.ts"/>
@@ -7,11 +7,9 @@ import Slider from "@/app_modules_thermo/components/slider.vue";
export default class Scheda extends Vue{
@Prop({default:0})
portata:number;
portata:Recipe.IValue;
@Prop({default:0})
durata:number;
mock_portata:number=this.portata;
mock_durata:number=this.durata;
durata:Recipe.IValue;
}
@@ -3,14 +3,14 @@
<div class="body">
<div class="input-area">
<label>Portata</label>
<input class="rect" v-model="mock_portata">
<input class="rect" v-model="portata.valueAct">
</div>
<slider :min="0" :max="10" v-model="mock_portata"></slider>
<slider :min="portata.range.min" :max="portata.range.max" v-model="portata.valueAct"></slider>
<div class="input-area">
<label class="Ritardo">Durata</label>
<input class="rect" v-model="mock_durata">
<input class="rect" v-model="durata.valueAct">
</div>
<slider :min="0" :max="10" v-model="mock_durata"></slider>
<slider :min="durata.range.min" :max="durata.range.max" v-model="durata.valueAct"></slider>
</div>
</div>
</template>
@@ -7,29 +7,165 @@ import ToggleButton from "@/components/toggleButton.vue";
@Component({ components: { ToggleButton, slider: Slider, svgcaricatore: SVGCaricatore, } })
export default class Caricatore extends Vue {
@Prop({ default: 0 })
ritardodiscesa: number;
@Prop({ default: 0 })
ritardosalita: number = 0;
@Prop({ default: 0 })
durata: number = 0;
@Prop({ default: 0 })
ritardoespulsore: number = 0;
@Prop({ default: 0 })
altezza: number = 0;
ritdsol = this.ritardodiscesa
ritssol = this.ritardosalita
dursep = this.durata
ritesp = this.ritardoespulsore
altbanc = this.altezza
abi: string = "ON";
retAbi() {
if (this.abi == "OFF") this.abi = "ON"
else this.abi = "OFF";
};
recipe:Recipe.IRecipe={
cycle_loader_enable: {
range: {
min: 6,
max: 127
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 48
},
cycle_loader_lifter_lowerposition_delay: {
range: {
min: 5,
max: 133
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 38
},
cycle_loader_lifter_upperposition_delay: {
range: {
min: 6,
max: 172
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 16
},
cycle_loader_split_sheet_time: {
range: {
min: 1,
max: 111
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 50
},
cycle_loader_ejector_position: {
range: {
min: 3,
max: 199
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 47
},
cycle_loader_pallet_height: {
range: {
min: 1,
max: 149
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 116
},
cycle_loader_center_x: {
range: {
min: 6,
max: 167
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 142
},
cycle_loader_center_y: {
range: {
min: 7,
max: 109
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 58
},
cycle_loader_checktichness_enabled: {
range: {
min: 1,
max: 197
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 113
},
cycle_loader_suckers_vacuum: {
range: {
min: 9,
max: 105
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 20
},
cycle_loader_ionizer_enabled: {
range: {
min: 3,
max: 152
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 70
},
cycle_loader_manualunloading_enabled: {
range: {
min: 2,
max: 126
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 96
}
}
}
@@ -3,34 +3,59 @@
<aside class="scrollable">
<div class="input-area">
<label>Abilitazione</label>
<toggle-button></toggle-button>
<toggle-button v-model="recipe.cycle_loader_enable.status.enabled"></toggle-button>
</div>
<hr />
<div class="input-area">
<label>Ritardo discesa sollevatore</label>
<input class="rect" v-model="ritdsol">
<input class="rect" v-model="recipe.cycle_loader_lifter_lowerposition_delay.valueAct">
</div>
<slider :min="0" :max="10" v-model="ritdsol" :unit-of-measure="'s'"></slider>
<slider
:min="recipe.cycle_loader_lifter_lowerposition_delay.range.min"
:max="recipe.cycle_loader_lifter_lowerposition_delay.range.max"
v-model="recipe.cycle_loader_lifter_lowerposition_delay.valueAct"
:unit-of-measure="'s'">
</slider>
<div class="input-area">
<label>Ritardo salita sollevatore</label>
<input class="rect" v-model="ritssol">
<input class="rect" v-model="recipe.cycle_loader_lifter_upperposition_delay.valueAct">
</div>
<slider :min="0" :max="10" v-model="ritssol" :unit-of-measure="'s'"></slider>
<slider
:min="recipe.cycle_loader_lifter_upperposition_delay.range.min"
:max="recipe.cycle_loader_lifter_upperposition_delay.range.max"
v-model="recipe.cycle_loader_lifter_upperposition_delay.valueAct"
:unit-of-measure="'s'">
</slider>
<div class="input-area">
<label>Durata separazione lastra</label>
<input class="rect" v-model="dursep">
<input class="rect" v-model="recipe.cycle_loader_split_sheet_time.valueAct">
</div>
<slider :min="0" :max="10" v-model="dursep" :unit-of-measure="'s'"></slider>
<slider
:min="recipe.cycle_loader_split_sheet_time.range.min"
:max="recipe.cycle_loader_split_sheet_time.range.max"
v-model="recipe.cycle_loader_split_sheet_time.valueAct"
:unit-of-measure="'s'">
</slider>
<div class="input-area">
<label>Ritardo espulsore</label>
<input class="rect" v-model="ritesp">
<input class="rect" v-model="recipe.cycle_loader_ejector_position.valueAct">
</div>
<slider :min="0" :max="10" v-model="ritesp" :unit-of-measure="'s'"></slider>
<slider
:min="recipe.cycle_loader_ejector_position.range.min"
:max="recipe.cycle_loader_ejector_position.range.max"
v-model="recipe.cycle_loader_ejector_position.valueAct"
:unit-of-measure="'s'">
</slider>
<div class="input-area">
<label>Altezza bancale</label>
<input class="rect" v-model="altbanc">
<input class="rect" v-model="recipe.cycle_loader_pallet_height.valueAct">
</div>
<slider :min="0" :max="300" v-model="altbanc" :unit-of-measure="'mm'"></slider>
<slider
:min="recipe.cycle_loader_pallet_height.range.min"
:max="recipe.cycle_loader_pallet_height.range.max"
v-model="recipe.cycle_loader_pallet_height.valueAct"
:unit-of-measure="'mm'">
</slider>
</aside>
<hr>
<div class="specific">
@@ -14,10 +14,60 @@ import ToggleButton from "@/components/toggleButton.vue";
}
})
export default class CicloFormatura extends Vue {
recipe:Recipe.IRecipe={
cycle_forming_type: {
range: {
min: 7,
max: 179
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 160
},
cycle_forming_pause_cycle:{
range: {
min: 1,
max: 127
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 9
},
cycle_forming_cooling_enabled: {
range: {
min: 3,
max: 132
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 36
},
cycle_forming_blowingbox_enabled: {
range: {
min: 0,
max: 130
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 89
},
pausa: boolean = false;
raffr: boolean = false;
vent: boolean = false;
}
}
@@ -9,15 +9,15 @@
</div>
<div class="input-area">
<label>Pausa ciclo</label>
<toggle-button v-model="pausa"></toggle-button>
<toggle-button v-model="recipe.cycle_forming_pause_cycle.status.enabled"></toggle-button>
</div>
<div class="input-area">
<label>Raffreddamento fine ciclo</label>
<toggle-button v-model="raffr"></toggle-button>
<toggle-button v-model="recipe.cycle_forming_cooling_enabled.status.enabled"></toggle-button>
</div>
<div class="input-area">
<label>Ventilazione cassone fine ciclo</label>
<toggle-button v-model="vent"></toggle-button>
<toggle-button v-model="recipe.cycle_forming_blowingbox_enabled.status.enabled"></toggle-button>
</div>
</aside>
<hr>
@@ -6,12 +6,35 @@ import ToggleButton from "@/components/toggleButton.vue";
@Component({ components: { slider: Slider, ToggleButton } })
export default class MascheraAcrilico extends Vue {
recipe:Recipe.IRecipe={
cycle_acrylicframe_time: {
range: {
min: 6,
max: 190
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 23
},
cycle_acrylicframe_enabled: {
range: {
min: 9,
max: 133
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 113
}
enabling:boolean=true;
}
@Prop({ default: 0 })
durata: number;
mock_durata:number=this.durata;
}
@@ -6,13 +6,17 @@
<div class="body">
<div class="input-area">
<label>Abilitazione</label>
<toggle-button v-model="enabling"></toggle-button>
<toggle-button v-model="recipe.cycle_acrylicframe_enabled.status.enabled"></toggle-button>
</div>
<div class="input-area">
<label>Durata</label>
<input class="rect" v-model="mock_durata">
<input class="rect" v-model="recipe.cycle_acrylicframe_time.valueAct">
</div>
<slider :min="0" :max="10" v-model="mock_durata"></slider>
<slider
:min="recipe.cycle_acrylicframe_time.range.min"
:max="recipe.cycle_acrylicframe_time.range.max"
v-model="recipe.cycle_acrylicframe_time.valueAct">
</slider>
</div>
</div>
</template>
@@ -6,12 +6,48 @@ import ToggleButton from "@/components/toggleButton.vue";
@Component({ components: { slider: Slider, ToggleButton } })
export default class MascheraCristallizzazione extends Vue {
recipe:Recipe.IRecipe={
enabling:boolean=true;
cycle_crystallisation_type: {
range: {
min: 1,
max: 100
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 94
},
cycle_crystallisation_enabled: {
range: {
min: 1,
max: 100
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 94
},
cycle_crystallisation_time: {
range: {
min: 0,
max: 198
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 121
},
@Prop({ default: 0 })
durata: number;
mock_durata:number=this.durata;
}
}
@@ -6,13 +6,17 @@
<div class="body">
<div class="input-area">
<label>Abilitazione</label>
<toggle-button v-model="enabling"></toggle-button>
<toggle-button v-model="recipe.cycle_crystallisation_enabled.status.enabled"></toggle-button>
</div>
<div class="input-area">
<label>Durata</label>
<input class="rect" v-model="mock_durata">
<input class="rect" v-model="recipe.cycle_crystallisation_time.valueAct">
</div>
<slider :min="0" :max="10" v-model="mock_durata"></slider>
<slider
:min="recipe.cycle_crystallisation_time.range.min"
:max="recipe.cycle_crystallisation_time.range.max"
v-model="recipe.cycle_crystallisation_time.valueAct">
</slider>
</div>
</div>
</template>
@@ -5,11 +5,34 @@ import Slider from "@/app_modules_thermo/components/slider.vue";
@Component({ components: { slider: Slider } })
export default class MascheraRiscaldo extends Vue {
@Prop({ default: 0 })
durata: number;
mock_durata:number=this.durata;
recipe:Recipe.IRecipe={
cycle_upperoverheating_enabled:{
range: {
min: 1,
max: 173
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 160
},
cycle_upperoverheating_time: {
range: {
min: 2,
max: 164
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 151
}
}
}
@@ -6,9 +6,13 @@
<div class="body">
<div class="input-area">
<label>Durata</label>
<input class="rect" v-model="mock_durata">
<input class="rect" v-model="recipe.cycle_upperoverheating_time.valueAct">
</div>
<slider :min="0" :max="10" v-model="mock_durata"></slider>
<slider
:min="recipe.cycle_upperoverheating_time.range.min"
:max="recipe.cycle_upperoverheating_time.range.max"
v-model="recipe.cycle_upperoverheating_time.valueAct">
</slider>
</div>
</div>
</template>
@@ -9,15 +9,15 @@ import Caricatore from "./base-components/caricatore.vue";
@Component({ components: { modal: Modal, stepfooter: StepFooter, caricatore: Caricatore, cicloformatura: CicloFormatura } })
export default class ShowCicloInfo extends Vue {
show: string = "caricatore";
annulla() {
ModalHelper.HideModal();
annulla(name:string) {
messageService.publishToChannel(name);
};
conferma() {
ModalHelper.HideModal();
conferma(name:string) {
messageService.publishToChannel(name);
};
async beforeMount() {
@@ -13,8 +13,8 @@
<caricatore v-if="show=='caricatore'"></caricatore>
<cicloformatura v-if="show=='formatura'"></cicloformatura>
<footer>
<button class="btn" @click="annulla()">Annulla</button>
<button class="btn btn-success" @click="conferma()">Conferma</button>
<button class="btn" @click="annulla('show-quote-velocita-info')">Annulla</button>
<button class="btn btn-success" @click="conferma('show-riscaldi-info')">Conferma</button>
</footer>
</modal>
<stepfooter></stepfooter>
@@ -20,63 +20,63 @@
@click="sendMessage('show-ciclo-info')"
:phase="3"
title="Ciclo"
statusImage="fa fa-minus-circle"
statusImage="fa fa-check-circle undone-step"
></setup-button>
<setup-button
@click="sendMessage('show-riscaldi-info')"
:phase="4"
title="Riscaldi"
statusImage="fa fa-minus-circle"
statusImage="fa fa-check-circle undone-step"
></setup-button>
<setup-button
@click="sendMessage('show-pirometro-info')"
:phase="5"
title="Pirometro"
statusImage="fa fa-minus-circle"
statusImage="fa fa-check-circle undone-step"
></setup-button>
<setup-button
@click="sendMessage('show-imbutitura-info')"
:phase="6"
title="Imbutitura"
statusImage="fa fa-minus-circle"
statusImage="fa fa-check-circle undone-step"
></setup-button>
<setup-button
@click="sendMessage('show-controstampo-info')"
:phase="7"
title="Controstampo"
statusImage="fa fa-minus-circle"
statusImage="fa fa-check-circle undone-step"
></setup-button>
<setup-button
@click="sendMessage('show-raffreddamento-info')"
:phase="8"
title="Raffreddamento"
statusImage="fa fa-minus-circle"
statusImage="fa fa-check-circle undone-step"
></setup-button>
<setup-button
@click="sendMessage('show-vuoto-info')"
:phase="9"
title="Vuoto"
statusImage="fa fa-minus-circle"
statusImage="fa fa-check-circle undone-step"
></setup-button>
<setup-button
@click="sendMessage('show-estrazione-info')"
:phase="10"
title="Estrazione"
statusImage="fa fa-minus-circle"
statusImage="fa fa-check-circle undone-step"
></setup-button>
<setup-button
@click="sendMessage('show-opzioni-info')"
:phase="11"
title="Opzioni di lavorazione"
statusImage="fa fa-minus-circle"
statusImage="fa fa-check-circle undone-step"
></setup-button>
<div class="setup-play">
@@ -7,14 +7,137 @@ import Scheda from "@/app_modules_thermo/components/scheda.vue";
@Component({name:"ariacontrostampo", components: { scheda:Scheda,slider:Slider}})
export default class AriaControstampo extends Vue {
@Prop({default:0})
ritardo:number;
mockR:number=this.ritardo;
@Prop({default:0})
durata:number;
mockD:number=this.durata;
recipe:Recipe.IRecipe={
upperplate_air_enable: {
range: {
min: 8,
max: 181
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 72
},
upperplate_air_delay: {
range: {
min: 7,
max: 152
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 70
},
upperplate_air_max_time: {
range: {
min: 9,
max: 192
},
status: {
visible: true,
enabled: true,
hasError: true
},
unitMeasure: "",
valueAct: 195
},
upperplate_air_1_chart_setpointx: {
range: {
min: 0,
max: 141
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 108
},
upperplate_air_1_chart_setpointy: {
range: {
min: 4,
max: 127
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 104
},
upperplate_air_2_chart_setpointx: {
range: {
min: 2,
max: 167
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 86
},
upperplate_air_2_chart_setpointy: {
range: {
min: 9,
max: 109
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 22
},
upperplate_air_3_chart_setpointx: {
range: {
min: 8,
max: 165
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 87
},
upperplate_air_3_chart_setpointy: {
range: {
min: 3,
max: 190
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 60
},
upperplate_air_manual: {
range: {
min: 3,
max: 191
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 28
},
}
}
@@ -4,22 +4,41 @@
<div class="input-area">
<img src="assets/icons/png/clessidra.png">
<label>Ritardo</label>
<input class="rect" v-model="mockR">
<input class="rect" v-model="recipe.upperplate_air_delay.valueAct">
</div>
<slider :min="0" :max="10" v-model="mockR" :unit-of-measure="'s'"></slider>
<slider
:min="recipe.upperplate_air_delay.range.min"
:max="recipe.upperplate_air_delay.range.max"
v-model="recipe.upperplate_air_delay.valueAct"
:unit-of-measure="'s'">
</slider>
</aside>
<hr>
<div class="specific">
<scheda></scheda>
<scheda></scheda>
<scheda></scheda>
<scheda
:portata="recipe.upperplate_air_1_chart_setpointx"
:durata="recipe.upperplate_air_1_chart_setpointy"
></scheda>
<scheda
:portata="recipe.upperplate_air_2_chart_setpointx"
:durata="recipe.upperplate_air_2_chart_setpointy"
></scheda>
<scheda
:portata="recipe.upperplate_air_3_chart_setpointx"
:durata="recipe.upperplate_air_3_chart_setpointy"
></scheda>
</div>
<div class="specific">
<div class="input-area">
<label>Durata massima</label>
<input class="rect" v-model="mockD">
<input class="rect" v-model="recipe.upperplate_air_max_time.valueAct">
</div>
<slider :min="0" :max="4" v-model="mockD" :unit-of-measure="'s'"></slider>
<slider
:min="recipe.upperplate_air_max_time.range.min"
:max="recipe.upperplate_air_max_time.range.max"
v-model="recipe.upperplate_air_max_time.valueAct"
:unit-of-measure="'s'">
</slider>
</div>
</section>
</template>
@@ -13,14 +13,49 @@ import ToggleButton from "@/components/toggleButton.vue";
})
export default class CicloControstampo extends Vue {
@Prop({default:0})
durata:number;
@Prop({default:0})
ritardo:number;
recipe:Recipe.IRecipe={
upperplate_cycle_type: {
range: {
min: 6,
max: 114
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 29
},
upperplate_cycle_delay: {
range: {
min: 9,
max: 129
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 11
},
upperplate_cycle_time: {
range: {
min: 5,
max: 157
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 107
},
}
abilit:boolean=false;
mockD:number=this.durata;
mockR:number=this.ritardo;
}
@@ -14,14 +14,24 @@
<div class="input-area">
<img src="assets/icons/png/clessidra.png">
<label>Ritardo</label>
<input class="rect" v-model="mockR">
<input class="rect" v-model="recipe.upperplate_cycle_delay.valueAct">
</div>
<slider :min="0" :max="10" v-model="mockR" :unit-of-measure="'s'"></slider>
<slider
:min="recipe.upperplate_cycle_delay.range.min"
:max="recipe.upperplate_cycle_delay.range.max"
v-model="recipe.upperplate_cycle_delay.valueAct"
:unit-of-measure="'s'">
</slider>
<div class="input-area">
<label>Durata</label>
<input class="rect" v-model="mockD">
<input class="rect" v-model="recipe.upperplate_cycle_time.valueAct">
</div>
<slider :min="0" :max="20" v-model="mockD" :unit-of-measure="'s'"></slider>
<slider
:min="recipe.upperplate_cycle_time.range.min"
:max="recipe.upperplate_cycle_time.range.max"
v-model="recipe.upperplate_cycle_time.valueAct"
:unit-of-measure="'s'">
</slider>
</div>
</section>
</template>
@@ -12,12 +12,12 @@ export default class ShowControstampoInfo extends Vue {
show: string = "CC";
annulla(){
ModalHelper.HideModal();
annulla(name:string){
messageService.publishToChannel(name);
};
conferma(){
ModalHelper.HideModal();
conferma(name:string){
messageService.publishToChannel(name);
};
async beforeMount() {
@@ -15,8 +15,8 @@
<ciclocontrostampo v-if="show=='CC'"></ciclocontrostampo>
<ariacontrostampo v-if="show=='AC'"></ariacontrostampo>
<footer>
<button class="btn" @click="annulla()">Annulla</button>
<button class="btn btn-success" @click="conferma()">Conferma</button>
<button class="btn" @click="annulla('show-imbutitura-info')">Annulla</button>
<button class="btn btn-success" @click="conferma('show-raffreddamento-info')">Conferma</button>
</footer>
</modal>
<stepfooter></stepfooter>
@@ -11,9 +11,48 @@ slider:Slider}})
export default class EstrazionePrincipale extends Vue{
@Prop({default:0})
ritardo:number;
recipe:Recipe.IRecipe={
extraction_main_delay:{
range:{
min:5,
max:155
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:15
},
extraction_main_1_chart_setpointx:{
range:{
min:0,
max:154
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:128
},
extraction_main_1_chart_setpointy:{
range:{
min:6,
max:106
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:49
}
};
mockR:number=this.ritardo;
}
@@ -4,9 +4,14 @@
<div class="input-area">
<img src="assets/icons/png/clessidra.png">
<label>Ritardo</label>
<input class="rect" v-model="mockR">
<input class="rect" v-model="recipe.extraction_main_delay.valueAct">
</div>
<slider :min="0" :max="10" v-model="mockR" :unit-of-measure="'s'"></slider>
<slider
:min="recipe.extraction_main_delay.range.min"
:max="recipe.extraction_main_delay.range.max"
v-model="recipe.extraction_main_delay.valueAct"
:unit-of-measure="recipe.extraction_main_delay.unitMeasure">
</slider>
<div class="input-area">
<label>Tipo</label>
<select>
@@ -18,7 +23,10 @@
</aside>
<hr>
<div class="specific">
<scheda></scheda>
<scheda
:portata="recipe.extraction_main_1_chart_setpointx"
:durata="recipe.extraction_main_1_chart_setpointy"
></scheda>
</div>
</section>
</template>
@@ -18,10 +18,12 @@ export default class ShowEstrazioneInfo extends Vue{
annulla(){
ModalHelper.HideModal();
messageService.publishToChannel('show-vuoto-info');
};
conferma(){
ModalHelper.HideModal();
messageService.publishToChannel('show-opzioni-info');
};
async beforeMount() {
@@ -5,5 +5,5 @@ import {Prop} from 'vue-property-decorator';
@Component({})
export default class ControstampoSVG extends Vue{
@Prop({default:0})
alt:number;
alt:Recipe.IValue;
}
@@ -4,7 +4,7 @@
<div class="input-circles border-controstampo">
<div class="circle circle1">
<img src="assets/icons/png/quota.png">
<input v-model="alt">
<input v-model="alt.valueAct">
<label>mm</label>
</div>
</div>
@@ -5,7 +5,7 @@ import {Prop} from 'vue-property-decorator';
@Component({})
export default class CorniceSVG extends Vue{
@Prop({default:0})
x:number;
x:Recipe.IValue;
@Prop({default:0})
y:number;
y:Recipe.IValue;
}
@@ -4,12 +4,12 @@
<div class="input-circles border-cornice">
<div class="circle circle1">
<img src="assets/icons/png/quota.png">
<input v-model="y">
<input v-model="y.valueAct">
<label>mm</label>
</div>
<div class="circle circle2">
<img src="assets/icons/png/quota.png">
<input v-model="x">
<input v-model="x.valueAct">
<label>mm</label>
</div>
</div>
@@ -5,10 +5,10 @@ import {Prop} from 'vue-property-decorator';
@Component({})
export default class LastraSVG extends Vue{
@Prop({default:0})
x:number;
x:Recipe.IValue;
@Prop({default:0})
y:number;
y:Recipe.IValue;
@Prop({default:0})
spes:number;
spes:Recipe.IValue;
}
@@ -4,17 +4,17 @@
<div class="input-circles border-lastra">
<div class="circle circle1">
<img src="assets/icons/png/quota.png">
<input v-model="spes">
<input v-model="spes.valueAct">
<label>mm</label>
</div>
<div class="circle circle2">
<img src="assets/icons/png/quota.png">
<input v-model="x">
<input v-model="x.valueAct">
<label>mm</label>
</div>
<div class="circle circle3">
<img src="assets/icons/png/quota.png">
<input v-model="y">
<input v-model="y.valueAct">
<label>mm</label>
</div>
</div>
@@ -5,7 +5,7 @@ import {Prop} from 'vue-property-decorator';
@Component({})
export default class PiastraSVG extends Vue{
@Prop({default:0})
x:number;
x:Recipe.IValue;
@Prop({default:0})
y:number;
y:Recipe.IValue;
}
@@ -4,12 +4,12 @@
<div class="input-circles border-piastra">
<div class="circle circle1">
<img src="assets/icons/png/quota.png">
<input v-model="y">
<input v-model="y.valueAct">
<label>mm</label>
</div>
<div class="circle circle2">
<img src="assets/icons/png/quota.png">
<input v-model="x">
<input v-model="x.valueAct">
<label>mm</label>
</div>
</div>
@@ -5,13 +5,13 @@ import {Prop} from 'vue-property-decorator';
@Component({})
export default class StampoSVG extends Vue{
@Prop({default:0})
x:number;
x:Recipe.IValue;
@Prop({default:0})
y:number;
y:Recipe.IValue;
@Prop({default:0})
alt:number;
@Prop({default:0})
altB:number;
altB:Recipe.IValue;
@Prop({default:0})
stampoNeg:number;
}
@@ -9,17 +9,17 @@
</div>
<div class="circle circle2">
<img src="assets/icons/png/quota.png">
<input v-model="altB">
<input v-model="altB.valueAct">
<label>mm</label>
</div>
<div class="circle circle3">
<img src="assets/icons/png/quota.png">
<input v-model="x">
<input v-model="x.valueAct">
<label>mm</label>
</div>
<div class="circle circle4">
<img src="assets/icons/png/quota.png">
<input v-model="y">
<input v-model="y.valueAct">
<label>mm</label>
</div>
<div class="circle circle5">
@@ -7,8 +7,7 @@ import Slider from "@/app_modules_thermo/components/slider.vue"
export default class Controstampo extends Vue {
@Prop({default:0})
alt:number;
mock_alt:number=this.alt;
alt:Recipe.IValue;
}
@@ -6,9 +6,13 @@
<div class="body">
<div class="input-area">
<label>Altezza</label>
<input class="rect" v-model="mock_alt">
<input class="rect" v-model="alt.valueAct">
</div>
<slider :min="0" :max="1000" v-model="mock_alt" :unit-of-measure="'mm'"></slider>
<slider
:min="alt.range.min"
:max="alt.range.max"
v-model="alt.valueAct"
:unit-of-measure="'mm'"></slider>
</div>
</div>
</template>
@@ -7,13 +7,13 @@ import Slider from "@/app_modules_thermo/components/slider.vue"
export default class Cornice extends Vue {
@Prop({default:0})
x:number;
x:Recipe.IValue;
@Prop({default:0})
y:number;
y:Recipe.IValue;
@Prop({default:false})
notsel:boolean;
mock_x:number=this.x;
mock_y:number=this.y
}
@@ -13,15 +13,23 @@
<hr />
<div class="input-area">
<label>Apertura X</label>
<input class="rect" v-model="mock_x">
<input class="rect" v-model="x.valueAct">
</div>
<slider :min="0" :max="1000" v-model="mock_x" :unit-of-measure="'mm'"></slider>
<slider
:min="x.range.min"
:max="x.range.max"
v-model="x.valueAct"
:unit-of-measure="'mm'"></slider>
<button class="submit">Muovi</button>
<div class="input-area">
<label>Apertura Y</label>
<input class="rect" v-model="mock_y">
<input class="rect" v-model="y.valueAct">
</div>
<slider :min="0" :max="1000" v-model="mock_y" :unit-of-measure="'mm'"></slider>
<slider
:min="y.range.min"
:max="y.range.max"
v-model="y.valueAct"
:unit-of-measure="'mm'"></slider>
<button class="submit">Muovi</button>
</div>
</div>
@@ -7,14 +7,13 @@ import Slider from "@/app_modules_thermo/components/slider.vue"
export default class Lastra extends Vue {
@Prop({default:0})
x:number;
x:Recipe.IValue;
@Prop({default:0})
y:number;
y:Recipe.IValue;
@Prop({default:0})
spes:number;
spes:Recipe.IValue;
mock_x:number=this.x;
mock_y:number=this.y;
mock_spes:number=this.spes;
}
@@ -13,19 +13,31 @@
<hr />
<div class="input-area">
<label>Dimensione X</label>
<input class="rect" v-model="mock_x">
<input class="rect" v-model="x.valueAct">
</div>
<slider :min="0" :max="1000" v-model="mock_x" :unit-of-measure="'mm'"></slider>
<slider
:min="x.range.min"
:max="x.range.max"
v-model="x.valueAct"
:unit-of-measure="'mm'"></slider>
<div class="input-area">
<label>Dimensione Y</label>
<input class="rect" v-model="mock_y">
<input class="rect" v-model="y.valueAct">
</div>
<slider :min="0" :max="1000" v-model="mock_y" :unit-of-measure="'mm'"></slider>
<slider
:min="y.range.min"
:max="y.range.max"
v-model="y.valueAct"
:unit-of-measure="'mm'"></slider>
<div class="input-area">
<label>Spessore</label>
<input class="rect" v-model="mock_spes">
<input class="rect" v-model="spes.valueAct">
</div>
<slider :min="0" :max="40" v-model="mock_spes" :unit-of-measure="'mm'"></slider>
<slider
:min="spes.range.min"
:max="spes.range.max"
v-model="spes.vaueAct"
:unit-of-measure="'mm'"></slider>
</div>
</div>
</template>
@@ -7,13 +7,12 @@ import Slider from "@/app_modules_thermo/components/slider.vue"
export default class Piastra extends Vue {
@Prop({default:0})
x:number;
x:Recipe.IValue;
@Prop({default:0})
y:number;
y:Recipe.IValue;
@Prop({default:true})
notsel:boolean;
mock_x:number=this.x;
mock_y:number=this.y;
}
@@ -13,15 +13,23 @@
<hr />
<div class="input-area">
<label>Apertura X</label>
<input class="rect" v-model="mock_x">
<input class="rect" v-model="x.valueAct">
</div>
<slider :min="0" :max="1000" v-model="mock_x" :unit-of-measure="'mm'"></slider>
<slider
:min="x.range.min"
:max="x.range.max"
v-model="x.valueAct"
:unit-of-measure="'mm'"></slider>
<button class="submit" :class="{'NotSelected':notsel}">Muovi</button>
<div class="input-area">
<label>Apertura Y</label>
<input class="rect" v-model="mock_y">
<input class="rect" v-model="y.valueAct">
</div>
<slider :min="0" :max="1000" v-model="mock_y" :unit-of-measure="'mm'"></slider>
<slider
:min="y.range.min"
:max="y.range.max"
v-model="y.valueAct"
:unit-of-measure="'mm'"></slider>
<button class="submit" :class="{'NotSelected':notsel}">Muovi</button>
</div>
</div>
@@ -35,32 +35,243 @@ import StepFooter from "@/app_modules_thermo/setup/components/step-footer.vue"
})
export default class ShowFormatoInfo extends Vue {
recipe:Recipe.IRecipe={
general_area_working_dxsx: {
range: {
min: 8,
max: 197
},
status: {
visible: true,
enabled: true,
hasError: true
},
unitMeasure: "",
valueAct: 199
},
general_sizes_mould_dim_x: {
range: {
min: 3,
max: 106
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 41
},
general_sizes_mould_dim_y: {
range: {
min: 1,
max: 174
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 40
},
general_sizes_mould_max_height: {
range: {
min: 2,
max: 116
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 37
},
general_sizes_mould_base_height: {
range: {
min: 1,
max: 178
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 63
},
general_sizes_plate_type: {
range: {
min: 0,
max: 140
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 39
},
general_sizes_plate_dim_x: {
range: {
min: 6,
max: 154
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 78
},
general_sizes_plate_dim_y: {
range: {
min: 6,
max: 142
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 81
},
general_sizes_sheet_material: {
range: {
min: 3,
max: 144
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 86
},
general_sizes_sheet_dim_x: {
range: {
min: 1,
max: 168
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 90
},
general_sizes_sheet_dim_y: {
range: {
min: 2,
max: 158
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 26
},
general_sizes_sheet_thickness: {
range: {
min: 9,
max: 109
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 45
},
general_sizes_frame_traverses: {
range: {
min: 3,
max: 116
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 72
},
general_sizes_frame_dim_x: {
range: {
min: 0,
max: 129
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 7
},
general_sizes_frame_dim_y: {
range: {
min: 4,
max: 125
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 107
},
positions_mould_lower_speed: {
range: {
min: 5,
max: 140
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 28
},
general_sizes_upperplate_max_height: {
range: {
min: 2,
max: 149
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 106
}
}
show:string="placeholder";
StX:number=100;
StY:number=10;
StAlt:number=70;
StAltB:number=600;
StStampoNeg:number=300;
LaX:number=1;
LaY:number=1;
LaSpes:number=1;
PiX:number=1;
PiY:number=1;
CoX:number=1;
CoY:number=1;
CsAlt:number=1;
@Prop({default:0})
stamponeg:number;
@Prop({default:0})
altezza:number;
annulla(){
ModalHelper.HideModal();
};
conferma(){
ModalHelper.HideModal();
conferma(name:string) {
messageService.publishToChannel(name);
};
async beforeMount() {
@@ -8,11 +8,30 @@
</div>
<section>
<aside class="scrollable">
<stampo :x="StX" :y="StY" :alt="StAlt" :alt-b="StAltB" :stampo-neg="StStampoNeg"></stampo>
<lastra></lastra>
<piastra></piastra>
<cornice></cornice>
<controstampo></controstampo>
<stampo
:x="recipe.general_sizes_mould_dim_x"
:y="recipe.general_sizes_mould_dim_y"
:alt="altezza"
:alt-b="recipe.general_sizes_mould_base_height"
:stampo-neg="stamponeg">
</stampo>
<lastra
:x="recipe.general_sizes_sheet_dim_x"
:y="recipe.general_sizes_sheet_dim_y"
:spes="recipe.general_sizes_sheet_thickness"
></lastra>
<piastra
:x="recipe.general_sizes_plate_dim_x"
:y="recipe.general_sizes_plate_dim_y"
></piastra>
<cornice
:x="recipe.general_sizes_frame_dim_x"
:y="recipe.general_sizes_frame_dim_y"
></cornice>
<controstampo
:alt="recipe.general_sizes_upperplate_max_height"
></controstampo>
<div class="radio-buttons">
<label>Zona di lavoro</label>
<label for="sx">Sx</label><br>
@@ -25,16 +44,28 @@
<div v-if="show=='placeholder'" class="svg-area"></div>
<stampoSVG
v-if="show=='stampo'"
:x="StX"
:y="StY"
:alt="StAlt"
:alt-b="StAltB"
:stampo-neg="StStampoNeg"
:x="recipe.general_sizes_mould_dim_x"
:y="recipe.general_sizes_mould_dim_y"
:alt="altezza"
:alt-b="recipe.general_sizes_mould_base_height"
:stampo-neg="stamponeg"
></stampoSVG>
<lastraSVG v-if="show=='lastra'" :x="LaX" :y="LaY" :spes="LaSpes"></lastraSVG>
<piastraSVG v-if="show=='piastra'" :x="PiX" :y="PiY"></piastraSVG>
<corniceSVG v-if="show=='cornice'" :x="CoX" :y="CoY"></corniceSVG>
<controstampoSVG v-if="show=='controstampo'" :alt="CsAlt"></controstampoSVG>
<lastraSVG v-if="show=='lastra'"
:x="recipe.general_sizes_sheet_dim_x"
:y="recipe.general_sizes_sheet_dim_y"
:spes="recipe.general_sizes_sheet_thickness"
></lastraSVG>
<piastraSVG v-if="show=='piastra'"
:x="recipe.general_sizes_plate_dim_x"
:y="recipe.general_sizes_plate_dim_y"
></piastraSVG>
<corniceSVG v-if="show=='cornice'"
:x="recipe.general_sizes_frame_dim_x"
:y="recipe.general_sizes_frame_dim_y"
></corniceSVG>
<controstampoSVG v-if="show=='controstampo'"
:alt="recipe.general_sizes_upperplate_max_height"
></controstampoSVG>
<div class="slides">
<img
@click="show='stampo'"
@@ -69,7 +100,7 @@
<button class="btn" @click="annulla()">
Annulla
</button>
<button class="btn btn-success" @click="conferma()">
<button class="btn btn-success" @click="conferma('show-quote-velocita-info')">
Conferma
</button>
</footer>
@@ -5,15 +5,15 @@ import { Prop } from 'vue-property-decorator';
@Component({name:"stampo" })
export default class Stampo extends Vue {
@Prop({})
x:number;
@Prop({})
y:number;
@Prop({})
@Prop({default:0})
x:Recipe.IValue;
@Prop({default:0})
y:Recipe.IValue;
@Prop({default:0})
alt:number;
@Prop({})
altB:number;
@Prop({})
@Prop({default:0})
altB:Recipe.IValue;
@Prop({default:0})
stampoNeg:number;
}
@@ -6,11 +6,11 @@
<div class="body">
<div class="input-area">
<label>Dimensione X</label>
<input class="rect" v-model="x">
<input class="rect" v-model="x.valueAct">
</div>
<div class="input-area">
<label>Dimensione Y</label>
<input class="rect" v-model="y">
<input class="rect" v-model="y.valueAct">
</div>
<div class="input-area">
<label>Altezza</label>
@@ -18,7 +18,7 @@
</div>
<div class="input-area">
<label>Altezza base</label>
<input class="rect" v-model="altB">
<input class="rect" v-model="altB.valueAct">
</div>
<div class="input-area">
<label>Stampo negativo</label>
@@ -17,28 +17,135 @@ import Scheda from "@/app_modules_thermo/components/scheda.vue";
})
export default class ShowImbutituraInfo extends Vue {
@Prop({default:0})
ritardo:number;
@Prop({default:0})
altBolla:number;
@Prop({default:0})
portMantenimento:number;
@Prop({default:0})
portManuale:number;
mock_ritardo:number=this.ritardo;
mock_altBolla:number=this.altBolla;
mock_portMantenimento:number=this.portMantenimento;
mock_portManuale:number=this.portManuale;
recipe:Recipe.IRecipe={
drawing_type: {
range: {
min: 2,
max: 155
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 139
},
drawing_height: {
range: {
min: 2,
max: 169
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 115
},
drawing_delay: {
range: {
min: 5,
max: 146
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 87
},
drawing_1_chart_setpointx: {
range: {
min: 8,
max: 145
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 48
},
drawing_1_chart_setpointy: {
range: {
min: 6,
max: 105
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 76
},
drawing_photocell: {
range: {
min: 8,
max: 185
},
status: {
visible: true,
enabled: true,
hasError: true
},
unitMeasure: "",
valueAct: 188
},
drawing_mantaining_flow: {
range: {
min: 2,
max: 143
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 137
},
drawing_manual: {
range: {
min: 1,
max: 138
},
status: {
visible: true,
enabled: true,
hasError: true
},
unitMeasure: "",
valueAct: 141
},
drawing_mould_up_delay: {
range: {
min: 6,
max: 118
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 44
},
}
annulla(){
ModalHelper.HideModal();
};
conferma(){
ModalHelper.HideModal();
};
annulla(name:string){
messageService.publishToChannel(name);
};
conferma(name:string){
messageService.publishToChannel(name);
};
async beforeMount() {
// this.contactInfo = await awaiter(new machineService().getContactConfiguration());
@@ -11,9 +11,13 @@
<div class="input-area">
<img src="assets/icons/png/clessidra.png">
<label>Ritardo</label>
<input class="rect" v-model="mock_ritardo">
<input class="rect" v-model="recipe.drawing_delay.valueAct">
</div>
<slider :min="0" :max="10" v-model="mock_ritardo"></slider>
<slider
:min="recipe.drawing_delay.range.min"
:max="recipe.drawing_delay.range.max"
v-model="recipe.drawing_delay.valueAct">
</slider>
<hr />
<div class="input-area">
<label>Tipo</label>
@@ -31,30 +35,45 @@
</div>
<div class="input-area">
<label>Altezza bolla</label>
<input class="rect" v-model="mock_altBolla">
<input class="rect" v-model="recipe.drawing_height.valueAct">
</div>
<slider :min="0" :max="500" v-model="mock_altBolla"></slider>
<slider
:min="recipe.drawing_height.range.min"
:max="recipe.drawing_height.range.max"
v-model="recipe.drawing_height.valueAct">
</slider>
<div class="input-area">
<label>Portata mantenimento</label>
<input class="rect" v-model="mock_portMantenimento">
<input class="rect" v-model="recipe.drawing_mantaining_flow.valueAct">
</div>
<slider :min="0" :max="100" v-model="mock_portMantenimento"></slider>
<slider
:min="recipe.drawing_mantaining_flow.range.min"
:max="recipe.drawing_mantaining_flow.range.max"
v-model="recipe.drawing_mantaining_flow.valueAct">
</slider>
<div class="input-area">
<label>Portata manuale</label>
<input class="rect" v-model="mock_portManuale">
<input class="rect" v-model="recipe.drawing_manual.valueAct">
</div>
<slider :min="0" :max="100" v-model="mock_portManuale"></slider>
<slider
:min="recipe.drawing_manual.range.min"
:max="recipe.drawing_manual.range.max"
v-model="recipe.drawing_manual.valueAct">
</slider>
</aside>
<hr>
<div class="specific">
<scheda></scheda>
<scheda
:portata="recipe.drawing_1_chart_setpointx"
:durata="recipe.drawing_1_chart_setpointy"
></scheda>
</div>
</section>
<footer>
<button class="btn" @click="annulla()">
<button class="btn" @click="annulla('show-pirometro-info')">
<label>Annulla</label>
</button>
<button class="btn btn-success" @click="conferma()">
<button class="btn btn-success" @click="conferma('show-controstampo-info')">
<label>Conferma</label>
</button>
</footer>
@@ -7,14 +7,15 @@ import Slider from "@/app_modules_thermo/components/slider.vue";
export default class inputSottosquadra extends Vue{
@Prop({default:0})
quota:number;
@Prop({default:0})
ritardoAtt:number;
@Prop({default:0})
ritardoDisatt:number;
@Prop()
quota:Recipe.IValue;
@Prop()
ritardoAtt:Recipe.IValue;
@Prop()
ritardoDisatt:Recipe.IValue;
mockQuota:number=this.quota;
mockRitAtt:number=this.ritardoAtt;
mockRitDis:number=this.ritardoDisatt;
@Prop({default:""})
unitMeasure:string;
}
@@ -9,19 +9,34 @@
<div class="input-area">
<img src="assets/icons/png/quota.png">
<label>Quota</label>
<input class="rect" v-model="mockQuota">
<input class="rect" v-model="quota.valueAct">
</div>
<slider :min="0" :max="800" v-model="mockQuota" :unit-of-measure="'mm'"></slider>
<slider
:min="quota.range.min"
:max="quota.range.max"
v-model="quota.valueAct"
:unit-of-measure="quota.unitMeasure">
</slider>
<div class="input-area">
<label>Ritardo attivazione</label>
<input class="rect" v-model="mockRitAtt">
<input class="rect" v-model="ritardoAtt.valueAct">
</div>
<slider :min="0" :max="10" v-model="mockRitAtt" :unit-of-measure="'s'"></slider>
<slider
:min="ritardoAtt.range.min"
:max="ritardoAtt.range.max"
v-model="ritardoAtt.valueAct"
:unit-of-measure="ritardoAtt.unitMeasure">
</slider>
<div class="input-area">
<label>Ritardo disattivazione</label>
<input class="rect" v-model="mockRitDis">
<input class="rect" v-model="ritardoDisatt.valueAct">
</div>
<slider :min="0" :max="10" v-model="mockRitDis" :unit-of-measure="'s'"></slider>
<slider
:min="ritardoDisatt.range.min"
:max="ritardoDisatt.range.max"
v-model="ritardoDisatt.valueAct"
:unit-of-measure="ritardoDisatt.unitMeasure">
</slider>
</div>
</template>
<script src="./inputSottosquadra.ts" />
@@ -5,12 +5,13 @@ import Slider from "@/app_modules_thermo/components/slider.vue";
import ToggleButton from "@/components/toggleButton.vue";
@Component({name:"input-termo", components:{slider:Slider, ToggleButton}})
export default class inputTermo extends Vue{
@Prop({default:0})
setpoint:number;
abilit:boolean=false;
mockSet:number=this.setpoint;
@Prop({})
abilitazione:Recipe.IValue;
@Prop({})
setpoint:Recipe.IValue;
}
@@ -2,13 +2,18 @@
<div>
<div class="input-area">
<label>Abilitazione</label>
<toggle-button v-model="abilit"></toggle-button>
<toggle-button v-model="abilitazione.status.enabled" v-if="abilitazione.status.visible"></toggle-button>
</div>
<div class="input-area">
<label>Setpoint</label>
<input class="rect" v-model="mockSet">
<input class="rect" v-model="setpoint.valueAct">
</div>
<slider :min="0" :max="400" v-model="mockSet" :unit-of-measure="'°C'"></slider>
<slider
:min="setpoint.range.min"
:max="setpoint.range.max"
v-model="setpoint.valueAct"
:unit-of-measure="setpoint.unitMeasure">
</slider>
</div>
</template>
<script src="./inputTermo.ts" />
@@ -12,10 +12,12 @@ export default class setupSottosquadra extends Vue {
@Prop()
modalita: number;
@Prop()
quota: number;
quota: Recipe.IValue;
@Prop()
ritardoAtt: number;
ritardoAtt: Recipe.IValue;
@Prop()
ritardoDisatt: number;
ritardoDisatt: Recipe.IValue;
}
@@ -3,9 +3,9 @@
<label>{{numSottoSq}}</label>
<label>{{status}}</label>
<label>{{modalita}}</label>
<label>{{quota}} mm</label>
<label>{{ritardoAtt}} s</label>
<label>{{ritardoDisatt}} s</label>
<label>{{quota.valueAct}} mm</label>
<label>{{ritardoAtt.valueAct}} s</label>
<label>{{ritardoDisatt.valueAct}} s</label>
</div>
</template>
<script src="./setupSottosquadra.ts" lang="ts"></script>
@@ -5,12 +5,12 @@ import { Prop } from "vue-property-decorator";
@Component({})
export default class setupTermo extends Vue {
@Prop()
@Prop({default:""})
numTermo: string;
@Prop()
status: string;
status: Recipe.IValue;
@Prop()
setpoint: number;
setpoint: Recipe.IValue;
}
@@ -1,8 +1,8 @@
<template>
<div class="section">
<label>{{numTermo}}</label>
<label>{{status}}</label>
<label>{{setpoint}} °C</label>
<label>{{status.enabled}}</label>
<label>{{setpoint.valueAct}} °C</label>
</div>
</template>
<script src="./setupTermo.ts" lang="ts"></script>
@@ -10,5 +10,212 @@ import SetupSottosquadra from "./base-components/setupSottosquadra.vue";
inputSottosquadra: InputSottosquadra
}})
export default class SottosqaudraStampo extends Vue{
recipe:Recipe.IRecipe={
options_undercutupperplate_1_position:{
range:{
min:0,
max:194
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:81
},
options_undercutupperplate_1_delay_acti:{
range:{
min:5,
max:173
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:61
},
options_undercutupperplate_1_delay_dis:{
range:{
min:0,
max:172
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:156
},
options_undercutupperplate_2_position:{
range:{
min:7,
max:189
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:122
},
options_undercutupperplate_2_delay_acti:{
range:{
min:6,
max:125
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:87
},
options_undercutupperplate_2_delay_dis:{
range:{
min:3,
max:169
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:119
},
options_undercutupperplate_3_position:{
range:{
min:6,
max:133
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:12
},
options_undercutupperplate_3_delay_acti:{
range:{
min:9,
max:125
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:28
},
options_undercutupperplate_3_delay_dis:{
range:{
min:2,
max:106
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:98
},
options_undercutupperplate_4_position:{
range:{
min:3,
max:177
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:11
},
options_undercutupperplate_4_delay_acti:{
range:{
min:9,
max:147
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:103
},
options_undercutupperplate_4_delay_dis:{
range:{
min:5,
max:141
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:93
},
options_undercutupperplate_5_position:{
range:{
min:4,
max:134
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:28
},
options_undercutupperplate_5_delay_acti:{
range:{
min:8,
max:114
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:53
},
options_undercutupperplate_5_delay_dis:{
range:{
min:1,
max:120
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:12
},
};
showSottosquadra: string = "sottosquadra-1";
}
@@ -4,51 +4,51 @@
<button :class="{'active':showSottosquadra == 'sottosquadra-1'}" @click="showSottosquadra='sottosquadra-1'">
<setup-sottosquadra
:numSottoSq="1"
status="ON"
status="On"
modalita="Label modalità"
quota="230"
ritardoAtt="2"
ritardoDisatt="7"
:quota="recipe.options_undercutupperplate_1_position"
:ritardoAtt="recipe.options_undercutupperplate_1_delay_acti"
:ritardoDisatt="recipe.options_undercutupperplate_1_delay_dis"
></setup-sottosquadra>
</button>
<button :class="{'active':showSottosquadra == 'sottosquadra-2'}" @click="showSottosquadra='sottosquadra-2'" class="box-color">
<setup-sottosquadra
:numSottoSq="2"
status="ON"
status="On"
modalita="Label modalità"
quota="230"
ritardoAtt="2"
ritardoDisatt="7"
:quota="recipe.options_undercutupperplate_2_position"
:ritardoAtt="recipe.options_undercutupperplate_2_delay_acti"
:ritardoDisatt="recipe.options_undercutupperplate_2_delay_dis"
></setup-sottosquadra>
</button>
<button :class="{'active':showSottosquadra == 'sottosquadra-3'}" @click="showSottosquadra='sottosquadra-3'">
<setup-sottosquadra
:numSottoSq="3"
status="ON"
status="On"
modalita="Label modalità"
quota="230"
ritardoAtt="2"
ritardoDisatt="7"
:quota="recipe.options_undercutupperplate_3_position"
:ritardoAtt="recipe.options_undercutupperplate_3_delay_acti"
:ritardoDisatt="recipe.options_undercutupperplate_3_delay_dis"
></setup-sottosquadra>
</button>
<button :class="{'active':showSottosquadra == 'sottosquadra-4'}" @click="showSottosquadra='sottosquadra-4'" class="box-color">
<setup-sottosquadra
:numSottoSq="4"
status="ON"
status="Off"
modalita="Label modalità"
quota="230"
ritardoAtt="2"
ritardoDisatt="7"
:quota="recipe.options_undercutupperplate_4_position"
:ritardoAtt="recipe.options_undercutupperplate_4_delay_acti"
:ritardoDisatt="recipe.options_undercutupperplate_4_delay_dis"
></setup-sottosquadra>
</button>
<button :class="{'active':showSottosquadra == 'sottosquadra-5'}" @click="showSottosquadra='sottosquadra-5'">
<setup-sottosquadra
:numSottoSq="5"
status="ON"
status="Off"
modalita="Label modalità"
quota="230"
ritardoAtt="2"
ritardoDisatt="7"
:quota="recipe.options_undercutupperplate_5_position"
:ritardoAtt="recipe.options_undercutupperplate_5_delay_acti"
:ritardoDisatt="recipe.options_undercutupperplate_5_delay_dis"
></setup-sottosquadra>
</button>
</div>
@@ -57,19 +57,44 @@
<div class="specific">
<div v-if="showSottosquadra=='sottosquadra-1'">
<input-sottosquadra />
<input-sottosquadra
:quota="recipe.options_undercutupperplate_1_position"
:ritardoAtt="recipe.options_undercutupperplate_1_delay_acti"
:ritardoDisatt="recipe.options_undercutupperplate_1_delay_dis"
>
</input-sottosquadra>
</div>
<div v-if="showSottosquadra=='sottosquadra-2'">
<input-sottosquadra />
<input-sottosquadra
:quota="recipe.options_undercutupperplate_2_position"
:ritardoAtt="recipe.options_undercutupperplate_2_delay_acti"
:ritardoDisatt="recipe.options_undercutupperplate_2_delay_dis"
>
</input-sottosquadra>
</div>
<div v-if="showSottosquadra=='sottosquadra-3'">
<input-sottosquadra />
<input-sottosquadra
:quota="recipe.options_undercutupperplate_3_position"
:ritardoAtt="recipe.options_undercutupperplate_3_delay_acti"
:ritardoDisatt="recipe.options_undercutupperplate_3_delay_dis"
>
</input-sottosquadra>
</div>
<div v-if="showSottosquadra=='sottosquadra-4'">
<input-sottosquadra />
<input-sottosquadra
:quota="recipe.options_undercutupperplate_4_position"
:ritardoAtt="recipe.options_undercutupperplate_4_delay_acti"
:ritardoDisatt="recipe.options_undercutupperplate_4_delay_dis"
>
</input-sottosquadra>
</div>
<div v-if="showSottosquadra=='sottosquadra-5'">
<input-sottosquadra />
<input-sottosquadra
:quota="recipe.options_undercutupperplate_5_position"
:ritardoAtt="recipe.options_undercutupperplate_5_delay_acti"
:ritardoDisatt="recipe.options_undercutupperplate_5_delay_dis"
>
</input-sottosquadra>
</div>
</div>
</section>
@@ -11,5 +11,282 @@ import InputTermo from "./base-components/inputTermo.vue";
}
})
export default class Termoragolatori extends Vue {
recipe:Recipe.IRecipe={
options_thermoregulator_1_enabled:{
range:{
min:5,
max:171
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:132
},
options_thermoregulator_1_setpoint:{
range:{
min:2,
max:130
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:7
},
options_thermoregulator_2_enabled:{
range:{
min:8,
max:107
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:53
},
options_thermoregulator_2_setpoint:{
range:{
min:6,
max:192
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:153
},
options_thermoregulator_3_enabled:{
range:{
min:7,
max:112
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:30
},
options_thermoregulator_3_setpoint:{
range:{
min:9,
max:184
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:116
},
options_thermoregulator_4_enabled:{
range:{
min:1,
max:166
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:148
},
options_thermoregulator_4_setpoint:{
range:{
min:8,
max:125
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:28
},
options_thermoregulator_5_enabled:{
range:{
min:3,
max:134
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:42
},
options_thermoregulator_5_setpoint:{
range:{
min:9,
max:146
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:119
},
options_thermoregulator_6_enabled:{
range:{
min:0,
max:178
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:130
},
options_thermoregulator_6_setpoint:{
range:{
min:6,
max:165
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:17
},
options_thermoregulator_7_enabled:{
range:{
min:3,
max:163
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:120
},
options_thermoregulator_7_setpoint:{
range:{
min:7,
max:136
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:12
},
options_thermoregulator_8_enabled:{
range:{
min:9,
max:158
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:101
},
options_thermoregulator_8_setpoint:{
range:{
min:9,
max:132
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:43
},
options_thermoregulator_9_enabled:{
range:{
min:6,
max:112
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:43
},
options_thermoregulator_9_setpoint:{
range:{
min:5,
max:191
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:144
},
options_thermoregulator_10_enabled:{
range:{
min:7,
max:147
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:8
},
options_thermoregulator_10_setpoint:{
range:{
min:2,
max:101
},
status:{
visible:true,
enabled:true,
hasError:false
},
unitMeasure:"",
valueAct:4
}
};
showTermo: string = "termo-1";
}
@@ -4,71 +4,71 @@
<button :class="{'active':showTermo == 'termo-1'}" @click="showTermo='termo-1'">
<setup-termo
:numTermo="1"
status="ON"
setpoint="280"
:status="recipe.options_thermoregulator_1_enabled.status"
:setpoint="recipe.options_thermoregulator_1_setpoint"
></setup-termo>
</button>
<button :class="{'active':showTermo == 'termo-2'}" @click="showTermo='termo-2'" class="box-color">
<setup-termo
:numTermo="2"
status="ON"
setpoint="280"
:status="recipe.options_thermoregulator_2_enabled.status"
:setpoint="recipe.options_thermoregulator_2_setpoint"
></setup-termo>
</button>
<button :class="{'active':showTermo == 'termo-3'}" @click="showTermo='termo-3'">
<setup-termo
:numTermo="3"
status="ON"
setpoint="280"
:status="recipe.options_thermoregulator_3_enabled.status"
:setpoint="recipe.options_thermoregulator_3_setpoint"
></setup-termo>
</button>
<button :class="{'active':showTermo == 'termo-4'}" @click="showTermo='termo-4'" class="box-color">
<setup-termo
:numTermo="4"
status="ON"
setpoint="280"
:status="recipe.options_thermoregulator_4_enabled.status"
:setpoint="recipe.options_thermoregulator_4_setpoint"
></setup-termo>
</button>
<button :class="{'active':showTermo == 'termo-5'}" @click="showTermo='termo-5'">
<setup-termo
:numTermo="5"
status="ON"
setpoint="280"
:status="recipe.options_thermoregulator_5_enabled.status"
:setpoint="recipe.options_thermoregulator_5_setpoint"
></setup-termo>
</button>
<button :class="{'active':showTermo == 'termo-6'}" @click="showTermo='termo-6'" class="box-color">
<setup-termo
:numTermo="6"
status="ON"
setpoint="280"
:status="recipe.options_thermoregulator_6_enabled.status"
:setpoint="recipe.options_thermoregulator_6_setpoint"
></setup-termo>
</button>
<button :class="{'active':showTermo == 'termo-7'}" @click="showTermo='termo-7'">
<setup-termo
:numTermo="7"
status="ON"
setpoint="280"
:status="recipe.options_thermoregulator_7_enabled.status"
:setpoint="recipe.options_thermoregulator_7_setpoint"
></setup-termo>
</button>
<button :class="{'active':showTermo == 'termo-8'}" @click="showTermo='termo-8'" class="box-color">
<setup-termo
:numTermo="8"
status="ON"
setpoint="280"
:status="recipe.options_thermoregulator_8_enabled.status"
:setpoint="recipe.options_thermoregulator_8_setpoint"
></setup-termo>
</button>
<button :class="{'active':showTermo == 'termo-9'}" @click="showTermo='termo-9'">
<setup-termo
:numTermo="9"
status="ON"
setpoint="280"
:status="recipe.options_thermoregulator_9_enabled.status"
:setpoint="recipe.options_thermoregulator_9_setpoint"
></setup-termo>
</button>
<button :class="{'active':showTermo == 'termo-10'}" @click="showTermo='termo-10'" class="box-color">
<setup-termo
:numTermo="10"
status="ON"
setpoint="280"
:status="recipe.options_thermoregulator_10_enabled.status"
:setpoint="recipe.options_thermoregulator_10_setpoint"
></setup-termo>
</button>
</div>
@@ -77,34 +77,73 @@
<div class="specific">
<div v-if="showTermo=='termo-1'">
<input-termo />
<input-termo
:setpoint="recipe.options_thermoregulator_1_setpoint"
:abilitazione="recipe.options_thermoregulator_1_enabled"
></input-termo>
</div>
<div v-if="showTermo=='termo-2'">
<input-termo />
<input-termo
:setpoint="recipe.options_thermoregulator_2_setpoint"
:abilitazione="recipe.options_thermoregulator_2_enabled"
>
</input-termo>
</div>
<div v-if="showTermo=='termo-3'">
<input-termo />
<input-termo
:setpoint="recipe.options_thermoregulator_3_setpoint"
:abilitazione="recipe.options_thermoregulator_3_enabled"
>
</input-termo>
</div>
<div v-if="showTermo=='termo-4'">
<input-termo />
<input-termo
:setpoint="recipe.options_thermoregulator_4_setpoint"
:abilitazione="recipe.options_thermoregulator_4_enabled"
>
</input-termo>
</div>
<div v-if="showTermo=='termo-5'">
<input-termo />
<input-termo
:setpoint="recipe.options_thermoregulator_5_setpoint"
:abilitazione="recipe.options_thermoregulator_5_enabled"
>
</input-termo>
</div>
<div v-if="showTermo=='termo-6'">
<input-termo />
<input-termo
:setpoint="recipe.options_thermoregulator_6_setpoint"
:abilitazione="recipe.options_thermoregulator_6_enabled"
>
</input-termo>
</div>
<div v-if="showTermo=='termo-7'">
<input-termo />
<input-termo
:setpoint="recipe.options_thermoregulator_7_setpoint"
:abilitazione="recipe.options_thermoregulator_7_enabled"
>
</input-termo>
</div>
<div v-if="showTermo=='termo-8'">
<input-termo />
<input-termo
:setpoint="recipe.options_thermoregulator_8_setpoint"
:abilitazione="recipe.options_thermoregulator_8_enabled"
>
</input-termo>
</div>
<div v-if="showTermo=='termo-9'">
<input-termo />
<input-termo
:setpoint="recipe.options_thermoregulator_9_setpoint"
:abilitazione="recipe.options_thermoregulator_9_enabled"
>
</input-termo>
</div>
<div v-if="showTermo=='termo-10'">
<input-termo />
<input-termo
:setpoint="recipe.options_thermoregulator_10_setpoint"
:abilitazione="recipe.options_thermoregulator_10_enabled"
>
</input-termo>
</div>
</div>
</section>
@@ -14,12 +14,13 @@ import Termoregolatori from "./components/termoregolatori.vue";
stepfooter: StepFooter
}
})
export default class ShowQuoteVelocitaInfo extends Vue {
export default class ShowOpzioniInfo extends Vue {
showOpzioni: string = "TR";
annulla() {
ModalHelper.HideModal();
messageService.publishToChannel('show-estrazione-info');
};
conferma() {
@@ -6,20 +6,14 @@ import {Prop} from 'vue-property-decorator';
export default class SVGTermoregolazioneSuperiore extends Vue{
@Prop({default:0})
max:number;
max:Recipe.IValue;
@Prop({default:0})
min:number;
min:Recipe.IValue;
@Prop({default:0})
inizio:number;
inizio:Recipe.IValue;
@Prop({default:0})
fine:number;
fine:Recipe.IValue;
@Prop({default:0})
perc_riposo:number;
mock_max:number=this.max
mock_min:number=this.min
mock_inizio:number=this.inizio
mock_fine:number=this.fine
mock_perc_riposo:number=this.perc_riposo
perc_riposo:Recipe.IValue;
}
@@ -3,25 +3,25 @@
<img class="disegnoTermoSuperiore" src="assets/icons/svg/disegno-termosuperiore.svg">
<div class="input-circles border-termo-superiore">
<div class="circle circle1">
<input v-model="mock_max">
<input v-model="max.valueAct">
<label>%</label>
</div>
<div class="circle circle2">
<input v-model="mock_min">
<input v-model="min.valueAct">
<label>%</label>
</div>
<div class="circle circle3">
<input v-model="mock_perc_riposo">
<input v-model="perc_riposo.valueAct">
<label>%</label>
</div>
<div class="circle circle4">
<img src="assets/icons/png/temperatura.png">
<input v-model="mock_inizio">
<input v-model="inizio.valueAct">
<label>°C</label>
</div>
<div class="circle circle5">
<img src="assets/icons/png/temperatura.png">
<input v-model="mock_fine">
<input v-model="fine.valueAct">
<label>°C</label>
</div>
<span class="circle6">270 °C</span>
@@ -3,18 +3,51 @@ import Component from 'vue-class-component';
import {Prop} from 'vue-property-decorator';
import Slider from "@/app_modules_thermo/components/slider.vue";
import ToggleButton from "@/components/toggleButton.vue";
// import Recipe from "@/@types/recipe-current";
@Component({name:"pirometro", components: { slider:Slider, ToggleButton}})
export default class Pirometro extends Vue{
@Prop({default:100})
temperatura:number;
@Prop({default:0})
ritardo:number;
mock_temperatura:number=this.temperatura;
mock_ritardo:number=this.ritardo;
enabling:boolean=true;
recipe:Recipe.IRecipe={
pyrometer_pyrometer_enabled:{
range:{
min:3,
max:103
},
status:{
enabled:true,
visible:true,
hasError:false
},
unitMeasure:"",
valueAct:79
},
pyrometer_pyrometer_delay:{
range:{
min:7,
max:152
},
status:{
enabled:true,
visible:true,
hasError:false
},
unitMeasure:"",
valueAct:86
},
pyrometer_pyrometer_setpoint:{
range:{
min:2,
max:159
},
status:{
enabled:true,
visible:true,
hasError:false
},
unitMeasure:"",
valueAct:3
}
};
}
@@ -3,20 +3,30 @@
<div class="specific">
<div class="input-area">
<label>Abilitazione</label>
<toggle-button v-model="enabling"></toggle-button>
<toggle-button v-model="recipe.pyrometer_pyrometer_enabled.status.enabled"></toggle-button>
</div>
<div class="input-area">
<div>
<img src="assets/icons/png/clessidra.png"><label>Ritardo</label>
</div>
<input class="rect" v-model="mock_ritardo">
<input class="rect" v-model="recipe.pyrometer_pyrometer_delay.valueAct">
</div>
<slider :min="0" :max="10" v-model="mock_ritardo" :unit-of-measure="'s'"></slider>
<slider
:min="recipe.pyrometer_pyrometer_delay.range.min"
:max="recipe.pyrometer_pyrometer_delay.range.max"
v-model="recipe.pyrometer_pyrometer_delay.valueAct"
:unit-of-measure="'s'">
</slider>
<div class="input-area">
<label>Set point</label>
<input class="rect" v-model="mock_temperatura">
<input class="rect" v-model="recipe.pyrometer_pyrometer_setpoint.valueAct">
</div>
<slider :min="100" :max="300" v-model="mock_temperatura" :unit-of-measure="'°C'"></slider>
<slider
:min="recipe.pyrometer_pyrometer_setpoint.range.min"
:max="recipe.pyrometer_pyrometer_setpoint.range.max"
v-model="recipe.pyrometer_pyrometer_setpoint.valueAct"
:unit-of-measure="'°C'">
</slider>
</div>
</section>
</template>
@@ -8,23 +8,111 @@ import SVGTermoregolazioneSuperiore from './SVG_Components/SVG-termo-superiore.v
@Component({name:'termosuperiore', components: { slider:Slider, ToggleButton, svgtermosuperiore:SVGTermoregolazioneSuperiore}})
export default class TermoregolazioneSuperiore extends Vue{
@Prop({default:0})
inizioreg:number;
@Prop({default:0})
finereg:number;
@Prop({default:0})
max:number;
@Prop({default:0})
min:number;
@Prop({default:0})
riposo:number;
mock_inizioreg:number=this.inizioreg
mock_finereg:number=this.finereg
mock_max:number=this.max
mock_min:number=this.min
mock_riposo:number=this.riposo
enabling:boolean=true;
recipe:Recipe.IRecipe={
pyrometer_upperthermoregulator_start_adjustment:{
range:{
min:7,
max:189
},
status:{
enabled:true,
visible:true,
hasError:false
},
unitMeasure:"",
valueAct:33
},
pyrometer_upperthermoregulator_end_adjustment:{
range:{
min:0,
max:109
},
status:{
enabled:true,
visible:true,
hasError:false
},
unitMeasure:"",
valueAct:59
},
pyrometer_upperthermoregulator_max_percentage:{
range:{
min:7,
max:181
},
status:{
enabled:true,
visible:true,
hasError:false
},
unitMeasure:"",
valueAct:39
},
pyrometer_upperthermoregulator_min_percentage:{
range:{
min:1,
max:155
},
status:{
enabled:true,
visible:true,
hasError:false
},
unitMeasure:"",
valueAct:17
},
pyrometer_upperthermoregulator_sleep_enabled:{
range:{
min:3,
max:179
},
status:{
enabled:true,
visible:true,
hasError:false
},
unitMeasure:"",
valueAct:90
},
pyrometer_upperthermoregulator_sleep_percentage:{
range:{
min:5,
max:174
},
status:{
enabled:true,
visible:true,
hasError:false
},
unitMeasure:"",
valueAct:169
},
pyrometer_upperthermoregulator_sleep_temperature:{
range:{
min:6,
max:125
},
status:{
enabled:true,
visible:true,
hasError:false
},
unitMeasure:"",
valueAct:45
},
pyrometer_upperthermoregulator_working_temperature:{
range:{
min:5,
max:135
},
status:{
enabled:true,
visible:true,
hasError:false
},
unitMeasure:"",
valueAct:15
}
};
}
@@ -3,43 +3,74 @@
<aside class="scrollable">
<div class="input-area">
<label>Inizio regolazione</label>
<input class="rect" v-model="mock_inizioreg">
<input class="rect" v-model="recipe.pyrometer_upperthermoregulator_start_adjustment.valueAct">
</div>
<slider :min="0" :max="400" v-model="mock_inizioreg" :unit-of-measure="'°C'"></slider>
<slider
:min="recipe.pyrometer_upperthermoregulator_start_adjustment.range.min"
:max="recipe.pyrometer_upperthermoregulator_start_adjustment.range.max"
v-model="recipe.pyrometer_upperthermoregulator_start_adjustment.valueAct"
:unit-of-measure="'°C'">
</slider>
<div class="input-area">
<label>Fine regolazione</label>
<input class="rect" v-model="mock_finereg">
<input class="rect" v-model="recipe.pyrometer_upperthermoregulator_end_adjustment.valueAct">
</div>
<slider :min="0" :max="400" v-model="mock_finereg" :unit-of-measure="'°C'"></slider>
<slider
:min="recipe.pyrometer_upperthermoregulator_end_adjustment.range.min"
:max="recipe.pyrometer_upperthermoregulator_end_adjustment.range.max"
v-model="recipe.pyrometer_upperthermoregulator_end_adjustment.valueAct"
:unit-of-measure="'°C'">
</slider>
<hr />
<div class="input-area">
<label>Massimo</label>
<input class="rect" v-model="mock_max">
<input class="rect" v-model="recipe.pyrometer_upperthermoregulator_max_percentage.valueAct">
</div>
<slider :min="0" :max="100" v-model="mock_max" :unit-of-measure="'%'"></slider>
<slider
:min="recipe.pyrometer_upperthermoregulator_max_percentage.range.min"
:max="recipe.pyrometer_upperthermoregulator_max_percentage.range.max"
v-model="recipe.pyrometer_upperthermoregulator_max_percentage.valueAct"
:unit-of-measure="'%'">
</slider>
<div class="input-area">
<label>Minimo</label>
<input class="rect" v-model="mock_min">
<input class="rect" v-model="recipe.pyrometer_upperthermoregulator_min_percentage.valueAct">
</div>
<slider :min="0" :max="100" v-model="mock_min" :unit-of-measure="'%'"></slider>
<slider
:min="recipe.pyrometer_upperthermoregulator_min_percentage.range.min"
:max="recipe.pyrometer_upperthermoregulator_min_percentage.range.max"
v-model="recipe.pyrometer_upperthermoregulator_min_percentage.valueAct"
:unit-of-measure="'%'">
</slider>
<hr />
<div class="input-area">
<label>Abilitazione riposo</label>
<toggle-button v-model="enabling"></toggle-button>
<toggle-button v-model="recipe.pyrometer_upperthermoregulator_sleep_enabled.status.enabled"></toggle-button>
</div>
<div class="input-area">
<label>Percentuale riposo</label>
<input class="rect" v-model="mock_riposo">
<input class="rect" v-model="recipe.pyrometer_upperthermoregulator_sleep_percentage.valueAct">
</div>
<slider :min="0" :max="100" v-model="mock_riposo" :unit-of-measure="'%'"></slider>
<slider
:min="recipe.pyrometer_upperthermoregulator_sleep_percentage.range.min"
:max="recipe.pyrometer_upperthermoregulator_sleep_percentage.range.max"
v-model="recipe.pyrometer_upperthermoregulator_sleep_percentage.valueAct"
:unit-of-measure="'%'">
</slider>
</aside>
<hr>
<div class="specific termospecific">
<svgtermosuperiore></svgtermosuperiore>
<svgtermosuperiore
:max="recipe.pyrometer_upperthermoregulator_max_percentage"
:min="recipe.pyrometer_upperthermoregulator_min_percentage"
:perc_riposo="recipe.pyrometer_upperthermoregulator_sleep_percentage"
:inizio="recipe.pyrometer_upperthermoregulator_start_adjustment"
:fine="recipe.pyrometer_upperthermoregulator_end_adjustment"
></svgtermosuperiore>
<button>
<img src="assets/icons/png/double.png" />
</button>
@@ -12,12 +12,12 @@ export default class ShowPirometroInfo extends Vue {
show:string='termo-superiore';
annulla(){
ModalHelper.HideModal();
annulla(name:string){
messageService.publishToChannel(name);
};
conferma(){
ModalHelper.HideModal();
conferma(name:string){
messageService.publishToChannel(name);
};
async beforeMount() {
@@ -14,10 +14,10 @@
<pirometro v-if="show=='pirometro'"></pirometro>
<termosuperiore v-if="show=='termo-superiore'"></termosuperiore>
<footer>
<button class="btn" @click="annulla()">
<button class="btn" @click="annulla('show-riscaldi-info')">
Annulla
</button>
<button class="btn btn-success" @click="conferma()">
<button class="btn btn-success" @click="conferma('show-imbutitura-info')">
Conferma
</button>
</footer>
@@ -4,11 +4,13 @@ import {Prop} from 'vue-property-decorator';
@Component({})
export default class QuoteVelocita extends Vue{
@Prop({default:0})
corsa:number;
corsa:Recipe.IValue;
@Prop({default:0})
vel_salita:number;
vel_salita:Recipe.IValue;
@Prop({default:0})
vel_salita_lenta:number;
@Prop({default:0})
@@ -17,12 +17,12 @@
<div class="circle circle2">
<div>
<img src="assets/icons/png/salita.png">
<input v-model="corsa">
<input v-model="corsa.valueAct">
<label>mm</label>
</div>
<div>
<img src="assets/icons/png/alta.png">
<input v-model="vel_salita">
<input v-model="vel_salita.valueAct">
<label>mm/s</label>
</div>
</div>
@@ -6,12 +6,12 @@ import {Prop} from 'vue-property-decorator';
export default class QuoteVelocita extends Vue{
@Prop({default:0})
corsa:number;
corsa:Recipe.IValue;
@Prop({default:0})
vel_salita:number;
vel_salita:Recipe.IValue;
@Prop({default:0})
vel_salita_lenta:number;
vel_salita_lenta:Recipe.IValue;
@Prop({default:0})
rall_salita:number;
rall_salita:Recipe.IValue;
}
@@ -5,24 +5,24 @@
<div class="circle circle-stampo-1">
<div>
<img src="assets/icons/png/salita.png">
<input v-model="rall_salita">
<input v-model="rall_salita.valueAct">
<label>mm</label>
</div>
<div>
<img src="assets/icons/png/bassa.png">
<input v-model="vel_salita_lenta">
<input v-model="vel_salita_lenta.valueAct">
<label>mm/s</label>
</div>
</div>
<div class="circle circle-stampo-2">
<div>
<img src="assets/icons/png/salita.png">
<input v-model="corsa">
<input v-model="corsa.valueAct">
<label>mm</label>
</div>
<div>
<img src="assets/icons/png/alta.png">
<input v-model="vel_salita">
<input v-model="vel_salita.valueAct">
<label>mm/s</label>
</div>
</div>
@@ -5,9 +5,9 @@ import {Prop} from 'vue-property-decorator';
@Component({})
export default class Controstamposvg extends Vue{
@Prop({default:0})
corsa:number;
corsa:Recipe.IValue;
@Prop({default:0})
vel_discesa:number;
vel_discesa:Recipe.IValue;
@Prop({default:0})
vel_discesa_lenta:number;
@Prop({default:0})
@@ -41,12 +41,12 @@ e<template>
<div class="circle circle-controstampo-4">
<div>
<img src="assets/icons/png/discesa.png">
<input v-model="corsa">
<input v-model="corsa.valueAct">
<label>mm</label>
</div>
<div>
<img src="assets/icons/png/alta.png">
<input v-model="vel_discesa">
<input v-model="vel_discesa.valueAct">
<label>mm/s</label>
</div>
</div>
@@ -12,21 +12,120 @@ components: { scheda:Scheda,
})
export default class Controstampo extends Vue {
recipe:Recipe.IRecipe={
positions_upperplate_lower_position: {
range: {
min: 9,
max: 125
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 99
},
positions_upperplate_lower_speed: {
range: {
min: 2,
max: 187
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 157
},
positions_upperplate_upper_position: {
range: {
min: 9,
max: 179
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 130
},
positions_upperplate_upper_speed: {
range: {
min: 3,
max: 186
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 55
},
positions_upperplate_upperdeceleration_position: {
range: {
min: 9,
max: 114
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 89
},
positions_upperplate_upperdeceleration_speed: {
range: {
min: 8,
max: 128
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 64
},
positions_upperplate_lowerdeceleration_position: {
range: {
min: 2,
max: 193
},
status: {
visible: true,
enabled: true,
hasError: false
},
unitMeasure: "",
valueAct: 142
},
positions_upperplate_lowerdeceleration_speed: {
range: {
min: 5,
max: 186
},
status: {
visible: true,
enabled: true,
hasError: true
},
unitMeasure: "",
valueAct: 190
},
}
@Prop({default:0})
ritardo:number;
mockR:number=this.ritardo;
@Prop({default:0})
corsa:number;
mockC:number=this.corsa;
@Prop({default:0})
velocità_discesa:number;
mockVD:number=this.velocità_discesa;
@Prop({default:0})
rallentamento_discesa:number;

Some files were not shown because too many files have changed in this diff Show More