update for Warranty plugin

This commit is contained in:
Gloomy 2025-08-22 09:08:47 +00:00
parent 6cbd431edb
commit 681262c33e
2 changed files with 184 additions and 148 deletions

View file

@ -24,14 +24,8 @@
<div class="scanner-corner bottom-left"></div>
<div class="scanner-corner bottom-right"></div>
</div>
<qrcode-stream
:camera="camera"
:torch="isFlashOn"
:formats="formats"
:track="overlay ? paintOutline : undefined"
@detect="onDetect"
@init="onInit"
/>
<qrcode-stream :camera="camera" :torch="isFlashOn" :formats="formats"
:track="overlay ? paintOutline : undefined" @detect="onDetect" @init="onInit" />
</div>
</v-card-text>
@ -175,11 +169,13 @@
align-items: center;
justify-content: center;
}
.scanner-container video {
width: 100%;
height: 100%;
object-fit: cover;
}
.scanner-overlay {
position: absolute;
top: 0;
@ -189,6 +185,7 @@
z-index: 1;
pointer-events: none;
}
.scanner-line {
position: absolute;
top: 50%;
@ -198,6 +195,7 @@
background: #00ff00;
animation: scan 2s linear infinite;
}
.scanner-corner {
position: absolute;
width: 20px;
@ -206,15 +204,49 @@
border-style: solid;
border-width: 0;
}
.scanner-corner.top-left { top: 20%; left: 20%; border-top-width: 4px; border-left-width: 4px; }
.scanner-corner.top-right { top: 20%; right: 20%; border-top-width: 4px; border-right-width: 4px; }
.scanner-corner.bottom-left { bottom: 20%; left: 20%; border-bottom-width: 4px; border-left-width: 4px; }
.scanner-corner.bottom-right { bottom: 20%; right: 20%; border-bottom-width: 4px; border-right-width: 4px; }
@keyframes scan {
0% { transform: translateY(-50px); }
50% { transform: translateY(50px); }
100% { transform: translateY(-50px); }
.scanner-corner.top-left {
top: 20%;
left: 20%;
border-top-width: 4px;
border-left-width: 4px;
}
.scanner-corner.top-right {
top: 20%;
right: 20%;
border-top-width: 4px;
border-right-width: 4px;
}
.scanner-corner.bottom-left {
bottom: 20%;
left: 20%;
border-bottom-width: 4px;
border-left-width: 4px;
}
.scanner-corner.bottom-right {
bottom: 20%;
right: 20%;
border-bottom-width: 4px;
border-right-width: 4px;
}
@keyframes scan {
0% {
transform: translateY(-50px);
}
50% {
transform: translateY(50px);
}
100% {
transform: translateY(-50px);
}
}
.error-box {
padding: 16px;
color: red;

View file

@ -343,6 +343,10 @@ const submit = async () => {
const errors: string[] = []
let totalCount = 0
items.value.forEach((row) => {
totalCount += Number(row.ticketCount || 0)
})
if (totalCount === 0) errors.push('هیچ کالایی برای خروج انتخاب نشده است')
if (errors.length) {