date stuff

This commit is contained in:
Tyrel Souza 2023-10-11 00:57:27 -04:00
parent 00b3607602
commit c22c7e2b06
No known key found for this signature in database
GPG Key ID: F3614B02ACBE438E
2 changed files with 351 additions and 285 deletions

View File

@ -80,8 +80,8 @@ import "@vuepic/vue-datepicker/dist/main.css";
const model = ref(""), const model = ref(""),
serial = ref(""), serial = ref(""),
cert_id = ref(""), cert_id = ref(""),
due_date = ref(""), due_date = ref(new Date),
date = ref(""); date = ref(new Date);
const flow = ref(["year", "month", "calendar"]); const flow = ref(["year", "month", "calendar"]);

View File

@ -1,8 +1,9 @@
<template> <template>
<div class="card-header">Finished?</div> <div class="card-header">Finished?</div>
<div class="card-body"> <div class="card-body">
<button class="custom-button" @click="exportToPDF">Generate PDF and Label</button> <button class="custom-button" @click="exportToPDF">
{{ i_date() }}, {{ i_due_date() }} Generate PDF and Label
</button>
<div :class="{ hide: hide }"> <div :class="{ hide: hide }">
<div id="pdf" ref="document"> <div id="pdf" ref="document">
<div class="header"> <div class="header">
@ -29,27 +30,62 @@
<div class="flex-container"> <div class="flex-container">
<div class="column pct-33"> <div class="column pct-33">
<div><span class="ul">Instrument</span></div> <div><span class="ul">Instrument</span></div>
<div><span class="label">Model :</span>{{props.instrument?.model}}</div> <div>
<div><span class="label">Serial# :</span>{{props.instrument?.serial_number}}</div> <span class="label">Model :</span>{{ props.instrument?.model }}
<div><span class="label">Channel :</span>{{props.instrument?.channel}}</div> </div>
<div><span class="label">Transducer Model :</span>{{props.instrument?.transducer_model}}</div> <div>
<div><span class="label">Transducer Span :</span>{{props.instrument?.transducer_span}}</div> <span class="label">Serial# :</span
>{{ props.instrument?.serial_number }}
</div>
<div>
<span class="label">Channel :</span
>{{ props.instrument?.channel }}
</div>
<div>
<span class="label">Transducer Model :</span
>{{ props.instrument?.transducer_model }}
</div>
<div>
<span class="label">Transducer Span :</span
>{{ props.instrument?.transducer_span }}
</div>
</div> </div>
<div class="column pct-33"> <div class="column pct-33">
<div><span class="ul">Primary Cal Device</span></div> <div><span class="ul">Primary Cal Device</span></div>
<div><span class="label">Model :</span>{Model}</div> <div>
<div><span class="label">Serial# :</span>{Serial_no}</div> <span class="label">Model :</span>{{ props.calibration?.model }}
<div><span class="label">Cal Date :</span>{Cal Date}</div> </div>
<div><span class="label">Cal Due Date :</span>{Serial_no}</div> <div>
<div><span class="label">Cert ID :</span>{Cert ID}</div> <span class="label">Serial# :</span
>{{ props.calibration?.serial }}
</div>
<div><span class="label">Cal Date :</span>{{ c_date() }}</div>
<div>
<span class="label">Cal Due Date :</span>{{ c_due_date() }}
</div>
<div>
<span class="label">Cert ID :</span
>{{ props.calibration?.cert_id }}
</div>
</div> </div>
<div class="column pct-33"> <div class="column pct-33">
<div><span class="label">Cal Date :</span>{{ i_date() }}</div> <div><span class="label">Cal Date :</span>{{ i_date() }}</div>
<div><span class="label">Cal Due Date :</span>{{i_due_date()}}</div> <div>
<span class="label">Cal Due Date :</span>{{ i_due_date() }}
</div>
<div><span class="ul">Environmental Data</span></div> <div><span class="ul">Environmental Data</span></div>
<div><span class="label">Baro (Psi) :</span>{Baro}</div> <div>
<div><span class="label">Temp (&deg;F):</span>{Temp}</div> <span class="label">Baro (Psi) :</span
<div><span class="label">Humidity (%RH):</span>{Humidity}</div> >{{ props.environment?.pressure }}
</div>
<div>
<span class="label">Temp (&deg;F):</span
>{{ props.environment?.temperature }}
</div>
<div>
<span class="label">Humidity (%RH):</span
>{{ props.environment?.humidity }}}
</div>
</div> </div>
</div> </div>
</div> </div>
@ -116,14 +152,16 @@
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr><tr> </tr>
<tr>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
</tr><tr> </tr>
<tr>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
<td>&nbsp;</td> <td>&nbsp;</td>
@ -251,13 +289,13 @@
<!-- End Instruments--> <!-- End Instruments-->
<div class="box"> <div class="box">
<p> <p>
Secondary Cal Device (For Environmental Data): EXTECH S/N A23050006 Cert Secondary Cal Device (For Environmental Data): EXTECH S/N A23050006
# 1535483 07/24/23 (Cal Date) (Precision Psychrometer) Cert # 1535483 07/24/23 (Cal Date) (Precision Psychrometer)
</p> </p>
<p> <p>
Uncertainty Statement: The accuracy of measurement is determined by the Uncertainty Statement: The accuracy of measurement is determined by
standards uncertainty, with a coverage factor of k=2 (confidence of the standards uncertainty, with a coverage factor of k=2 (confidence
roughly 95%). of roughly 95%).
</p> </p>
</div> </div>
</div> </div>
@ -266,8 +304,7 @@
</template> </template>
<script setup> <script setup>
import {ref, defineProps} from "vue" import { ref, defineProps } from "vue";
import { format } from 'date-fns';
import html2pdf from "html2pdf.js"; import html2pdf from "html2pdf.js";
import BenchTopLogoUrl from "../../assets/BenchTopLogo.png"; import BenchTopLogoUrl from "../../assets/BenchTopLogo.png";
import Al2pCertUrl from "../../assets/al2pCert.png"; import Al2pCertUrl from "../../assets/al2pCert.png";
@ -278,46 +315,76 @@ const props = defineProps({
customer: Object, customer: Object,
environment: Object, environment: Object,
instrument: Object, instrument: Object,
calibration: Object calibration: Object,
}) });
const onsite = () => { const onsite = () => {
return props.customer?.onsite_cal ? "Yes" : "No" return props.customer?.onsite_cal ? "Yes" : "No";
} };
const i_date = () => { const i_date = () => {
if (props.instrument?.date === undefined){ if (props.instrument === undefined) {
return return
} }
const date = props.instrument.date if (props.instrument.date === undefined) {
const year = date.getFullYear(); return
const month = (date.getMonth() + 1).toString().padStart(2, '0'); // Month is zero-based, so we add 1
const day = date.getDate().toString().padStart(2, '0');
return `${year}/${month}/${day}`
} }
const d = props.instrument.date
const year = d.getFullYear();
const month = (d.getMonth() + 1).toString().padStart(2, "0"); // Month is zero-based, so we add 1
const day = d.getDate().toString().padStart(2, "0");
return `${year}/${month}/${day}`;
};
const i_due_date = () => { const i_due_date = () => {
if (props.instrument?.due_date === undefined) { if (props.instrument?.due_date === undefined) {
return return;
} }
const date = props.instrument.due_date const d = props.instrument.due_date
const year = date.getFullYear(); const year = d.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0'); // Month is zero-based, so we add 1 const month = (d.getMonth() + 1).toString().padStart(2, "0"); // Month is zero-based, so we add 1
const day = date.getDate().toString().padStart(2, '0'); const day = d.getDate().toString().padStart(2, "0");
return `${year}/${month}/${day}` return `${year}/${month}/${day}`;
};
const c_date = () => {
if (props.calibration?.date === undefined) {
return;
} }
const d = props.calibration.date
const year = d.getFullYear();
const month = (d.getMonth() + 1).toString().padStart(2, "0"); // Month is zero-based, so we add 1
const day = d.getDate().toString().padStart(2, "0");
return `${year}/${month}/${day}`;
};
const c_due_date = () => {
if (props.calibration?.due_date === undefined) {
return;
}
const d = props.calibration.due_date
const year = d.getFullYear();
const month = (d.getMonth() + 1).toString().padStart(2, "0"); // Month is zero-based, so we add 1
const day = d.getDate().toString().padStart(2, "0");
return `${year}/${month}/${day}`;
};
const exportToPDF = () => { const exportToPDF = () => {
const element = document.getElementById("pdf") const element = document.getElementById("pdf");
var opt = { var opt = {
margin: 0.4, margin: 0.4,
filename: 'myfile.pdf', filename: "myfile.pdf",
image: { type: 'jpeg', quality: 0.98 }, image: { type: "jpeg", quality: 0.98 },
html2canvas: { scale: 2 }, html2canvas: { scale: 2 },
jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' } jsPDF: { unit: "in", format: "letter", orientation: "portrait" },
}; };
html2pdf().from(element).set(opt).save(); html2pdf().from(element).set(opt).save();
}; };
const dt = (d) => {
};
</script> </script>
<style scoped> <style scoped>
@ -363,7 +430,6 @@ h1 {
font-size: 8pt; font-size: 8pt;
} }
.pct-50 { .pct-50 {
width: 45%; width: 45%;
} }