Fix Dashboards UI
This commit is contained in:
+1
-1
@@ -3,7 +3,6 @@ declare module Prod {
|
||||
interface IProd {
|
||||
numTarget: number;
|
||||
numDone: number;
|
||||
numPreHot: number;
|
||||
timeWarm: number;
|
||||
timeVent: number;
|
||||
timeVacuum: number;
|
||||
@@ -20,6 +19,7 @@ declare module Prod {
|
||||
interface IProdPanel {
|
||||
numTarget: number;
|
||||
numDone: number;
|
||||
numPreHot: number;
|
||||
inizioProd: string;
|
||||
stimaDurata: number;
|
||||
tempAct: number;
|
||||
|
||||
@@ -48,7 +48,7 @@ export default class MainGauge extends Vue {
|
||||
};
|
||||
}
|
||||
|
||||
get prod() { return store.state.prod.prod }
|
||||
get prod() { return store.state.prod.panel }
|
||||
|
||||
|
||||
polarToCartesian(centerX, centerY, radius, angleInDegrees) {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<svg viewBox="8,8,84,84" class="gauge">
|
||||
<path
|
||||
class="dial"
|
||||
:class="{'ok': (prod.numPreHot ==0), 'pre': (prod.numPreHot != 0) }"
|
||||
:class="{'ok': (!prod.numPreHot || prod.numPreHot ==0), 'pre': (prod.numPreHot && prod.numPreHot != 0) }"
|
||||
fill="none"
|
||||
stroke="#eee"
|
||||
stroke-width="2"
|
||||
@@ -31,11 +31,11 @@
|
||||
</svg>
|
||||
</div>
|
||||
<div ref="gauge2" class="gauge2"></div>
|
||||
<span class="done" v-if="prod.numPreHot == 0">
|
||||
<span class="done" v-if="!prod.numPreHot || prod.numPreHot == 0">
|
||||
{{prod.numDone}}
|
||||
<small class="error" v-if="scrapedItems.length">-{{scrapedItems.length}}</small>
|
||||
</span>
|
||||
<span class="done" v-if="prod.numPreHot != 0">-{{prod.numPreHot}}</span>
|
||||
<span class="done" v-if="prod.numPreHot && prod.numPreHot != 0">-{{prod.numPreHot}}</span>
|
||||
<hr />
|
||||
<span class="target">{{prod.numTarget}}</span>
|
||||
</div>
|
||||
|
||||
@@ -9,6 +9,13 @@ export default class Item extends Vue {
|
||||
@Prop()
|
||||
value: Prod.IProd;
|
||||
|
||||
@Prop()
|
||||
panel: Prod.IProdPanel
|
||||
|
||||
get noDisplayNumber(){
|
||||
return this.panel && this.value.numDone > this.panel.numTarget;
|
||||
}
|
||||
|
||||
showDetails: boolean = false;
|
||||
|
||||
async setScrap(num: number) {
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<template>
|
||||
<div class="history-item">
|
||||
<div class="body" @click="showDetails = !showDetails">
|
||||
<label :class="{red: value.isScrap}">{{value.numDone}}</label>
|
||||
<label v-if="noDisplayNumber">--</label>
|
||||
<label :class="{red: value.isScrap}" v-else>{{value.numDone}}</label>
|
||||
<div class="col">
|
||||
<small>{{'history-item_warmup' | localize("tempo riscaldo")}}</small>
|
||||
<span>{{Math.floor(value.timeWarm / 60) | round(0)}}'{{value.timeWarm % 60 | round(0)}}''</span>
|
||||
|
||||
@@ -48,15 +48,13 @@ export default class Dashboard extends Vue {
|
||||
|
||||
@Watch("lastItem", { deep: true })
|
||||
async lastitemChanged(n: Prod.IProd, o) {
|
||||
if (this.items.length && n.numDone - 1 != this.items[0].numDone) {
|
||||
if ((this.items.length && n.numDone - 1 != this.items[0].numDone) || (!this.items.length && n.numDone > 1)) {
|
||||
let result = await prodService.History(n.numDone - 1, 1);
|
||||
if (result && result.length) {
|
||||
for (const i of result) {
|
||||
this.itemsMap.set(i.numDone, i);
|
||||
}
|
||||
|
||||
this.items = Array.from(this.itemsMap.values()).sort((a, b) => b.numDone - a.numDone);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,6 +92,7 @@ export default class Dashboard extends Vue {
|
||||
get softKeys(): { [id: number]: SoftKeysConfigurationModel[] } {
|
||||
return store.state.machineInfo.softKeys as { [id: number]: SoftKeysConfigurationModel[] };
|
||||
}
|
||||
|
||||
|
||||
get allSoftKeys(): SoftKeysConfigurationModel[] {
|
||||
var result = [];
|
||||
|
||||
@@ -182,7 +182,7 @@
|
||||
></stats>
|
||||
</div>
|
||||
<div class="current-item">
|
||||
<hitem :value="lastItem"></hitem>
|
||||
<hitem :value="lastItem" :panel="panel"></hitem>
|
||||
</div>
|
||||
<div class="history-list scrollable">
|
||||
<hitem :value="item" v-for="(item, idx) in items" :key="idx"></hitem>
|
||||
|
||||
@@ -18,11 +18,11 @@ import { Hub } from '@/services';
|
||||
export default class Processo extends Vue {
|
||||
|
||||
get actual(): number {
|
||||
return store.state.prod.prod.numDone;
|
||||
return store.state.prod.panel.numDone;
|
||||
};
|
||||
|
||||
get tot(): number {
|
||||
return store.state.prod.prod.numTarget;
|
||||
return store.state.prod.panel.numTarget;
|
||||
};
|
||||
|
||||
get blocks(): server.Modblock[] {
|
||||
|
||||
+1
-1
@@ -45,11 +45,11 @@ export default class AvvioProduzione extends Vue {
|
||||
|
||||
async showDashboard() {
|
||||
|
||||
await prodService.Start(this.pieces.setpointHMI, this.newjob, this.warmuppieces.setpointHMI);
|
||||
if (this.newjob) {
|
||||
messageService.publishToChannel('restart-cycle');
|
||||
prodActions.resetProd(store);
|
||||
}
|
||||
await prodService.Start(this.pieces.setpointHMI, this.newjob, this.warmuppieces.setpointHMI);
|
||||
|
||||
|
||||
ModalHelper.HideModal();
|
||||
|
||||
@@ -55,6 +55,7 @@ export const prodStore = {
|
||||
tempSetpoint: 0,
|
||||
lastCadenza: 0,
|
||||
lastTCiclo: 0,
|
||||
numPreHot: 0
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user