layout termo - manca storico immagini da leggere correttamente per fare prove

This commit is contained in:
=
2021-02-23 17:37:13 +01:00
parent 0ba2c8305c
commit 9c54f3aaa9
3 changed files with 56 additions and 118 deletions
@@ -1,126 +1,34 @@
import Component from "vue-class-component";
import Vue from "vue";
import { ModalHelper, Modal } from "@/components/modals";
import { Prop } from "vue-property-decorator";
import { Prop, Watch } from "vue-property-decorator";
import { warmersService } from "@/services/warmersService";
@Component({
components: { modal: Modal },
})
export default class ThermoModal extends Vue {
@Prop()
TCamData: {
imageSize: { x: number, y: number },
rangeTemperature: { max: number, min: number },
} = {
imageSize: { x: 1024, y: 768 },
rangeTemperature: { max: 100, min: 0 }
}
get tstep() {
return (this.TCamData.rangeTemperature.max - this.TCamData.rangeTemperature.min) / 6;
}
measurePoints: {
x: number, y: number, temp: number
}[] = [];
showPreview = 0;
selectedImage: number = 0;
serverPath = "/thermoprophet/colored";
images = ['20201104-163047.jpg',
'20201104-163309.jpg',
'20201104-163547.jpg',
'20201104-163826.jpg',
'20201104-164544.jpg',
'20201104-164850.jpg',
'20201104-165142.jpg',
'20201104-165418.jpg',
'20201104-165658.jpg',
'20201104-170154.jpg',
'20201104-170504.jpg',
'20201104-170741.jpg',
'20201104-171015.jpg',
'20201104-171256.jpg',
'20201110-141036.jpg',
'20201110-141318.jpg',
'20201110-141600.jpg',
'20201110-141842.jpg',
'20201110-142125.jpg',
'20201110-142333.jpg',
'20201110-142610.jpg',
'20201110-142852.jpg',
'20201110-143132.jpg',
'20201110-143434.jpg',
'20201110-155540.jpg',
'20201112-161151.jpg',
'20201112-161427.jpg',
'20201112-161701.jpg',
'20201112-161935.jpg',
'20201112-162221.jpg',
'20201112-163046.jpg',
'20201112-163107.jpg',
'20201112-163134.jpg',
'20201112-163141.jpg',
'20201112-163152.jpg',
'20201112-163235.jpg',
'20201112-163249.jpg',
'20201112-163313.jpg',
'20201112-163355.jpg',
'20201112-163435.jpg',
'20201112-163946.jpg',
'20201112-165438.jpg',
'20201112-165908.jpg',
'20201112-165931.jpg',
'20201112-165952.jpg',
'20201112-170518.jpg',
'20201112-170531.jpg',
'20201112-170604.jpg',
'20201112-170654.jpg',
'20201112-171322.jpg',
'20201112-171842.jpg',
'20201112-171946.jpg',
'20201112-172249.jpg',
'20201112-172440.jpg',
'20201112-172636.jpg',
'20201112-172834.jpg',
'20201112-173642.jpg',
'20201112-174108.jpg',
'20201112-174216.jpg',
'20201112-175159.jpg',
'20201113-141151.jpg',
'20201113-145345.jpg',
'20201113-145524.jpg',
'20201113-145707.jpg',
'20201113-145915.jpg',
'20201113-150118.jpg',
'20201113-150321.jpg',
'20201113-150527.jpg',
'20201113-150740.jpg',
'20201113-150959.jpg',
'20201113-153100.jpg',
'20201113-153143.jpg',
'20201113-153302.jpg',
'20201113-162158.jpg',
'20201113-162335.jpg',
'20201116-091043.jpg',
'20201116-091230.jpg',
'20201116-091419.jpg',
'20201116-091615.jpg',
'20201116-091828.jpg',
'20201116-092041.jpg',
'20201116-092301.jpg',
'20201116-092528.jpg',
'20201116-092802.jpg',
'20201116-093040.jpg',
'20201116-093327.jpg',
'20201116-093616.jpg',
'20201116-093914.jpg',
'20201116-100141.jpg',
'20201116-100404.jpg',
'20201116-100632.jpg',
'20201116-100858.jpg',
'20201116-101125.jpg',
'20201116-101403.jpg',
'20201116-101629.jpg',
'20201116-101858.jpg',
'20201116-102128.jpg',
'20201116-102356.jpg',
'20201116-102623.jpg',
'20201116-102847.jpg',
'20201116-103108.jpg',
'20201116-103332.jpg',
'20201116-103557.jpg',
'20201116-103819.jpg',
'20201116-104042.jpg',
'20201116-104305.jpg',
'20201116-104529.jpg',
@@ -137,6 +45,23 @@ export default class ThermoModal extends Vue {
ModalHelper.HideModal("modal2");
}
mounted() {
async mounted() {
this.TCamData = await warmersService.GetTCamData();
await warmersService.ResetMeasurePoints();
}
async imageclick(evt: MouseEvent) {
let t = evt.target as HTMLImageElement;
let x = (evt.offsetX / t.clientWidth) * t.naturalWidth;
let y = (evt.offsetY / t.clientHeight) * t.naturalHeight;
await warmersService.SetMeasurePoints(x, y);
await this.ReloadMeasures();
}
@Watch("selectedImage")
async ReloadMeasures() {
this.measurePoints = await warmersService.GetMeasurePoints(this.images[this.selectedImage])
}
}
@@ -4,31 +4,32 @@
<i class="fa fa-remove"></i>
</button>
<div class="imagecontainer">
<img :src="`${serverPath}/${images[parseInt(selectedImage)]}`" />
<img :src="`${serverPath}/${images[parseInt(selectedImage)]}`" @click="imageclick" />
<span>{{'thermo-long-tap-info' | localize("Long tap on image to add temperature inspectors")}}</span>
<div
class="measure"
:style="`left:${m.x}px; top:${m.y}px`"
v-for="(m,idx) in measurePoints"
:key="idx"
>{{m.temp}} °C</div>
</div>
<div class="color-bar">
<div class="color-line"></div>
<div class="legend">
<span>300° C</span>
<span>270° C</span>
<span>240° C</span>
<span>210° C</span>
<span>180° C</span>
<span>150° C</span>
<span>120° C</span>
<span v-for="c in 7" :key="c">{{Math.round(TCamData.rangeTemperature.max - tstep*(c-1))}}° C</span>
</div>
</div>
<div class="image-selector">
<div class="timeseries">
<time>{{'first-image' | localize("First image")}}</time>
<time>{{'last-image' | localize("Last image")}}</time>
<!-- <time>{{'first-image' | localize("First image")}}</time>
<time>{{'last-image' | localize("Last image")}}</time>-->
</div>
<img
:src="`${serverPath}/${images[parseInt(selectedImage)]}`"
v-if="showPreview"
class="selector"
:style="`left:${(parseInt(selectedImage) / images.length) * 858}px`"
:style="`left:${(parseInt(selectedImage) / (images.length-1)) * 858}px`"
/>
<input
type="range"
@@ -41,7 +42,7 @@
<div class="selectorarea">
<span
class="selector"
:style="`left:${(parseInt(selectedImage) / images.length) * 858}px`"
:style="`left:${(parseInt(selectedImage) / (images.length-1)) * 858}px`"
>{{'thermo-cycle' | localize("Cycle")}} {{selectedImage}}</span>
</div>
</div>
@@ -3,6 +3,7 @@ import { CONFIGURATION } from "@/config";
import { warmersActions } from "@/store/warmers.store";
import { store } from "@/store";
import Warmers from "@/app_modules_thermo/setup/riscaldi/components/base-components/warmers";
import Numeric from "@/app_modules_thermo/components/numeric";
export class WarmersService extends baseRestService {
@@ -74,5 +75,16 @@ export class WarmersService extends baseRestService {
return result;
}
async GetMeasurePoints(setname: string): Promise<any> {
return await this.Get<any>((await this.BASE_URL()) + `getMeasurePoints?setName=${setname}`, true);
}
async SetMeasurePoints(x: number, y: number) {
return await this.Put((await this.BASE_URL()) + `addMeasurePoint?posX=${Math.round(x)}&posY=${Math.round(y)}`, null, true);
}
async ResetMeasurePoints() {
return this.Put((await this.BASE_URL()) + `resetMeasurePoint`, null, true);
}
}
export const warmersService = new WarmersService();