|
|
|
@ -546,13 +546,13 @@ function getPercent(pictureid: string) {
|
|
|
|
|
</n-grid>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="time">
|
|
|
|
|
<div class="time-item">
|
|
|
|
|
<div v-if="taskDetailInfo?.ocrPicture?.photoDateTimestamp" class="time-item">
|
|
|
|
|
<SvgIcon class="svg-time" color="#FFF" size="16" name="camera-time" />
|
|
|
|
|
<span>{{ formatToDateHMS(taskDetailInfo.createdate || 0) }}</span>
|
|
|
|
|
<span>{{ formatToDateHMS(Number(taskDetailInfo.ocrPicture.photoDateTimestamp) || 0) }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="time-item time-item2">
|
|
|
|
|
<div v-if="taskDetailInfo?.ocrPicture?.submitDateTimestamp" class="time-item time-item2">
|
|
|
|
|
<SvgIcon class="svg-time" color="#FFF" size="16" name="submit-time" />
|
|
|
|
|
<span>{{ formatToDateHMS(taskDetailInfo.createdate || 0) }}</span>
|
|
|
|
|
<span>{{ formatToDateHMS(Number(taskDetailInfo.ocrPicture.submitDateTimestamp) || 0) }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="display: none">
|
|
|
|
@ -565,52 +565,54 @@ function getPercent(pictureid: string) {
|
|
|
|
|
</div>
|
|
|
|
|
<div class="right">
|
|
|
|
|
<n-scrollbar v-if="totalCount > 0" style="max-height: 100%">
|
|
|
|
|
<div class="header">
|
|
|
|
|
<span>相似图片({{ totalCount }})</span>
|
|
|
|
|
<SvgIcon
|
|
|
|
|
style="margin-right: 20px; cursor: pointer"
|
|
|
|
|
name="max"
|
|
|
|
|
size="24"
|
|
|
|
|
@click="showModal(batchModalRef)"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="list">
|
|
|
|
|
<div
|
|
|
|
|
v-for="(item, index) in taskDetailPictureList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
class="item"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
draggable="true"
|
|
|
|
|
class="img-wrapper"
|
|
|
|
|
:style="{ 'background-image': `url(${item.imgUrl})` }"
|
|
|
|
|
@dragend="(event) => { handleDragEnd(event, item) }"
|
|
|
|
|
<div class="right-card">
|
|
|
|
|
<div class="header">
|
|
|
|
|
<span>相似图片({{ totalCount }})</span>
|
|
|
|
|
<SvgIcon
|
|
|
|
|
style="margin-right: 20px; cursor: pointer"
|
|
|
|
|
name="max"
|
|
|
|
|
size="24"
|
|
|
|
|
@click="showModal(batchModalRef)"
|
|
|
|
|
/>
|
|
|
|
|
<div class="small-mark" />
|
|
|
|
|
<div class="check">
|
|
|
|
|
<n-checkbox
|
|
|
|
|
v-show="batch"
|
|
|
|
|
v-model:checked="item.checked"
|
|
|
|
|
@click.stop
|
|
|
|
|
@update:checked="onCheckChange($event, item)"
|
|
|
|
|
</div>
|
|
|
|
|
<div class="list">
|
|
|
|
|
<div
|
|
|
|
|
v-for="(item, index) in taskDetailPictureList"
|
|
|
|
|
:key="item.id"
|
|
|
|
|
class="item"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
draggable="true"
|
|
|
|
|
class="img-wrapper"
|
|
|
|
|
:style="{ 'background-image': `url(${item.imgUrl})` }"
|
|
|
|
|
@dragend="(event) => { handleDragEnd(event, item) }"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- <img class="tag-status" src="@/assets/images/task/tag-pass.png" alt=""> -->
|
|
|
|
|
<div class="small-mark" />
|
|
|
|
|
<div class="check">
|
|
|
|
|
<n-checkbox
|
|
|
|
|
v-show="batch && item.historyStates === 1"
|
|
|
|
|
v-model:checked="item.checked"
|
|
|
|
|
@click.stop
|
|
|
|
|
@update:checked="onCheckChange($event, item)"
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="time">
|
|
|
|
|
<div v-if="item.photoDateTimestamp" class="time-item">
|
|
|
|
|
<SvgIcon class="svg-time" color="#FFF" size="8" name="camera-time" />
|
|
|
|
|
<span>{{ formatToDateHMS(Number(item.photoDateTimestamp) || 0) }}</span>
|
|
|
|
|
<img v-if="item.historyStates === 2" class="tag-status" src="@/assets/images/task/tag-pass.png" alt="">
|
|
|
|
|
<img v-if="item.historyStates === 3" class="tag-status" src="@/assets/images/task/tag-not-pass.png" alt="">
|
|
|
|
|
<div class="time">
|
|
|
|
|
<div v-if="item.photoDateTimestamp" class="time-item">
|
|
|
|
|
<SvgIcon class="svg-time" color="#FFF" size="8" name="camera-time" />
|
|
|
|
|
<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="8" name="submit-time" />
|
|
|
|
|
<span>{{ formatToDateHMS(Number(item.submitDateTimestamp) || 0) }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="item.submitDateTimestamp" class="time-item time-item2">
|
|
|
|
|
<SvgIcon class="svg-time" color="#FFF" size="8" name="submit-time" />
|
|
|
|
|
<span>{{ formatToDateHMS(Number(item.submitDateTimestamp) || 0) }}</span>
|
|
|
|
|
<div :class="{ 'percent-red': item.similarityScore === 100 }" class="percent">
|
|
|
|
|
{{ item.similarityScore }}<span class="percent-unit">%</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div :class="{ 'percent-red': item.similarityScore === 100 }" class="percent">
|
|
|
|
|
{{ item.similarityScore }}<span class="percent-unit">%</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</n-scrollbar>
|
|
|
|
@ -908,6 +910,10 @@ function getPercent(pictureid: string) {
|
|
|
|
|
margin-left: 20px;
|
|
|
|
|
padding: 24px;
|
|
|
|
|
|
|
|
|
|
.right-card{
|
|
|
|
|
padding: 3px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.header {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: space-between;
|
|
|
|
@ -930,14 +936,14 @@ function getPercent(pictureid: string) {
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
border-radius: 8px;
|
|
|
|
|
position: relative;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
// overflow: hidden;
|
|
|
|
|
margin: 0px 16px 27px 0px;
|
|
|
|
|
|
|
|
|
|
.small-mark{
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 36px;
|
|
|
|
|
background: linear-gradient(180deg,rgba(0,0,0,0.01), rgba(0,0,0,0.44) 88%);
|
|
|
|
|
border-radius: 0px 8px 8px 0px;
|
|
|
|
|
border-radius: 0px 8px 8px 8px;
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 0;
|
|
|
|
|
bottom: 0;
|
|
|
|
@ -946,10 +952,10 @@ function getPercent(pictureid: string) {
|
|
|
|
|
|
|
|
|
|
.tag-status{
|
|
|
|
|
width: 46px;
|
|
|
|
|
height: 18px;
|
|
|
|
|
height: 22px;
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 0;
|
|
|
|
|
top: 0;
|
|
|
|
|
left: -4px;
|
|
|
|
|
top: 4px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.time {
|
|
|
|
|