pull/1/head
lizijiee 1 year ago
commit b91bc192d1

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1711545475852" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5038" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M587.474824 170.646588c26.262588 0 50.356706 14.637176 62.403764 37.948236l40.478118 78.185411h155.407059c38.851765 0 70.294588 31.442824 70.294588 70.294589v446.042352c0 38.851765-31.442824 70.294588-70.294588 70.294589H180.705882a70.294588 70.294588 0 0 1-70.294588-70.294589V357.074824c0-38.851765 31.503059-70.294588 70.294588-70.294589h153.6l38.912-77.402353a70.294588 70.294588 0 0 1 62.765177-38.731294h151.491765z m0 60.235294H435.983059a10.059294 10.059294 0 0 0-8.975059 5.541647l-47.224471 93.967059a30.117647 30.117647 0 0 1-26.925176 16.624941H180.705882a10.059294 10.059294 0 0 0-10.059294 10.059295v446.042352c0 5.541647 4.517647 10.059294 10.059294 10.059295h665.057883a10.059294 10.059294 0 0 0 10.059294-10.059295V357.074824a10.059294 10.059294 0 0 0-10.059294-10.059295h-173.718589a30.117647 30.117647 0 0 1-26.74447-16.263529l-48.911059-94.448941a10.059294 10.059294 0 0 0-8.914823-5.421177zM511.457882 412.009412a150.588235 150.588235 0 1 1 0 301.17647 150.588235 150.588235 0 0 1 0-301.17647z m0 60.235294a90.352941 90.352941 0 1 0 0 180.705882 90.352941 90.352941 0 0 0 0-180.705882z m311.235765-271.058824a30.117647 30.117647 0 1 1 0 60.235294h-60.235294a30.117647 30.117647 0 1 1 0-60.235294h60.235294z" p-id="5039" fill="#ffffff"></path></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1711545486232" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5287" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><path d="M794.202353 116.675765H229.616941c-62.403765 0-112.941176 50.597647-112.941176 112.941176v564.585412c0 62.343529 50.597647 112.941176 112.941176 112.941176h564.585412c62.343529 0 112.941176-50.597647 112.941176-112.941176V229.616941c0-62.403765-50.597647-112.941176-112.941176-112.941176z m56.500706 677.647059a56.32 56.32 0 0 1-56.440471 56.380235H229.737412a56.199529 56.199529 0 0 1-40.056471-16.444235 56.018824 56.018824 0 0 1-16.624941-39.936V229.677176c0.060235-31.322353 25.419294-56.621176 56.621176-56.621176h564.585412a56.500706 56.500706 0 0 1 56.440471 56.621176v564.645648z" p-id="5288" fill="#ffffff"></path><path d="M759.085176 370.688h-225.882352a28.190118 28.190118 0 1 0 0 56.440471h225.882352a28.190118 28.190118 0 1 0 0-56.440471z m0 226.002824h-225.882352a28.190118 28.190118 0 1 0 0 56.380235h225.882352a28.190118 28.190118 0 0 0 0-56.380235zM363.760941 526.095059a98.785882 98.785882 0 1 0 0 197.632 98.785882 98.785882 0 0 0 0-197.571765z m29.997177 128.843294a42.405647 42.405647 0 1 1-59.934118-59.994353 42.405647 42.405647 0 0 1 59.934118 59.994353z m34.755764-332.318118L335.510588 415.623529l-36.502588-36.502588a28.190118 28.190118 0 0 0-39.875765 39.875765l56.440471 56.500706a28.190118 28.190118 0 0 0 39.875765 0l112.941176-112.941177a28.190118 28.190118 0 0 0-39.875765-39.936z" p-id="5289" fill="#ffffff"></path></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

