parent
c773b42182
commit
f9c2518a02
@ -1,20 +1,95 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div class="flex md6 lg4">
|
||||||
<va-card id="preview" class="content-container"></va-card>
|
<va-inner-loading loading>
|
||||||
<va-card id="description" class="content-container"></va-card>
|
<va-card id="preview" class="content-container">
|
||||||
<va-card id="details" class="content-container"></va-card>
|
<img
|
||||||
<va-card id="map" class="content-container"></va-card>
|
:src="`${this.baseURL}/static/previews/${this.itemDetails.fadr}+/${this.itemDetails.internal_id}.bmp`"
|
||||||
<va-card id="contact" class="content-container"></va-card>
|
:alt="`${this.itemDetails.description}`"
|
||||||
|
/>
|
||||||
|
</va-card>
|
||||||
|
</va-inner-loading>
|
||||||
|
<va-card id="description" class="content-container">
|
||||||
|
<va-card-title>Description</va-card-title>
|
||||||
|
<va-card-content>{{ itemDetails.description }}</va-card-content>
|
||||||
|
</va-card>
|
||||||
|
<div class="flex md6 lg4">
|
||||||
|
<va-card id="details" class="content-container">
|
||||||
|
<va-card-title>Details</va-card-title>
|
||||||
|
|
||||||
|
<va-card-content>
|
||||||
|
<div class="va-table-responsive">
|
||||||
|
<table class="va-table va-table--striped">
|
||||||
|
<tbody>
|
||||||
|
<tr
|
||||||
|
v-for="[key, value] of Object.entries(this.itemDetails).filter(([k, _v]) => !(this.hidden.includes(k)))"
|
||||||
|
>
|
||||||
|
<td>{{ key }}</td>
|
||||||
|
<td>{{ value }}</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</va-card-content>
|
||||||
|
</va-card>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<va-card id="map" class="content-container">
|
||||||
|
<map-component />
|
||||||
|
</va-card>
|
||||||
|
<va-card id="contact" class="content-container">
|
||||||
|
<va-card-title>Contact Sales Representative</va-card-title>
|
||||||
|
</va-card>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import MapComponent from "./MapComponent.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "item-details",
|
name: "item-details",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
itemDetails: {},
|
||||||
|
hidden: [
|
||||||
|
"fadr",
|
||||||
|
"internal_id",
|
||||||
|
"x_coord",
|
||||||
|
"y_coord",
|
||||||
|
"owner",
|
||||||
|
"ownercontacts",
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
itemPreview: {},
|
||||||
|
baseURL: "http://localhost:8080",
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async fetchItemDetails() {
|
||||||
|
const baseURL = "http://localhost:8080/api/v1";
|
||||||
|
fetch(`${baseURL}/item/${this.$route.params.id}`)
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(data => this.itemDetails = data)
|
||||||
|
.catch((e) => console.log(e));
|
||||||
|
},
|
||||||
|
async fetchItemPreview() {
|
||||||
|
const baseURL = "http://localhost:8080/api/v1";
|
||||||
|
fetch(`${baseURL}/static/previews/${this.itemDetails.fadr}+/${this.itemDetails.internal_id}.bmp`)
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(data => this.itemPreview = data)
|
||||||
|
.catch((e) => console.log(e));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.fetchItemDetails();
|
||||||
|
},
|
||||||
|
components: { MapComponent }
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<style lang="css">
|
<style lang="css" scoped>
|
||||||
|
.va-table-responsive {
|
||||||
|
overflow: auto;
|
||||||
|
--va-card-display: flex;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
Loading…
Reference in new issue