Merge branch 'develop' of https://bitbucket.org/ncarminati/cms_thermo_active into develop
This commit is contained in:
@@ -145,7 +145,7 @@ select:focus {
|
||||
display: flex;
|
||||
flex-flow: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
justify-content: space-between;
|
||||
|
||||
&.grid {
|
||||
display: grid;
|
||||
@@ -222,7 +222,7 @@ select:focus {
|
||||
color: #002680;
|
||||
font-size: 24px;
|
||||
font-weight: 500;
|
||||
flex: 0.7;
|
||||
// flex: 0.7;
|
||||
}
|
||||
|
||||
.numeric {
|
||||
|
||||
@@ -5343,7 +5343,7 @@ select:focus {
|
||||
display: flex;
|
||||
flex-flow: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.input-area.grid {
|
||||
display: grid;
|
||||
@@ -5405,7 +5405,6 @@ select:focus {
|
||||
color: #002680;
|
||||
font-size: 24px;
|
||||
font-weight: 500;
|
||||
flex: 0.7;
|
||||
}
|
||||
.input-area .numeric {
|
||||
font-size: 18px;
|
||||
|
||||
@@ -4,4 +4,5 @@
|
||||
"enabled": true,
|
||||
"apiServerUrl": "http://localhost:9000/"
|
||||
}
|
||||
"allUIVisible": true
|
||||
}
|
||||
Generated
+5
@@ -10831,6 +10831,11 @@
|
||||
"js-tokens": "^3.0.0 || ^4.0.0"
|
||||
}
|
||||
},
|
||||
"lottie-web": {
|
||||
"version": "5.7.0",
|
||||
"resolved": "https://registry.npmjs.org/lottie-web/-/lottie-web-5.7.0.tgz",
|
||||
"integrity": "sha512-mCj9KaVR1FdcaRuKB0oqKqC2R+awlqGgx38Sy4q3H0+aNPJ9Ut5LIvBNGyMHiZRpJlPcRQ1Mk//fp2bY3QYq1A=="
|
||||
},
|
||||
"lower-case": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
|
||||
|
||||
@@ -16,11 +16,13 @@
|
||||
"chart.js": "^2.9.3",
|
||||
"core-js": "^3.4.4",
|
||||
"izitoast": "1.2.0",
|
||||
"lottie-web": "^5.7.0",
|
||||
"moment": "2.24.0",
|
||||
"qrcode": "^1.4.4",
|
||||
"raphael": "^2.3.0",
|
||||
"sprintf-js": "1.1.2",
|
||||
"svg-gauge": "^1.0.6",
|
||||
"svg-pan-zoom": "3.6.1",
|
||||
"v-tooltip": "^2.0.3",
|
||||
"vee-validate": "2.1.1",
|
||||
"vue": "^2.6.11",
|
||||
@@ -32,8 +34,7 @@
|
||||
"vue-smooth-dnd": "0.8.1",
|
||||
"vue2-ace-editor": "0.0.15",
|
||||
"vue2-datepicker": "3.4.1",
|
||||
"vuex": "3.1.3",
|
||||
"svg-pan-zoom": "3.6.1"
|
||||
"vuex": "3.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/plugin-proposal-export-default-from": "7.8.3",
|
||||
|
||||
+2
-1
@@ -17,7 +17,8 @@ declare module Recipe {
|
||||
unitMeasure: string,
|
||||
setpointHMI: number,
|
||||
setpointPLC: number,
|
||||
valueAct: number
|
||||
valueAct: number,
|
||||
enumVal: { [id: string]: { text: string, anim: string } }
|
||||
}
|
||||
|
||||
interface IRecipe {
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
import Component from "vue-class-component";
|
||||
import Vue from "vue";
|
||||
import { Prop } from "vue-property-decorator";
|
||||
import lottie from "lottie-web";
|
||||
import { localizeString } from "@/filters/localizeFilter";
|
||||
|
||||
@Component({})
|
||||
export default class Combo extends Vue {
|
||||
|
||||
@Prop()
|
||||
value: Recipe.IValue;
|
||||
|
||||
get options() {
|
||||
let result: { id: number, text: string, anim: string }[] = [];
|
||||
for (const key in this.value.enumVal) {
|
||||
if (this.value.enumVal.hasOwnProperty(key)) {
|
||||
const element = this.value.enumVal[key];
|
||||
|
||||
result.push({ id: parseInt(key), text: element.text, anim: element.anim })
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
get currentValue() {
|
||||
let result = this.options.find(o => o.id == this.value.setpointHMI);
|
||||
if (result) return localizeString(result.text, result.text);
|
||||
return null;
|
||||
}
|
||||
|
||||
opened: boolean = false;
|
||||
showList() {
|
||||
this.opened = true;
|
||||
this.$nextTick(() => lottie.searchAnimations());
|
||||
|
||||
}
|
||||
|
||||
hideList() {
|
||||
this.opened = false;
|
||||
}
|
||||
|
||||
mounted() {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
<template>
|
||||
<div class="combo">
|
||||
<div class="form" @click="showList">
|
||||
{{currentValue}}
|
||||
<i v-if="opened" class="fa fa-chevron-up" />
|
||||
<i v-else class="fa fa-chevron-down" />
|
||||
</div>
|
||||
<div class="droplist" v-if="opened">
|
||||
<div
|
||||
class="droplist-item"
|
||||
v-for="opt in options"
|
||||
:key="opt.id"
|
||||
@click="value.setpointHMI = opt.id; hideList()"
|
||||
>
|
||||
<input type="radio" :name="value.label" v-model="value.setpointHMI" :value="opt.id" />
|
||||
<span>{{opt.text}}</span>
|
||||
<div
|
||||
class="lottie"
|
||||
:data-animation-path="`/assets/animations/${opt.anim}`"
|
||||
data-anim-loop="true"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<style scoped>
|
||||
.combo {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.combo select:disabled {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.combo .form {
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
color: #6d6d6d;
|
||||
min-width: 80px;
|
||||
width: fit-content;
|
||||
|
||||
height: 48px;
|
||||
border-radius: 2px;
|
||||
box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
|
||||
border: none;
|
||||
display: flex;
|
||||
flex-flow: row nowrap;
|
||||
padding: 0 10px;
|
||||
align-items: center;
|
||||
justify-content: stretch;
|
||||
padding-right: 25px;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.combo .form i {
|
||||
position: absolute;
|
||||
right: 4px;
|
||||
top: calc(50% - 7px);
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.combo > select:focus ~ .droplist {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.droplist {
|
||||
display: flex;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 48px;
|
||||
width: 400px;
|
||||
z-index: 4;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.5);
|
||||
flex-flow: column nowrap;
|
||||
}
|
||||
|
||||
.droplist-item {
|
||||
display: flex;
|
||||
flex-flow: row nowrap;
|
||||
padding: 30px;
|
||||
padding-right: 0;
|
||||
height: 80px;
|
||||
align-items: center;
|
||||
justify-content: space-evenly;
|
||||
border-bottom: 1px #ddd solid;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.droplist-item .lottie {
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
.droplist-item span {
|
||||
padding-left: 15px;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.droplist-item input {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
</style>
|
||||
<script src="./combo.ts" lang="ts"/>
|
||||
@@ -3,12 +3,14 @@ import slider from "./slider.vue";
|
||||
import Vue from "vue";
|
||||
import keyboard from "./keyboard.vue";
|
||||
import clock from "./clock.vue";
|
||||
import combo from "./combo.vue"
|
||||
|
||||
export default {
|
||||
numeric,
|
||||
slider,
|
||||
keyboard,
|
||||
clock
|
||||
clock,
|
||||
combo
|
||||
}
|
||||
|
||||
Vue.directive('focusOn', {
|
||||
|
||||
+16
-16
@@ -4,28 +4,28 @@
|
||||
<div class="box transparent">
|
||||
<div class="body">
|
||||
<template v-if="recipe.cycle_forming_type.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'cycle_forming_type'|localize('Tipo')}}</label>
|
||||
<select class="form-control" v-model="recipe.cycle_forming_type"></select>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<label>{{'cycle_forming_type'|localize('Tipo')}}</label>
|
||||
<combo v-model="recipe.cycle_forming_type"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.cycle_forming_pause_cycle.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'cycle_forming_pause_cycle'|localize('Pausa ciclo')}}</label>
|
||||
<toggle-button v-model="recipe.cycle_forming_pause_cycle.status.enabled"></toggle-button>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<label>{{'cycle_forming_pause_cycle'|localize('Pausa ciclo')}}</label>
|
||||
<toggle-button v-model="recipe.cycle_forming_pause_cycle.status.enabled"></toggle-button>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.cycle_forming_cooling_enabled.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'cycle_forming_cooling_enabled'|localize('Raffreddamento fine ciclo')}}</label>
|
||||
<toggle-button v-model="recipe.cycle_forming_cooling_enabled.status.enabled"></toggle-button>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<label>{{'cycle_forming_cooling_enabled'|localize('Raffreddamento fine ciclo')}}</label>
|
||||
<toggle-button v-model="recipe.cycle_forming_cooling_enabled.status.enabled"></toggle-button>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.cycle_forming_blowingbox_enabled.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'cycle_forming_blowingbox_enabled'|localize('Ventilazione cassone fine ciclo')}}</label>
|
||||
<toggle-button v-model="recipe.cycle_forming_blowingbox_enabled.status.enabled"></toggle-button>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<label>{{'cycle_forming_blowingbox_enabled'|localize('Ventilazione cassone fine ciclo')}}</label>
|
||||
<toggle-button v-model="recipe.cycle_forming_blowingbox_enabled.status.enabled"></toggle-button>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+9
-9
@@ -5,17 +5,17 @@
|
||||
</div>
|
||||
<div class="body">
|
||||
<template v-if="recipe.cycle_crystallisation_type.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'cycle_crystallisation_type'|localize('Tipo')}}</label>
|
||||
<select class="form-control" v-model="recipe.cycle_crystallisation_type"></select>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<label>{{'cycle_crystallisation_type'|localize('Tipo')}}</label>
|
||||
<combo v-model="recipe.cycle_crystallisation_type"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.cycle_crystallisation_time.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'cycle_crystallisation_time'|localize('Durata')}}</label>
|
||||
<numeric v-model="recipe.cycle_crystallisation_time" />
|
||||
</div>
|
||||
<slider v-model="recipe.cycle_crystallisation_time"></slider>
|
||||
<div class="input-area">
|
||||
<label>{{'cycle_crystallisation_time'|localize('Durata')}}</label>
|
||||
<numeric v-model="recipe.cycle_crystallisation_time" />
|
||||
</div>
|
||||
<slider v-model="recipe.cycle_crystallisation_time"></slider>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+15
-15
@@ -4,25 +4,25 @@
|
||||
<div class="box transparent box-500 center">
|
||||
<div class="body">
|
||||
<template v-if="recipe.upperplate_cycle_type.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'upperplate_cycle_type'|localize('Tipo')}}</label>
|
||||
<select class="form-control" v-model="recipe.upperplate_cycle_type"></select>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<label>{{'upperplate_cycle_type'|localize('Tipo')}}</label>
|
||||
<combo v-model="recipe.upperplate_cycle_type"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.upperplate_cycle_delay.status.visible">
|
||||
<div class="input-area">
|
||||
<img src="assets/icons/png/clessidra.png" />
|
||||
<label>{{'upperplate_cycle_delay'|localize('Ritardo')}}</label>
|
||||
<numeric v-model="recipe.upperplate_cycle_delay" />
|
||||
</div>
|
||||
<slider v-model.number="recipe.upperplate_cycle_delay"></slider>
|
||||
<div class="input-area">
|
||||
<img src="assets/icons/png/clessidra.png" />
|
||||
<label>{{'upperplate_cycle_delay'|localize('Ritardo')}}</label>
|
||||
<numeric v-model="recipe.upperplate_cycle_delay" />
|
||||
</div>
|
||||
<slider v-model.number="recipe.upperplate_cycle_delay"></slider>
|
||||
</template>
|
||||
<template v-if="recipe.upperplate_cycle_time.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'upperplate_cycle_time'|localize('Durata')}}</label>
|
||||
<numeric v-model="recipe.upperplate_cycle_time" />
|
||||
</div>
|
||||
<slider v-model="recipe.upperplate_cycle_time"></slider>
|
||||
<div class="input-area">
|
||||
<label>{{'upperplate_cycle_time'|localize('Durata')}}</label>
|
||||
<numeric v-model="recipe.upperplate_cycle_time" />
|
||||
</div>
|
||||
<slider v-model="recipe.upperplate_cycle_time"></slider>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
<template v-if="recipe.extraction_main_type.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'extraction_main_type'|localize('Tipo')}}</label>
|
||||
<select class="form-control" v-model="recipe.extraction_main_type"></select>
|
||||
<combo v-model="recipe.extraction_main_type"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.extraction_main_mould_dw_delay.status.visible">
|
||||
|
||||
@@ -5,28 +5,27 @@
|
||||
</div>
|
||||
<div class="body">
|
||||
<template v-if="recipe.general_sizes_frame_traverses.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_frame_traverses' | localize("Traversini")}}</label>
|
||||
<select class="form-control" v-model="recipe.general_sizes_frame_traverses.setpointHMI">
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_frame_traverses' | localize("Traversini")}}</label>
|
||||
<combo v-model="recipe.general_sizes_frame_traverses.setpointHMI"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<hr />
|
||||
<template v-if="recipe.general_sizes_frame_dim_x.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_frame_dim_x' | localize('Apertura X')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_frame_dim_x" id="general_sizes_frame_dim_x"/>
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_frame_dim_x"></slider>
|
||||
<button class="submit">Muovi</button>
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_frame_dim_x' | localize('Apertura X')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_frame_dim_x" id="general_sizes_frame_dim_x" />
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_frame_dim_x"></slider>
|
||||
<button class="submit">Muovi</button>
|
||||
</template>
|
||||
<template v-if="recipe.general_sizes_frame_dim_y.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_frame_dim_y' | localize('Apertura Y')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_frame_dim_y" id="general_sizes_frame_dim_y"/>
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_frame_dim_y"></slider>
|
||||
<button class="submit">Muovi</button>
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_frame_dim_y' | localize('Apertura Y')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_frame_dim_y" id="general_sizes_frame_dim_y" />
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_frame_dim_y"></slider>
|
||||
<button class="submit">Muovi</button>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -5,33 +5,32 @@
|
||||
</div>
|
||||
<div class="body">
|
||||
<template v-if="recipe.general_sizes_sheet_material.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_sheet_material' | localize("Materiale")}}</label>
|
||||
<select class="form-control" v-model="recipe.general_sizes_sheet_material.setpointHMI">
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_sheet_material' | localize("Materiale")}}</label>
|
||||
<combo v-model="recipe.general_sizes_sheet_material"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<hr />
|
||||
<template v-if="recipe.general_sizes_sheet_dim_x.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_sheet_dim_x' | localize('Dimensione X')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_sheet_dim_x" id="general_sizes_sheet_dim_x"/>
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_sheet_dim_x"></slider>
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_sheet_dim_x' | localize('Dimensione X')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_sheet_dim_x" id="general_sizes_sheet_dim_x" />
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_sheet_dim_x"></slider>
|
||||
</template>
|
||||
<template v-if="recipe.general_sizes_sheet_dim_y.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_sheet_dim_y' | localize('Dimensione Y')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_sheet_dim_y" id="general_sizes_sheet_dim_y"/>
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_sheet_dim_y"></slider>
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_sheet_dim_y' | localize('Dimensione Y')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_sheet_dim_y" id="general_sizes_sheet_dim_y" />
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_sheet_dim_y"></slider>
|
||||
</template>
|
||||
<template v-if="recipe.general_sizes_sheet_thickness.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_sheet_thickness' | localize('Spessore')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_sheet_thickness" id="general_sizes_sheet_thickness"/>
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_sheet_thickness"></slider>
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_sheet_thickness' | localize('Spessore')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_sheet_thickness" id="general_sizes_sheet_thickness" />
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_sheet_thickness"></slider>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+16
-17
@@ -5,28 +5,27 @@
|
||||
</div>
|
||||
<div class="body">
|
||||
<template v-if="recipe.general_sizes_plate_type.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_plate_type' | localize("Tipo")}}</label>
|
||||
<select class="form-control" v-model="recipe.general_sizes_plate_type.setpointHMI">
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_plate_type' | localize("Tipo")}}</label>
|
||||
<combo v-model="recipe.general_sizes_plate_type.setpointHMI"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<hr />
|
||||
<template v-if="recipe.general_sizes_plate_dim_x.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_plate_dim_x' | localize('Apertura X')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_plate_dim_x" id="general_sizes_plate_dim_x"/>
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_plate_dim_x"></slider>
|
||||
<button class="submit">Muovi</button>
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_plate_dim_x' | localize('Apertura X')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_plate_dim_x" id="general_sizes_plate_dim_x" />
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_plate_dim_x"></slider>
|
||||
<button class="submit">Muovi</button>
|
||||
</template>
|
||||
<template v-if="recipe.general_sizes_plate_dim_y.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_plate_dim_y' | localize('Apertura Y')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_plate_dim_y" id="general_sizes_plate_dim_y"/>
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_plate_dim_y"></slider>
|
||||
<button class="submit">Muovi</button>
|
||||
<div class="input-area">
|
||||
<label>{{'general_sizes_plate_dim_y' | localize('Apertura Y')}}</label>
|
||||
<numeric v-model="recipe.general_sizes_plate_dim_y" id="general_sizes_plate_dim_y" />
|
||||
</div>
|
||||
<slider v-model="recipe.general_sizes_plate_dim_y"></slider>
|
||||
<button class="submit">Muovi</button>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+2
-2
@@ -22,13 +22,13 @@
|
||||
<template v-if="recipe.drawing_type.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'drawing_type'|localize('Tipo')}}</label>
|
||||
<select class="form-control" v-model="recipe.drawing_type"></select>
|
||||
<combo v-model="recipe.drawing_type"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.drawing_photocell.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'drawing_photocell'|localize('Scelta fotocellula')}}</label>
|
||||
<select class="form-control" v-model="recipe.drawing_photocell"></select>
|
||||
<combo v-model="recipe.drawing_photocell"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.drawing_height.status.visible">
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
<template v-if="modalita.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'options_undercutmould__mode'|localize('Modalità')}}</label>
|
||||
<select class="form-control" v-model="modalita"></select>
|
||||
<combo v-model="modalita"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="quota.status.visible">
|
||||
|
||||
+2
-2
@@ -2,8 +2,8 @@
|
||||
<div class="option-row" @click="$emit('click')">
|
||||
<label>{{numSottoSq}}</label>
|
||||
<!-- <template v-if="modalita.status.visible">
|
||||
<select class="form-control" v-model="modalita"></select>
|
||||
</template> va inserito il valore della select di modalità -->
|
||||
<combo v-model="modalita"></combo>
|
||||
</template> va inserito il valore della combo di modalità-->
|
||||
<template v-if="quota.status.visible">
|
||||
<label>{{quota.setpointHMI}} mm</label>
|
||||
</template>
|
||||
|
||||
+15
-15
@@ -4,25 +4,25 @@
|
||||
<div class="box transparent box-500 center">
|
||||
<div class="body">
|
||||
<template v-if="recipe.cooling_nebulizer_type.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'cooling_nebulizer_type'|localize('Tipo')}}</label>
|
||||
<select class="form-control" v-model="recipe.cooling_nebulizer_type"></select>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<label>{{'cooling_nebulizer_type'|localize('Tipo')}}</label>
|
||||
<combo v-model="recipe.cooling_nebulizer_type"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.cooling_nebulizer_delay.status.visible">
|
||||
<div class="input-area">
|
||||
<img src="assets/icons/png/clessidra.png" />
|
||||
<label>{{'cooling_nebulizer_delay'|localize('Ritardo')}}</label>
|
||||
<numeric v-model="recipe.cooling_nebulizer_delay" />
|
||||
</div>
|
||||
<slider v-model="recipe.cooling_nebulizer_delay"></slider>
|
||||
<div class="input-area">
|
||||
<img src="assets/icons/png/clessidra.png" />
|
||||
<label>{{'cooling_nebulizer_delay'|localize('Ritardo')}}</label>
|
||||
<numeric v-model="recipe.cooling_nebulizer_delay" />
|
||||
</div>
|
||||
<slider v-model="recipe.cooling_nebulizer_delay"></slider>
|
||||
</template>
|
||||
<template v-if="recipe.cooling_nebulizer_time.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'cooling_nebulizer_time'|localize('Durata')}}</label>
|
||||
<numeric v-model="recipe.cooling_nebulizer_time" />
|
||||
</div>
|
||||
<slider v-model="recipe.cooling_nebulizer_time"></slider>
|
||||
<div class="input-area">
|
||||
<label>{{'cooling_nebulizer_time'|localize('Durata')}}</label>
|
||||
<numeric v-model="recipe.cooling_nebulizer_time" />
|
||||
</div>
|
||||
<slider v-model="recipe.cooling_nebulizer_time"></slider>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+15
-15
@@ -4,25 +4,25 @@
|
||||
<div class="box transparent box-500 center">
|
||||
<div class="body">
|
||||
<template v-if="recipe.cooling_blowing_type.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'cooling_blowing_type'|localize('Tipo')}}</label>
|
||||
<select class="form-control" v-model="recipe.cooling_blowing_type"></select>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<label>{{'cooling_blowing_type'|localize('Tipo')}}</label>
|
||||
<combo v-model="recipe.cooling_blowing_type"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.cooling_blowing_delay.status.visible">
|
||||
<div class="input-area">
|
||||
<img src="assets/icons/png/clessidra.png" />
|
||||
<label>{{'cooling_blowing_delay'|localize('Ritardo')}}</label>
|
||||
<numeric v-model="recipe.cooling_blowing_delay" />
|
||||
</div>
|
||||
<slider v-model="recipe.cooling_blowing_delay"></slider>
|
||||
<div class="input-area">
|
||||
<img src="assets/icons/png/clessidra.png" />
|
||||
<label>{{'cooling_blowing_delay'|localize('Ritardo')}}</label>
|
||||
<numeric v-model="recipe.cooling_blowing_delay" />
|
||||
</div>
|
||||
<slider v-model="recipe.cooling_blowing_delay"></slider>
|
||||
</template>
|
||||
<template v-if="recipe.cooling_blowing_time.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'cooling_blowing_time'|localize('Durata')}}</label>
|
||||
<numeric v-model="recipe.cooling_blowing_time" />
|
||||
</div>
|
||||
<slider v-model="recipe.cooling_blowing_time"></slider>
|
||||
<div class="input-area">
|
||||
<label>{{'cooling_blowing_time'|localize('Durata')}}</label>
|
||||
<numeric v-model="recipe.cooling_blowing_time" />
|
||||
</div>
|
||||
<slider v-model="recipe.cooling_blowing_time"></slider>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+2
-2
@@ -47,12 +47,12 @@
|
||||
<button class="btn btn-info square" @click="add5()">
|
||||
<img src="assets/icons/png/piu5.png" />
|
||||
</button>
|
||||
<select class="form-control" v-model="uniformChannelValue">
|
||||
<combo v-model="uniformChannelValue">
|
||||
<option :value="0">0%</option>
|
||||
<option :value="25">25%</option>
|
||||
<option :value="50">50%</option>
|
||||
<option :value="100">100%</option>
|
||||
</select>
|
||||
</combo>
|
||||
</div>
|
||||
|
||||
<div class="input-area grid left">
|
||||
|
||||
+2
-2
@@ -47,12 +47,12 @@
|
||||
<button class="btn btn-info square" @click="add5()">
|
||||
<img src="assets/icons/png/piu5.png" />
|
||||
</button>
|
||||
<select class="form-control" v-model="uniformChannelValue">
|
||||
<combo v-model="uniformChannelValue">
|
||||
<option :value="0">0%</option>
|
||||
<option :value="25">25%</option>
|
||||
<option :value="50">50%</option>
|
||||
<option :value="100">100%</option>
|
||||
</select>
|
||||
</combo>
|
||||
</div>
|
||||
|
||||
<div class="input-area grid left">
|
||||
|
||||
+33
-33
@@ -4,51 +4,51 @@
|
||||
<div class="box transparent box-500 center">
|
||||
<div class="body">
|
||||
<template v-if="recipe.heats_decomsustain_type.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_type'|localize('Tipo')}}</label>
|
||||
<select class="form-control" v-model="recipe.heats_decomsustain_type"></select>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_type'|localize('Tipo')}}</label>
|
||||
<combo v-model="recipe.heats_decomsustain_type"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.heats_decomsustain_decompression_flow.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_decompression_flow'|localize('Portata sostentamento')}}</label>
|
||||
<numeric v-model="recipe.heats_decomsustain_decompression_flow" />
|
||||
</div>
|
||||
<slider v-model="recipe.heats_decomsustain_decompression_flow"></slider>
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_decompression_flow'|localize('Portata sostentamento')}}</label>
|
||||
<numeric v-model="recipe.heats_decomsustain_decompression_flow" />
|
||||
</div>
|
||||
<slider v-model="recipe.heats_decomsustain_decompression_flow"></slider>
|
||||
</template>
|
||||
<template v-if="recipe.heats_decomsustain_min_blowing_time.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_min_blowing_time'|localize('Durata minima soffio')}}</label>
|
||||
<numeric v-model="recipe.heats_decomsustain_min_blowing_time" />
|
||||
</div>
|
||||
<slider v-model="recipe.heats_decomsustain_min_blowing_time"></slider>
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_min_blowing_time'|localize('Durata minima soffio')}}</label>
|
||||
<numeric v-model="recipe.heats_decomsustain_min_blowing_time" />
|
||||
</div>
|
||||
<slider v-model="recipe.heats_decomsustain_min_blowing_time"></slider>
|
||||
</template>
|
||||
<template v-if="recipe.heats_decomsustain_sustain_delay.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_sustain_delay'|localize('Ritardo sostentamento')}}</label>
|
||||
<numeric v-model="recipe.heats_decomsustain_sustain_delay" />
|
||||
</div>
|
||||
<slider v-model="recipe.heats_decomsustain_sustain_delay"></slider>
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_sustain_delay'|localize('Ritardo sostentamento')}}</label>
|
||||
<numeric v-model="recipe.heats_decomsustain_sustain_delay" />
|
||||
</div>
|
||||
<slider v-model="recipe.heats_decomsustain_sustain_delay"></slider>
|
||||
</template>
|
||||
<template v-if="recipe.heats_decomsustain_decompression_delay.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_decompression_delay'|localize('Ritardo decompressione')}}</label>
|
||||
<numeric v-model="recipe.heats_decomsustain_decompression_delay" />
|
||||
</div>
|
||||
<slider v-model="recipe.heats_decomsustain_decompression_delay"></slider>
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_decompression_delay'|localize('Ritardo decompressione')}}</label>
|
||||
<numeric v-model="recipe.heats_decomsustain_decompression_delay" />
|
||||
</div>
|
||||
<slider v-model="recipe.heats_decomsustain_decompression_delay"></slider>
|
||||
</template>
|
||||
<template v-if="recipe.heats_decomsustain_decompression_duration.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_decompression_duration'|localize('Durata decompressione')}}</label>
|
||||
<numeric v-model="recipe.heats_decomsustain_decompression_duration" />
|
||||
</div>
|
||||
<slider v-model="recipe.heats_decomsustain_decompression_duration"></slider>
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_decompression_duration'|localize('Durata decompressione')}}</label>
|
||||
<numeric v-model="recipe.heats_decomsustain_decompression_duration" />
|
||||
</div>
|
||||
<slider v-model="recipe.heats_decomsustain_decompression_duration"></slider>
|
||||
</template>
|
||||
<template v-if="recipe.heats_decomsustain_smoke_function_enabled.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_smoke_function_enabled'|localize('Funzione "fumo"')}}</label>
|
||||
<toggle-button v-model="recipe.heats_decomsustain_smoke_function_enabled.status.enabled"></toggle-button>
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<label>{{'heats_decomsustain_smoke_function_enabled'|localize('Funzione "fumo"')}}</label>
|
||||
<toggle-button v-model="recipe.heats_decomsustain_smoke_function_enabled.status.enabled"></toggle-button>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
<template v-if="recipe.vacuum_main_start.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'vacuum_main_start'|localize('Partenza')}}</label>
|
||||
<select class="form-control" v-model="recipe.vacuum_main_start"></select>
|
||||
<combo v-model="recipe.vacuum_main_start"></combo>
|
||||
</div>
|
||||
</template>
|
||||
<hr />
|
||||
|
||||
@@ -36,5 +36,6 @@ export interface IConfiguration {
|
||||
api: {
|
||||
enabled: boolean,
|
||||
apiServerUrl: string
|
||||
}
|
||||
},
|
||||
allUIVisible: boolean
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
import Vue from "vue";
|
||||
import { CONFIGURATION } from "@/config";
|
||||
|
||||
export interface RecipeStoreModel {
|
||||
current: Recipe.IRecipe;
|
||||
@@ -45,8 +46,9 @@ export const recipeStore = {
|
||||
SetCurrent(state, model: Recipe.IRecipe) {
|
||||
for (const key in model) {
|
||||
if (model.hasOwnProperty(key)) {
|
||||
if (model[key])
|
||||
if (model[key]) {
|
||||
Vue.set(state.current, key, model[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -59,13 +61,24 @@ export const recipeStore = {
|
||||
}
|
||||
}
|
||||
},
|
||||
SetAllVisible(state) {
|
||||
for (const key in state.current) {
|
||||
if (state.current.hasOwnProperty(key)) {
|
||||
state.current[key].status.visible = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
actions: {
|
||||
|
||||
setCurrent(context, model: Recipe.IRecipe) {
|
||||
async setCurrent(context, model: Recipe.IRecipe) {
|
||||
context.commit("SetCurrent", model);
|
||||
|
||||
var c = await CONFIGURATION;
|
||||
if (c.allUIVisible) context.commit("SetAllVisible")
|
||||
},
|
||||
|
||||
setOverview(context, model: Overview.IOverview) {
|
||||
|
||||
Reference in New Issue
Block a user