@ -290,6 +290,7 @@ watch(
const taskId = taskStore.getActiveId
console.log(packageid)
console.log(taskId)
setBatch(false)
if (isEmpty(taskId))
return
@ -364,10 +365,6 @@ onUnmounted(() => {
window.removeEventListener('keydown', handleKeydown)
})
const mark = computed(() => {
return taskDetailInfo.value.iztrueorfalse === null ? '未标记' : '已标记'
})
function immersionHandler() {
taskStore.updateImmersion()
}
@ -523,6 +520,7 @@ function getPercent(pictureid: string) {
name="zhen"
/>
</div>
<div class="big-mark" />
<div class="info img-info">
<n-grid x-gap="12" y-gap="10" :cols="12">
<n-gi span="4" class="gi1">
@ -548,8 +546,14 @@ function getPercent(pictureid: string) {
</n-grid>
</div>
<div class="time">
<SvgIcon class="svg-time" color="#FFF" size="16" name="time" />
<span>{{ formatToDateHMS(taskDetailInfo.createdate || 0) }}</span>
<div class="time-item">
<SvgIcon class="svg-time" color="#FFF" size="16" name="camera-time" />
<span>{{ formatToDateHMS(taskDetailInfo.createdate || 0) }}</span>
</div>
<div class="time-item time-item2">
<SvgIcon class="svg-time" color="#FFF" size="16" name="submit-time" />
<span>{{ formatToDateHMS(taskDetailInfo.createdate || 0) }}</span>
</div>
</div>
<div style="display: none">
<n-image
@ -582,6 +586,7 @@ function getPercent(pictureid: string) {
:style="{ 'background-image': `url(${item.imgUrl})` }"
@dragend="(event) => { handleDragEnd(event, item) }"
/>
<div class="small-mark" />
<div class="check">
<n-checkbox
v-show="batch"
@ -590,8 +595,21 @@ function getPercent(pictureid: string) {
@update:checked="onCheckChange($event, item)"
/>
</div>
<div class="percent">
{{ item.similarityscore }}
<!-- <img class="tag-status" src="@/assets/images/task/tag-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 :class="{ 'percent-red': item.similarityScore === 100 }" class="percent">
{{ item.similarityScore }}<span class="percent-unit">%</span>
</div>
</div>
</div>
@ -607,7 +625,7 @@ function getPercent(pictureid: string) {
<n-tab-pane name="picture-info" tab="图片信息">
<PictureTable :data="taskDetailInfo" />
</n-tab-pane>
<n-tab-pane name="history" tab="历史审查">
<n-tab-pane name="history" tab="审查日志">
<History :data="taskDetailInfo" />
</n-tab-pane>
</n-tabs>
@ -630,6 +648,8 @@ function getPercent(pictureid: string) {
}
::v-deep(.n-tabs-tab--active .n-tabs-tab__label) {
color: #507AFD;
font-size: 16px;
font-weight: 500;
}
.wrapper-header-action {
@ -773,6 +793,16 @@ function getPercent(pictureid: string) {
border-radius: 8px;
position: relative;
.big-mark{
width: 100%;
height: 151px;
background: linear-gradient(180deg,rgba(0,0,0,0.00) 0%, rgba(0,0,0,0.00) 29%, rgba(3,0,0,0.73));
position: absolute;
left: 0;
bottom: 0;
z-index: 0;
}
.mark {
position: absolute;
z-index: 1;
@ -804,8 +834,8 @@ function getPercent(pictureid: string) {
.info {
position: absolute;
z-index: 3;
right: 2%;
bottom: 2%;
right: 16px;
bottom: 16px;
width: 136px;
height: 119px;
background: rgba(216, 216, 216, 0.4);
@ -817,14 +847,22 @@ function getPercent(pictureid: string) {
.time {
position: absolute;
z-index: 3;
left: 2%;
bottom: 2%;
display: flex;
align-items: center;
font-size: 14px;
font-family: PingFang SC, PingFang SC-Medium;
font-weight: 500;
color: #ffffff;
left: 16px;
bottom: 16px;
.time-item{
display: flex;
align-items: center;
font-size: 14px;
font-family: PingFang SC, PingFang SC-Medium;
font-weight: 500;
color: #ffffff;
margin-bottom: 4px;
}
.time-item2{
margin-bottom: 0;
}
.svg-time{
margin-right: 5px
@ -895,6 +933,50 @@ function getPercent(pictureid: string) {
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;
position: absolute;
left: 0;
bottom: 0;
z-index: 0;
}
.tag-status{
width: 46px;
height: 18px;
position: absolute;
left: 0;
top: 0;
}
.time {
position: absolute;
z-index: 3;
left: 3px;
bottom: 3px;
.time-item{
display: flex;
align-items: center;
font-size: 10px;
font-family: PingFang SC, PingFang SC-Medium;
font-weight: 500;
color: #ffffff;
margin-bottom: 2px;
line-height: 12px;
}
.time-item2{
margin-bottom: 0;
}
.svg-time{
margin-right: 5px
}
}
.img-wrapper {
width: 122px;
height: 70px;
@ -932,7 +1014,8 @@ function getPercent(pictureid: string) {
}
.percent-unit{
font-size: 8dvb;
font-size: 8px;
margin-top: 4px
}
.percent-red{

@ -1,5 +1,5 @@
<script lang="ts" setup>
import { onBeforeMount, onMounted, ref, watch } from 'vue'
import { computed, onBeforeMount, onMounted, ref, watch } from 'vue'
import { formatToDateHMS } from '@/utils/dateUtil'
import { useDictionary } from '@/store/modules/dictonary'
@ -15,6 +15,7 @@ const props = defineProps({
})
const dicStore = useDictionary()
const izstatusList = ref([])
const expanded = ref(true)
onBeforeMount(() => {
dicStore.fetchizstatusListt()
@ -55,6 +56,14 @@ function getLabel(states) {
return item ? item.label : ''
}
const iconName = computed(() => {
return expanded.value ? 'expand' : 'collapse'
})
function changeExpand() {
expanded.value = !expanded.value
}
onMounted(() => {
})
@ -90,40 +99,41 @@ onMounted(() => {
</template>
<template #default>
<div class="card">
<n-collapse arrow-placement="right" :default-expanded-names="['1']">
<template #header-extra>
<div class="status">
审批结果{{ getLabel(props.data.states) }}
<div class="card-header">
<div class="status">
审批结果{{ getLabel(props.data.states) }}
</div>
<div class="arrow" @click="changeExpand()">
<SvgIcon style="margin-right: 4px" :name="iconName" size="14" />
收起
</div>
</div>
<div v-if="expanded" class="card-content">
<div v-for="items in props.data.userapproveList" :key="items.nodeName" class="item">
<div class="header">
<SvgIcon class="icon" name="approve" size="16" />
<div class="item-title">
{{ items.nodeName }}
</div>
</div>
</template>
<n-collapse-item title="收起" name="1">
<div v-for="items in props.data.userapproveList" :key="items.nodeName" class="item">
<div class="header">
<SvgIcon class="icon" name="approve" size="16" />
<div class="item-title">
{{ items.nodeName }}
<div class="col-content">
<div v-for="item in items.userapproveList" :key="item.id" class="col-item">
<div class="label label1">
<div class="point" />审批时间{{ formatToDateHMS(item.createdate) }}
</div>
</div>
<div class="col-content">
<div v-for="item in items.userapproveList" :key="item.id" class="col-item">
<div class="label label1">
<div class="point" />审批时间{{ formatToDateHMS(item.createdate) }}
</div>
<div class="label label2">
审批人{{ item.username }}
</div>
<div class="label label3">
审批结果{{ getItemLabel(item.statshis) }}
</div>
<div class="label">
备注{{ item.taskcomment }}
</div>
<div class="label label2">
审批人{{ item.username }}
</div>
<div class="label label3">
审批结果{{ getItemLabel(item.statshis) }}
</div>
<div class="label">
备注{{ item.statshis === 2 ? '--' : item.taskcomment }}
</div>
</div>
</div>
</n-collapse-item>
</n-collapse>
</div>
</div>
</div>
</template>
</n-timeline-item>
@ -136,15 +146,37 @@ onMounted(() => {
::v-deep(.n-timeline-item-timeline__line) {
width: 1px!important;
}
::v-deep(.n-collapse-item__header) {
flex-direction: row-reverse;
}
::v-deep(.n-collapse-item__header-main) {
flex: none!important;
}
::v-deep(.n-collapse-item__header-extra) {
flex: 1;
.card{
background: #f9fafc;
padding-left: 16px;
border-radius: 3px;
.card-header{
padding-right: 16px;
display: flex;
align-items: center;
justify-content: space-between;
height: 50px;
border-bottom: 1px solid #eeeeee;
}
.arrow{
font-size: 13px;
font-family: PingFang SC, PingFang SC-Regular;
font-weight: 400;
color: #666666;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
}
.card-content{
padding: 16px 0 16px 0;
}
}
.info-header {
display: flex;
padding: 6px 0 15px 0;
@ -229,11 +261,6 @@ onMounted(() => {
margin-left: -15px;
}
.card{
background: #f9fafc;
padding: 16px;
}
.status{
font-size: 14px;
font-family: PingFang SC, PingFang SC-Medium;
@ -282,7 +309,7 @@ onMounted(() => {
align-items: center;
font-size: 14px;
font-family: PingFang SC, PingFang SC-Regular;
font-weight: Regular;
font-weight: 400;
text-align: center;
color: #666666;
}

Loading…
Cancel
Save