|
|
|
@ -13,7 +13,7 @@ import emitter from '@/utils/mitt';
|
|
|
|
|
import { useInfiniteScroll } from "@vueuse/core";
|
|
|
|
|
import { format } from 'date-fns';
|
|
|
|
|
import imagesloaded from "imagesloaded";
|
|
|
|
|
import { clone, debounce, pickBy } from "lodash-es";
|
|
|
|
|
import { clone, cloneDeep, debounce, pickBy } from "lodash-es";
|
|
|
|
|
import { useDialog, useMessage } from "naive-ui";
|
|
|
|
|
import { computed, onUnmounted, onUpdated, reactive, ref, unref, watch } from "vue";
|
|
|
|
|
import PictureInfo from "../components/PictureInfo.vue";
|
|
|
|
@ -296,8 +296,11 @@ function rejectHandler() {
|
|
|
|
|
}
|
|
|
|
|
function detailRejectHandler() {
|
|
|
|
|
const modal = unref(notPassModalRef)! as any
|
|
|
|
|
modal.showModal([taskDetailInfo.value])
|
|
|
|
|
const params = cloneDeep(taskDetailInfo.value)
|
|
|
|
|
params.id = params.taskchildpictureid
|
|
|
|
|
modal.showModal([params])
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function singleRejectHandler(item) {
|
|
|
|
|
const modal = unref(notPassModalRef)! as any
|
|
|
|
|
modal.showModal([item])
|
|
|
|
@ -324,6 +327,7 @@ function approvalHandler(items?: any) {
|
|
|
|
|
}
|
|
|
|
|
else if (overTask.value) {
|
|
|
|
|
cloneItem = clone(overTask.value)
|
|
|
|
|
cloneItem.id = cloneItem.taskchildpictureid
|
|
|
|
|
processItems = [cloneItem]
|
|
|
|
|
}
|
|
|
|
|
// 任务包图片 => 点击 => 通过/不通过按钮
|
|
|
|
@ -533,10 +537,9 @@ function reloadList() {
|
|
|
|
|
<n-checkbox v-show="batch && item.historyStates !== 2 && item.historyStates !== 3" v-model:checked="item.checked" @click.stop
|
|
|
|
|
@update:checked="onCheckChange($event, item)" />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="percent">
|
|
|
|
|
<SvgIcon size="42" name="tag" />
|
|
|
|
|
<div class="percent" :class="{ 'percent-red': item?.maxSimilarity >= 100 }">
|
|
|
|
|
<div class="val">
|
|
|
|
|
{{ item?.maxSimilarity && Number(item?.maxSimilarity).toFixed(0) }}%
|
|
|
|
|
{{ item?.maxSimilarity && Number(item?.maxSimilarity).toFixed(0) }}<span class="percent-unit">%</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
@ -967,29 +970,26 @@ function reloadList() {
|
|
|
|
|
|
|
|
|
|
.percent {
|
|
|
|
|
position: absolute;
|
|
|
|
|
text-align: center;
|
|
|
|
|
z-index: 3;
|
|
|
|
|
right: 17px;
|
|
|
|
|
top: 2px;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
width: 35px;
|
|
|
|
|
height: 18px;
|
|
|
|
|
opacity: 0.9;
|
|
|
|
|
background: #6f92fd;
|
|
|
|
|
border-radius: 6px 0px 6px 0px;
|
|
|
|
|
z-index: 5;
|
|
|
|
|
right: 12px;
|
|
|
|
|
top: 15px;
|
|
|
|
|
color: #fff;
|
|
|
|
|
|
|
|
|
|
.val {
|
|
|
|
|
position: absolute;
|
|
|
|
|
left: 0;
|
|
|
|
|
top: 0;
|
|
|
|
|
display: block;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
font-family: PingFang SC, PingFang SC-Semibold;
|
|
|
|
|
font-weight: Semibold;
|
|
|
|
|
text-align: left;
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
line-height: 24px;
|
|
|
|
|
}
|
|
|
|
|
font-size: 14px;
|
|
|
|
|
}
|
|
|
|
|
.percent-unit {
|
|
|
|
|
font-size: 8px;
|
|
|
|
|
margin-top: 4px;
|
|
|
|
|
}
|
|
|
|
|
.percent-red{
|
|
|
|
|
background: #ff4e4f;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.pass-status {
|
|
|
|
|