Basic preview & print settings
This commit is contained in:
@ -1,11 +1,18 @@
|
|||||||
<template>
|
<template>
|
||||||
<q-page padding>
|
<q-page padding class="main-grid">
|
||||||
<!-- content -->
|
<q-toolbar class="print-settings">
|
||||||
PRINT SETTINGS
|
<q-btn @click="openPrintPage">Open Print Page</q-btn>
|
||||||
<q-btn @click="openPrintPage">Open Print Page</q-btn>
|
<q-input type="number" v-model="itemsW" min="1"></q-input>
|
||||||
<pre>
|
<q-input type="number" v-model="itemsH" min="1"></q-input>
|
||||||
{{items}}
|
<q-slider v-model="pageMargin" :min="1" label></q-slider>
|
||||||
</pre>
|
<q-slider v-model="pageGap" :min="1" label></q-slider>
|
||||||
|
</q-toolbar>
|
||||||
|
<div class="print-preview">
|
||||||
|
<div class="grid-container" :style="{gridTemplateColumns: `repeat(${itemsW}, 1fr)`, gridTemplateRows: `repeat(${itemsH}, 1fr)`, gap: `${pageGap/10}% ${pageGap*1.414/10}%`, padding: `${pageMargin/10}%`}">
|
||||||
|
<div v-for="i in (itemsW*itemsH)" :key="i" class="grid-item">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</q-page>
|
</q-page>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -17,7 +24,11 @@ export default {
|
|||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
items: null,
|
items: null,
|
||||||
qrCodes: []
|
qrCodes: [],
|
||||||
|
itemsW: 3,
|
||||||
|
itemsH: 4,
|
||||||
|
pageMargin: 10,
|
||||||
|
pageGap: 10
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -101,3 +112,35 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.main-grid {
|
||||||
|
display: grid;
|
||||||
|
gap: 10px;
|
||||||
|
height: 100%;
|
||||||
|
max-height: 100vh;
|
||||||
|
}
|
||||||
|
.print-preview {
|
||||||
|
height: 50vh;
|
||||||
|
aspect-ratio: 1/1.414;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.grid-container {
|
||||||
|
display: grid;
|
||||||
|
gap: 10px;
|
||||||
|
height: 100%;
|
||||||
|
width:100%;
|
||||||
|
page-break-after: always;
|
||||||
|
border: 1px solid gray;
|
||||||
|
}
|
||||||
|
.grid-item {
|
||||||
|
border: 1px solid gray;
|
||||||
|
border-radius: 8px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 10px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
Reference in New Issue
Block a user