|
|
@ -254,18 +254,15 @@ function afterLeave() {
|
|
|
|
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
|
|
onMounted(() => {
|
|
|
|
show.value && addListeners()
|
|
|
|
show.value && addListeners()
|
|
|
|
window.addEventListener("keydown", handleKeydown);
|
|
|
|
window.addEventListener('keydown', handleKeydown)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 键盘左右箭头快捷切换
|
|
|
|
// 键盘左右箭头快捷切换
|
|
|
|
function handleKeydown(event) {
|
|
|
|
function handleKeydown(event) {
|
|
|
|
|
|
|
|
|
|
|
|
// 在这里执行右箭头的逻辑
|
|
|
|
// 在这里执行右箭头的逻辑
|
|
|
|
if (event.keyCode === 67) {
|
|
|
|
if (event.keyCode === 67)
|
|
|
|
show.value=false
|
|
|
|
show.value = false
|
|
|
|
// batchModalRef.value.closeModal()
|
|
|
|
// batchModalRef.value.closeModal()
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function showModal(value) {
|
|
|
|
function showModal(value) {
|
|
|
|
taskId.value = value
|
|
|
|
taskId.value = value
|
|
|
@ -408,7 +405,8 @@ const gridHeight = computed(() => {
|
|
|
|
|
|
|
|
|
|
|
|
defineExpose({
|
|
|
|
defineExpose({
|
|
|
|
showModal,
|
|
|
|
showModal,
|
|
|
|
reload,closeModal
|
|
|
|
reload,
|
|
|
|
|
|
|
|
closeModal,
|
|
|
|
})
|
|
|
|
})
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
@ -544,40 +542,39 @@ defineExpose({
|
|
|
|
:style="{ height: gridHeight }"
|
|
|
|
:style="{ height: gridHeight }"
|
|
|
|
class="grid-item"
|
|
|
|
class="grid-item"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<n-image
|
|
|
|
<n-image
|
|
|
|
ref="imageRef"
|
|
|
|
class="img"
|
|
|
|
class="img"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:class="{
|
|
|
|
:class="{
|
|
|
|
'img-fit': viewMode === 'horizontalVersion',
|
|
|
|
'img-fit': viewMode === 'horizontalVersion',
|
|
|
|
'img-full': viewMode === '3:4' || viewMode === 'verticalVersion',
|
|
|
|
'img-full': viewMode === '3:4' || viewMode === 'verticalVersion',
|
|
|
|
}"
|
|
|
|
}"
|
|
|
|
|
|
|
|
|
|
|
|
:src="item.serverThumbnailUrl"
|
|
|
|
:src="item.serverThumbnailUrl ? item.serverThumbnailUrl : item.imgUrl"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
<div class="small-mark" />
|
|
|
|
<div class="small-mark" />
|
|
|
|
<div class="time">
|
|
|
|
<div class="time">
|
|
|
|
<div v-if="item.photoDateTimestamp" class="time-item">
|
|
|
|
<div v-if="item.photoDateTimestamp" class="time-item">
|
|
|
|
<SvgIcon class="svg-time" color="#FFF" size="14" name="camera-time" />
|
|
|
|
<SvgIcon class="svg-time" color="#FFF" size="14" name="camera-time" />
|
|
|
|
<span>{{ formatToDateHMS(Number(item.photoDateTimestamp) || 0) }}</span>
|
|
|
|
<span>{{ formatToDateHMS(Number(item.photoDateTimestamp) || 0) }}</span>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div v-if="item.submitDateTimestamp" class="time-item time-item2">
|
|
|
|
|
|
|
|
<SvgIcon class="svg-time" color="#FFF" size="14" name="submit-time" />
|
|
|
|
|
|
|
|
<span>{{ formatToDateHMS(Number(item.submitDateTimestamp) || 0) }}</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<img v-if="item.historyStates === 2" class="tag-status" src="@/assets/images/task/tag-pass.png" alt="">
|
|
|
|
<div v-if="item.submitDateTimestamp" class="time-item time-item2">
|
|
|
|
<img v-if="item.historyStates === 3" class="tag-status" src="@/assets/images/task/tag-not-pass.png" alt="">
|
|
|
|
<SvgIcon class="svg-time" color="#FFF" size="14" name="submit-time" />
|
|
|
|
<div class="check">
|
|
|
|
<span>{{ formatToDateHMS(Number(item.submitDateTimestamp) || 0) }}</span>
|
|
|
|
<n-checkbox
|
|
|
|
|
|
|
|
v-show="batch && item.historyStates === 1"
|
|
|
|
|
|
|
|
v-model:checked="item.checked" @click.prevent
|
|
|
|
|
|
|
|
@update:checked="onCheckChange($event, item)"
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div :class="{ 'percent-red': item.similarityScore === 100 }" class="percent">
|
|
|
|
</div>
|
|
|
|
{{ item.similarityScore }}<span class="percent-unit">%</span>
|
|
|
|
<img v-if="item.historyStates === 2" class="tag-status" src="@/assets/images/task/tag-pass.png" alt="">
|
|
|
|
</div>
|
|
|
|
<img v-if="item.historyStates === 3" class="tag-status" src="@/assets/images/task/tag-not-pass.png" alt="">
|
|
|
|
|
|
|
|
<div class="check">
|
|
|
|
|
|
|
|
<n-checkbox
|
|
|
|
|
|
|
|
v-show="batch && item.historyStates === 1"
|
|
|
|
|
|
|
|
v-model:checked="item.checked" @click.prevent
|
|
|
|
|
|
|
|
@update:checked="onCheckChange($event, item)"
|
|
|
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div :class="{ 'percent-red': item.similarityScore === 100 }" class="percent">
|
|
|
|
|
|
|
|
{{ item.similarityScore }}<span class="percent-unit">%</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- </n-scrollbar> -->
|
|
|
|
<!-- </n-scrollbar> -->
|
|
|
|