Merge branch 'develop' into feature/recipe
This commit is contained in:
@@ -1143,6 +1143,9 @@ namespace Thermo.Active.NC
|
||||
// Get current head config
|
||||
var configuredHead = HeadsConfig.Find(x => x.Id == head.Id);
|
||||
// Create different model according on type
|
||||
|
||||
// 2020.08.27 update core.library ha sminchionato --> commentato!
|
||||
#if false
|
||||
switch (configuredHead.Type)
|
||||
{
|
||||
case HEAD_TYPE.SPINDLE:
|
||||
@@ -1190,7 +1193,8 @@ namespace Thermo.Active.NC
|
||||
});
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
return libraryError;
|
||||
@@ -2305,11 +2309,13 @@ namespace Thermo.Active.NC
|
||||
|
||||
RecipeCatStatus currStatus = RecipeCatStatus.Unchanged;
|
||||
|
||||
// 2020.08.27: faccio SEMPRE il calcolo degli stati, non rileggo e poi verifico...
|
||||
#if false
|
||||
// da conf ricetta --> se ci sono li leggo da li...
|
||||
if (NcFileAdapter.RecipeLiveData.RecipeOverview != null)
|
||||
{
|
||||
currOverview = NcFileAdapter.RecipeLiveData.RecipeOverview;
|
||||
}
|
||||
}
|
||||
|
||||
bool changed = false;
|
||||
foreach (var item in recipeConfig)
|
||||
@@ -2325,6 +2331,7 @@ namespace Thermo.Active.NC
|
||||
{
|
||||
NcFileAdapter.RecipeLiveData.RecipeOverview = currOverview;
|
||||
}
|
||||
#endif
|
||||
|
||||
// ORA percorro conf ricetta x cercare eventuali ERRORI......
|
||||
foreach (var item in recipeConfig)
|
||||
@@ -2353,6 +2360,8 @@ namespace Thermo.Active.NC
|
||||
}
|
||||
}
|
||||
}
|
||||
// salvo!
|
||||
NcFileAdapter.RecipeLiveData.RecipeOverview = currOverview;
|
||||
|
||||
// restituisco cod errore se trovato
|
||||
return libraryError;
|
||||
@@ -2631,9 +2640,9 @@ namespace Thermo.Active.NC
|
||||
return libraryError;
|
||||
}
|
||||
|
||||
#endregion Read Data
|
||||
#endregion Read Data
|
||||
|
||||
#region Write data
|
||||
#region Write data
|
||||
|
||||
public CmsError PutUserSoftKeyClick(uint id)
|
||||
{
|
||||
@@ -2708,7 +2717,7 @@ namespace Thermo.Active.NC
|
||||
return numericalControl.PLC_WScadaValue(memIndex, memType, value);
|
||||
}
|
||||
|
||||
#endregion Write data
|
||||
#endregion Write data
|
||||
|
||||
private int GetMaxCountBetweenLayerComponents(ScadaSchemaLayerModel layer)
|
||||
{
|
||||
|
||||
@@ -30,4 +30,4 @@ using System.Runtime.InteropServices;
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("0.11.60")]
|
||||
[assembly: AssemblyVersion("0.11.62")]
|
||||
@@ -146,6 +146,7 @@ select:focus {
|
||||
flex-flow: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
max-width: 472px;
|
||||
|
||||
&.grid {
|
||||
display: grid;
|
||||
@@ -222,6 +223,7 @@ select:focus {
|
||||
color: #002680;
|
||||
font-size: 24px;
|
||||
font-weight: 500;
|
||||
overflow: hidden;
|
||||
// flex: 0.7;
|
||||
}
|
||||
|
||||
|
||||
@@ -238,6 +238,34 @@
|
||||
}
|
||||
}
|
||||
|
||||
i {
|
||||
grid-column-start: -1;
|
||||
grid-column-end: 1;
|
||||
grid-row: 2;
|
||||
z-index: 2;
|
||||
margin: auto;
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
left: 47px;
|
||||
font-size: 25px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
overflow: visible;
|
||||
background-color: white;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
border-radius: 7px;
|
||||
|
||||
&.fa-check-circle {
|
||||
color: #90BF3D;
|
||||
}
|
||||
|
||||
&.fa-check-circle.undone-step {
|
||||
color: #1791FF;
|
||||
}
|
||||
}
|
||||
|
||||
span,
|
||||
label {
|
||||
grid-row-start: 1;
|
||||
|
||||
@@ -196,6 +196,31 @@
|
||||
.setup .modal-footer-navigator .setup-button.current .background-bottom {
|
||||
box-shadow: -3px -5px 5px rgba(0, 0, 0, 0.2) inset;
|
||||
}
|
||||
.setup .modal-footer-navigator .setup-button i {
|
||||
grid-column-start: -1;
|
||||
grid-column-end: 1;
|
||||
grid-row: 2;
|
||||
z-index: 2;
|
||||
margin: auto;
|
||||
position: absolute;
|
||||
top: -10px;
|
||||
left: 47px;
|
||||
font-size: 25px;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
overflow: visible;
|
||||
background-color: white;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
display: flex;
|
||||
border-radius: 7px;
|
||||
}
|
||||
.setup .modal-footer-navigator .setup-button i.fa-check-circle {
|
||||
color: #90BF3D;
|
||||
}
|
||||
.setup .modal-footer-navigator .setup-button i.fa-check-circle.undone-step {
|
||||
color: #1791FF;
|
||||
}
|
||||
.setup .modal-footer-navigator .setup-button span,
|
||||
.setup .modal-footer-navigator .setup-button label {
|
||||
grid-row-start: 1;
|
||||
@@ -5497,6 +5522,7 @@ select:focus {
|
||||
flex-flow: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
max-width: 472px;
|
||||
}
|
||||
.input-area.grid {
|
||||
display: grid;
|
||||
@@ -5558,6 +5584,7 @@ select:focus {
|
||||
color: #002680;
|
||||
font-size: 24px;
|
||||
font-weight: 500;
|
||||
overflow: hidden;
|
||||
}
|
||||
.input-area .numeric {
|
||||
font-size: 18px;
|
||||
|
||||
Generated
+2681
-2661
File diff suppressed because it is too large
Load Diff
@@ -25,7 +25,7 @@
|
||||
"svg-pan-zoom": "3.6.1",
|
||||
"v-tooltip": "^2.0.3",
|
||||
"vee-validate": "2.1.1",
|
||||
"vue": "^2.6.11",
|
||||
"vue": "^2.6.12",
|
||||
"vue-chartjs": "^3.5.0",
|
||||
"vue-class-component": "7.2.3",
|
||||
"vue-drag-drop": "1.1.4",
|
||||
@@ -37,16 +37,16 @@
|
||||
"vuex": "3.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/plugin-proposal-export-default-from": "7.8.3",
|
||||
"@babel/plugin-proposal-export-default-from": "7.10.4",
|
||||
"@types/es6-promise": "3.3.0",
|
||||
"@vue/cli-plugin-babel": "^4.1.0",
|
||||
"@vue/cli-plugin-eslint": "^4.1.0",
|
||||
"@vue/cli-plugin-router": "^4.1.0",
|
||||
"@vue/cli-plugin-typescript": "^4.1.0",
|
||||
"@vue/cli-plugin-vuex": "^4.1.0",
|
||||
"@vue/cli-service": "^4.2.3",
|
||||
"@vue/cli-plugin-babel": "^4.5.4",
|
||||
"@vue/cli-plugin-eslint": "^4.5.4",
|
||||
"@vue/cli-plugin-router": "^4.5.4",
|
||||
"@vue/cli-plugin-typescript": "^4.5.4",
|
||||
"@vue/cli-plugin-vuex": "^4.5.4",
|
||||
"@vue/cli-service": "^4.5.4",
|
||||
"autoprefixer": "^7.1.2",
|
||||
"babel-loader": "8.0.6",
|
||||
"babel-loader": "8.1.0",
|
||||
"chalk": "^2.0.1",
|
||||
"copy-webpack-plugin": "^4.0.1",
|
||||
"css-loader": "^0.28.0",
|
||||
@@ -57,8 +57,8 @@
|
||||
"ts-loader": "6.2.1",
|
||||
"typescript": "3.8.3",
|
||||
"url-loader": "^3.0.0",
|
||||
"vue-loader": "^15.9.0",
|
||||
"vue-template-compiler": "^2.6.11",
|
||||
"vue-loader": "^15.9.3",
|
||||
"vue-template-compiler": "^2.6.12",
|
||||
"webpack": "^4.42.0",
|
||||
"webpack-cli": "3.2.3",
|
||||
"webpack-dev-server": "3.2.1"
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import Axios, { AxiosInstance, AxiosPromise, AxiosResponse, AxiosBasicCredentials, AxiosRequestConfig } from "axios";
|
||||
import Factory from "./factoryService";
|
||||
import * as iziToast from "izitoast";
|
||||
// import { localizeString } from "../filters/localizeFilter";
|
||||
import { store, AppModel } from "@/store";
|
||||
|
||||
interface InterceptorRequestDelegate { (config: AxiosRequestConfig): AxiosRequestConfig; }
|
||||
|
||||
@@ -2,7 +2,6 @@ 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 {
|
||||
@@ -25,13 +24,15 @@ export default class Combo extends Vue {
|
||||
|
||||
get currentValue() {
|
||||
let result = this.options.find(o => o.id == this.value.setpointHMI);
|
||||
if (result) return localizeString(result.text, result.text);
|
||||
if (result) {
|
||||
return this.$options.filters.localize(result.text, result.text);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
opened: boolean = false;
|
||||
showList() {
|
||||
this.opened = true;
|
||||
this.opened = !this.opened;
|
||||
this.$nextTick(() => lottie.searchAnimations());
|
||||
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
color: #6d6d6d;
|
||||
min-width: 80px;
|
||||
min-width: 200px;
|
||||
width: fit-content;
|
||||
|
||||
height: 48px;
|
||||
|
||||
@@ -3,6 +3,7 @@ import Component from 'vue-class-component';
|
||||
import { messageService } from "@/_base/messageService";
|
||||
import setupButton from "./setupButton.vue";
|
||||
import { Prop } from 'vue-property-decorator';
|
||||
import { store } from '@/store';
|
||||
|
||||
@Component({ name: 'stepfooter', components: { setupButton } })
|
||||
export default class StepFooter extends Vue {
|
||||
@@ -13,4 +14,9 @@ export default class StepFooter extends Vue {
|
||||
public showModalAtStep(step: number) {
|
||||
this.$emit('click', step - this.current)
|
||||
}
|
||||
|
||||
get overview() {
|
||||
return store.state.recipe.overview;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,77 +4,88 @@
|
||||
@click="showModalAtStep(0)"
|
||||
:class="{'current': current== 0}"
|
||||
:phase="1"
|
||||
title="Formato"
|
||||
:title="'overview.general' | localize('Formato')"
|
||||
:status="overview.general"
|
||||
></setup-button>
|
||||
|
||||
<setup-button
|
||||
@click="showModalAtStep(1)"
|
||||
:class="{'current': current== 1}"
|
||||
:phase="2"
|
||||
title="Quota e velocità"
|
||||
:title="'overview.positions' | localize('Quota e velocità')"
|
||||
:status="overview.positions"
|
||||
></setup-button>
|
||||
|
||||
<setup-button
|
||||
@click="showModalAtStep(2)"
|
||||
:class="{'current': current== 2}"
|
||||
:phase="3"
|
||||
title="Ciclo"
|
||||
:title="'overview.cycle' | localize('Ciclo')"
|
||||
:status="overview.cycle"
|
||||
></setup-button>
|
||||
|
||||
<setup-button
|
||||
@click="showModalAtStep(3)"
|
||||
:class="{'current': current== 3}"
|
||||
:phase="4"
|
||||
title="Riscaldi"
|
||||
:title="'overview.heats' | localize('Riscaldi')"
|
||||
:status="overview.heats"
|
||||
></setup-button>
|
||||
|
||||
<setup-button
|
||||
@click="showModalAtStep(4)"
|
||||
:class="{'current': current== 4}"
|
||||
:phase="5"
|
||||
title="Pirometro"
|
||||
:title="'overview.pyrometer' | localize('Pirometro')"
|
||||
:status="overview.pyrometer"
|
||||
></setup-button>
|
||||
|
||||
<setup-button
|
||||
@click="showModalAtStep(5)"
|
||||
:class="{'current': current== 5}"
|
||||
:phase="6"
|
||||
title="Imbutitura"
|
||||
:title="'overview.drawing' | localize('Imbutitura')"
|
||||
:status="overview.drawing"
|
||||
></setup-button>
|
||||
|
||||
<setup-button
|
||||
@click="showModalAtStep(6)"
|
||||
:class="{'current': current== 6}"
|
||||
:phase="7"
|
||||
title="Controstampo"
|
||||
:title="'overview.upperPlate' | localize('Controstampo')"
|
||||
:status="overview.upperPlate"
|
||||
></setup-button>
|
||||
|
||||
<setup-button
|
||||
@click="showModalAtStep(7)"
|
||||
:class="{'current': current== 7}"
|
||||
:phase="8"
|
||||
title="Raffreddamento"
|
||||
:title="'overview.cooling' | localize('Raffreddamento')"
|
||||
:status="overview.cooling"
|
||||
></setup-button>
|
||||
|
||||
<setup-button
|
||||
@click="showModalAtStep(8)"
|
||||
:class="{'current': current== 8}"
|
||||
:phase="9"
|
||||
title="Vuoto"
|
||||
:title="'overview.vacuum' | localize('Vuoto')"
|
||||
:status="overview.vacuum"
|
||||
></setup-button>
|
||||
|
||||
<setup-button
|
||||
@click="showModalAtStep(9)"
|
||||
:class="{'current': current== 9}"
|
||||
:phase="10"
|
||||
title="Estrazione"
|
||||
:title="'overview.extraction' | localize('Estrazione')"
|
||||
:status="overview.extraction"
|
||||
></setup-button>
|
||||
|
||||
<setup-button
|
||||
@click="showModalAtStep(10)"
|
||||
:class="{'current': current== 10}"
|
||||
:phase="11"
|
||||
title="Opzioni di lavorazione"
|
||||
:title="'overview.options' | localize('Opzioni di lavorazione')"
|
||||
:status="overview.options"
|
||||
></setup-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
+21
-21
@@ -4,7 +4,7 @@
|
||||
<div class="box transparent">
|
||||
<div class="body">
|
||||
<template v-if="recipe.heats_lowerheaters_movement_enabled.status.visible">
|
||||
<div>
|
||||
<div class="input-area">
|
||||
<label>{{'heats_lowerheaters_movement_enabled'|localize('Movimento')}}</label>
|
||||
<toggle-button
|
||||
v-model="recipe.heats_lowerheaters_movement_enabled.setpointHMI"
|
||||
@@ -70,26 +70,26 @@
|
||||
<button class="btn btn-success">Autocomposizione</button>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<div class="input-area grid left">
|
||||
<template v-if="recipe.heats_lowerheaters_oscillation.status.visible">
|
||||
<div>
|
||||
<label>{{'heats_lowerheaters_oscillation'|localize('Oscillazione')}}</label>
|
||||
<toggle-button
|
||||
v-model="recipe.heats_lowerheaters_oscillation.setpointHMI"
|
||||
:status="recipe.heats_lowerheaters_oscillation.status"
|
||||
></toggle-button>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.heats_lowerheaters_enabled.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'heats_lowerheaters_enabled'|localize('Abilitazione riscaldo')}}</label>
|
||||
<toggle-button
|
||||
v-model="recipe.heats_lowerheaters_enabled.setpointHMI"
|
||||
:status="recipe.heats_lowerheaters_enabled.status"
|
||||
></toggle-button>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<!-- <div class="input-area grid left"> -->
|
||||
<template v-if="recipe.heats_lowerheaters_oscillation.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'heats_lowerheaters_oscillation'|localize('Oscillazione')}}</label>
|
||||
<toggle-button
|
||||
v-model="recipe.heats_lowerheaters_oscillation.setpointHMI"
|
||||
:status="recipe.heats_lowerheaters_oscillation.status"
|
||||
></toggle-button>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.heats_lowerheaters_enabled.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'heats_lowerheaters_enabled'|localize('Abilitazione riscaldo')}}</label>
|
||||
<toggle-button
|
||||
v-model="recipe.heats_lowerheaters_enabled.setpointHMI"
|
||||
:status="recipe.heats_lowerheaters_enabled.status"
|
||||
></toggle-button>
|
||||
</div>
|
||||
</template>
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
+21
-21
@@ -4,7 +4,7 @@
|
||||
<div class="box transparent">
|
||||
<div class="body">
|
||||
<template v-if="recipe.heats_upperheaters_movement_enabled.status.visible">
|
||||
<div>
|
||||
<div class="input-area">
|
||||
<label>{{'heats_upperheaters_movement_enabled'|localize('Movimento')}}</label>
|
||||
<toggle-button
|
||||
v-model="recipe.heats_upperheaters_movement_enabled.setpointHMI"
|
||||
@@ -70,26 +70,26 @@
|
||||
<button class="btn btn-success">Autocomposizione</button>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<div class="input-area grid left">
|
||||
<template v-if="recipe.heats_upperheaters_oscillation.status.visible">
|
||||
<div>
|
||||
<label>{{'heats_upperheaters_oscillation'|localize('Oscillazione')}}</label>
|
||||
<toggle-button
|
||||
v-model="recipe.heats_upperheaters_oscillation.setpointHMI"
|
||||
:status="recipe.heats_upperheaters_oscillation.status"
|
||||
></toggle-button>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.heats_upperheaters_enabled.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'heats_upperheaters_enabled'|localize('Abilitazione riscaldo')}}</label>
|
||||
<toggle-button
|
||||
v-model="recipe.heats_upperheaters_enabled.setpointHMI"
|
||||
:status="recipe.heats_upperheaters_enabled.status"
|
||||
></toggle-button>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
<!-- <div class="input-area grid left"> -->
|
||||
<template v-if="recipe.heats_upperheaters_oscillation.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'heats_upperheaters_oscillation'|localize('Oscillazione')}}</label>
|
||||
<toggle-button
|
||||
v-model="recipe.heats_upperheaters_oscillation.setpointHMI"
|
||||
:status="recipe.heats_upperheaters_oscillation.status"
|
||||
></toggle-button>
|
||||
</div>
|
||||
</template>
|
||||
<template v-if="recipe.heats_upperheaters_enabled.status.visible">
|
||||
<div class="input-area">
|
||||
<label>{{'heats_upperheaters_enabled'|localize('Abilitazione riscaldo')}}</label>
|
||||
<toggle-button
|
||||
v-model="recipe.heats_upperheaters_enabled.setpointHMI"
|
||||
:status="recipe.heats_upperheaters_enabled.status"
|
||||
></toggle-button>
|
||||
</div>
|
||||
</template>
|
||||
<!-- </div> -->
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="togglebutton big">
|
||||
<div class="togglebutton big" v-if="status.visible">
|
||||
<label>
|
||||
<input type="checkbox" v-model="bindingValue" :disabled="readOnly" />
|
||||
<input type="checkbox" v-model="bindingValue" :disabled="readOnly || !status.enabled" />
|
||||
<span
|
||||
class="toggle"
|
||||
:class="{'error': status && status.hasError}"
|
||||
|
||||
@@ -23,8 +23,3 @@ Vue.filter("localize", function (key: string, defaultValue: string, ...args): st
|
||||
return pf.vsprintf(value || dvalue || defaultValue, args);
|
||||
});
|
||||
|
||||
export function localizeString(key: string, defaultValue: string) {
|
||||
return store.getters.getLabel(key) || defaultValue;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { localizeString } from "../filters/localizeFilter";
|
||||
export interface MaintenanceStoreModel {
|
||||
maintenances: Array<server.Maintenance>
|
||||
noteMaintenance: Array<server.MaintenanceNote>
|
||||
|
||||
Reference in New Issue
Block a user