Compare commits

...

3 Commits

Author SHA1 Message Date
a9a8a60bbf 20250721 2025-07-21 17:27:51 +02:00
194239b6c5 . 2025-06-04 17:48:47 +02:00
070093b945 . 2025-06-04 15:36:11 +02:00
5 changed files with 105 additions and 47 deletions

View File

@ -150,8 +150,8 @@ onMounted(async () => {
async function getLoginToken(username, password) {
const credentials = btoa(`${username}:${password}`); // base64 encoding
const response = await fetch('/unilab/servlet/oauth/token?scope=logintoken', {
const response = await fetch('/ahi/servlet/oauth/token?scope=logintoken', {
//const response = await fetch('/unilab/servlet/oauth/token?scope=logintoken', {
method: 'POST',
headers: {
'Authorization': `Basic ${credentials}`,
@ -168,7 +168,8 @@ async function getLoginToken(username, password) {
}
async function fetchReportDataWithToken(token, pSERCER) {
const response = await fetch(`/unilab/servlet/api/pi_flabreportapi?pSERCER=${encodeURIComponent(pSERCER)}`, {
const response = await fetch(`/ahi/servlet/api/pi_flabreportapi?pSERCER=${encodeURIComponent(pSERCER)}`, {
//const response = await fetch(`/unilab/servlet/api/pi_flabreportapi?pSERCER=${encodeURIComponent(pSERCER)}`, {
headers: {
'Authorization': `Bearer ${token}`
},
@ -323,6 +324,9 @@ header {
margin-top: 16px;
margin-bottom: 2px;
text-align: center;
white-space: pre-wrap; /* preserves newlines */
word-break: break-word; /* wraps long lines if needed */
}
.sub-header {

View File

@ -64,7 +64,7 @@
<td>{{ formatNumber(row.dimA, 2) }}</td>
<td>{{ formatNumber(row.dimH, 2) }}</td>
<td>{{ formatNumber(row.massaVolumica, 0) }}</td>
<td>{{ formatNumber(row.f, 1) }}</td>
<td>{{ formatNumber(row.f, 2) }}</td>
<td>{{ formatNumber(row.rc, 2) }}</td>
<td v-if="row.rowspanRprelievo > 0" :rowspan="row.rowspanRprelievo">{{ row.rprelievo }}</td>
<td>{{ row.rType }}</td>
@ -85,14 +85,25 @@
return new Date(dateStr).toLocaleDateString('it-IT')
}
function formatNumber(val, decimals) {
return val != null
? Number(val).toLocaleString('it-IT', {
minimumFractionDigits: decimals,
maximumFractionDigits: decimals
})
: '—'
}
function formatNumber(val, decimals = 2, useGrouping = false) {
if (val == null) return '—'
return Number(val).toLocaleString('it-IT', {
minimumFractionDigits: decimals,
maximumFractionDigits: decimals,
useGrouping
})
}
</script>
<style>
table:first-of-type thead tr:first-child > th:nth-child(6),
table:first-of-type tbody tr > td:nth-child(6) {
max-width: 150px; /* imposta qui la larghezza massima desiderata */
overflow-wrap: break-word;
word-wrap: break-word;
}
</style>

View File

@ -39,7 +39,7 @@
<th colspan="3">Dimensioni</th>
<th rowspan="2">Massa<br>volumica</th>
<th rowspan="2">F</th>
<th rowspan="2">R<sub>c</sub></th>
<th rowspan="2">R<sub>c</sub>*</th>
<th rowspan="2">R<sub>PRELIEVO</sub></th>
<th rowspan="3">R**</th>
<th rowspan="3">P***</th>
@ -88,14 +88,25 @@
return new Date(dateStr).toLocaleDateString('it-IT')
}
function formatNumber(val, decimals) {
return val != null
? Number(val).toLocaleString('it-IT', {
minimumFractionDigits: decimals,
maximumFractionDigits: decimals
})
: '—'
}
function formatNumber(val, decimals = 2, useGrouping = false) {
if (val == null) return '—'
return Number(val).toLocaleString('it-IT', {
minimumFractionDigits: decimals,
maximumFractionDigits: decimals,
useGrouping
})
}
</script>
<style>
table:first-of-type thead tr:first-child > th:nth-child(6),
table:first-of-type tbody tr > td:nth-child(6) {
max-width: 150px; /* imposta qui la larghezza massima desiderata */
overflow-wrap: break-word;
word-wrap: break-word;
}
</style>

View File

@ -28,7 +28,7 @@
<td>{{ row.verbale }}</td>
<td>{{ formatDate(row.dataPrelievo) }}</td>
<td>{{ formatNumber(row.diaNom,0) }}</td>
<td>{{ formatNumber(row.dimA,0) }}</td>
<td>{{ formatNumber(row.lunBase,0) }}</td>
<td>{{ formatNumber(row.masG,1) }}</td>
<td>{{ formatNumber(row.diaEff,2) }}</td>
<td>{{ row.ferriera }}</td>
@ -84,13 +84,27 @@
return new Date(dateStr).toLocaleDateString('it-IT')
}
function formatNumber(val, decimals) {
return val != null
? Number(val).toLocaleString('it-IT', {
minimumFractionDigits: decimals,
maximumFractionDigits: decimals
})
: '—'
}
function formatNumber(val, decimals = 2, useGrouping = false) {
if (val == null) return '—'
return Number(val).toLocaleString('it-IT', {
minimumFractionDigits: decimals,
maximumFractionDigits: decimals,
useGrouping
})
}
</script>
</script>
<style>
/* Seleziona il 10° <th> nella riga di intestazione */
table:first-of-type thead tr:first-child > th:nth-child(10),
/* Seleziona tutte le celle <td> in posizione 10 nei body */
table:first-of-type tbody tr > td:nth-child(10) {
max-width: 150px; /* imposta qui la larghezza massima desiderata */
overflow-wrap: break-word;
word-wrap: break-word;
}
</style>

View File

@ -28,8 +28,8 @@
<td>{{ row.verbale }}</td>
<td>{{ formatDate(row.dataPrelievo) }}</td>
<td>{{ formatNumber(row.diaNom,0) }}</td>
<td>{{ formatNumber(row.dimA,0) }}</td>
<td>{{ formatNumber(row.masG,1) }}</td>
<td>{{ formatNumber(row.lunBase,2) }}</td>
<td>{{ formatNumber(row.masG,2) }}</td>
<td>{{ formatNumber(row.diaEff,2) }}</td>
<td>{{ row.ferriera }}</td>
<td v-if="row.rowspanArea > 0" :rowspan="row.rowspanArea">{{ row.area }}</td>
@ -63,10 +63,10 @@
<tr v-for="row in risult_data" :key="row.idProvino">
<td>{{ row.idProvino }}</td>
<td>{{ formatNumber(row.carsne,2) }}</td>
<td>{{ formatNumber(row.tensne,1) }}</td>
<td>{{ formatNumber(row.tensne,2) }}</td>
<td>{{ formatNumber(row.carot,2) }}</td>
<td>{{ formatNumber(row.tenrot,1) }}</td>
<td>{{ formatNumber(row.agt,1) }}</td>
<td>{{ formatNumber(row.tenrot,2) }}</td>
<td>{{ formatNumber(row.agt,2) }}</td>
<td>{{ formatNumber(row.ftFy,2) }}</td>
<td>{{ formatNumber(row.ftFyNom,2) }}</td>
<td>{{ formatNumber(row.disnod,2) }}</td>
@ -87,13 +87,31 @@
return new Date(dateStr).toLocaleDateString('it-IT')
}
function formatNumber(val, decimals) {
return val != null
? Number(val).toLocaleString('it-IT', {
minimumFractionDigits: decimals,
maximumFractionDigits: decimals
})
: '—'
}
function formatNumber(val, decimals = 2, useGrouping = false) {
if (val == null) return '—'
return Number(val).toLocaleString('it-IT', {
minimumFractionDigits: decimals,
maximumFractionDigits: decimals,
useGrouping
})
}
</script>
</script>
<style>
/* Seleziona il 10° <th> nella riga di intestazione */
table:first-of-type thead tr:first-child > th:nth-child(10),
/* Seleziona tutte le celle <td> in posizione 10 nei body */
table:first-of-type tbody tr > td:nth-child(10) {
max-width: 150px; /* imposta qui la larghezza massima desiderata */
overflow-wrap: break-word;
word-wrap: break-word;
}
</style>