58 lines
1.0 KiB
Vue
58 lines
1.0 KiB
Vue
|
<template>
|
||
|
<div
|
||
|
class="marketplace-page"
|
||
|
:data-page-name="page_name"
|
||
|
v-if="init || items.length"
|
||
|
>
|
||
|
<h5>{{ item_container_heading }}</h5>
|
||
|
<item-cards-container
|
||
|
:container_name="item_container_heading"
|
||
|
:items="items"
|
||
|
:item_id_fieldname="item_id_fieldname"
|
||
|
:on_click="go_to_item_details_page"
|
||
|
>
|
||
|
</item-cards-container>
|
||
|
</div>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
export default {
|
||
|
name: 'seller-items-page',
|
||
|
data() {
|
||
|
return {
|
||
|
page_name: frappe.get_route()[1],
|
||
|
seller_company: frappe.get_route()[2],
|
||
|
|
||
|
init: true,
|
||
|
items:[],
|
||
|
item_id_fieldname: 'name',
|
||
|
};
|
||
|
},
|
||
|
created() {
|
||
|
this.get_seller_and_items();
|
||
|
},
|
||
|
computed: {
|
||
|
item_container_heading() {
|
||
|
return __('Items by ' + this.seller_company);
|
||
|
}
|
||
|
},
|
||
|
methods: {
|
||
|
get_seller_and_items() {
|
||
|
hub.call(
|
||
|
'get_items',
|
||
|
{ company: this.seller_company }
|
||
|
).then(data => {
|
||
|
this.init = false;
|
||
|
this.items = data;
|
||
|
});
|
||
|
},
|
||
|
|
||
|
go_to_item_details_page(hub_item_name) {
|
||
|
frappe.set_route(`marketplace/item/${hub_item_name}`);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style scoped></style>
|