parent
c773b42182
commit
f9c2518a02
@ -1,20 +1,95 @@
|
||||
<template>
|
||||
<div>
|
||||
<va-card id="preview" class="content-container"></va-card>
|
||||
<va-card id="description" class="content-container"></va-card>
|
||||
<va-card id="details" class="content-container"></va-card>
|
||||
<va-card id="map" class="content-container"></va-card>
|
||||
<va-card id="contact" class="content-container"></va-card>
|
||||
<div class="flex md6 lg4">
|
||||
<va-inner-loading loading>
|
||||
<va-card id="preview" class="content-container">
|
||||
<img
|
||||
:src="`${this.baseURL}/static/previews/${this.itemDetails.fadr}+/${this.itemDetails.internal_id}.bmp`"
|
||||
: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>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import MapComponent from "./MapComponent.vue";
|
||||
export default {
|
||||
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>
|
||||
|
||||
|
||||
<style lang="css">
|
||||
<style lang="css" scoped>
|
||||
.va-table-responsive {
|
||||
overflow: auto;
|
||||
--va-card-display: flex;
|
||||
}
|
||||
</style>
|
||||
Loading…
Reference in new issue