|
|
|
@ -1,16 +1,16 @@
|
|
|
|
|
<script lang="ts" setup>
|
|
|
|
|
import { onMounted, ref, reactive, unref, computed,watch } from "vue";
|
|
|
|
|
import { useRoute, useRouter } from "vue-router";
|
|
|
|
|
import testImg from "@/assets/images/test.png";
|
|
|
|
|
import { chunk } from "lodash-es";
|
|
|
|
|
import type { RowData } from "@/config/final";
|
|
|
|
|
import { getFinalList } from "@/api/final";
|
|
|
|
|
import { useFinal } from "@/store/modules/final";
|
|
|
|
|
import { formatToDateHMS } from "@/utils/dateUtil";
|
|
|
|
|
import { useMessage, useDialog } from "naive-ui";
|
|
|
|
|
import { audit } from "@/api/task/task";
|
|
|
|
|
import NotPassed from "@/components/Approval/NotPassed.vue";
|
|
|
|
|
import { RepeatModal, RepeatTaskTableModal } from "../comp";
|
|
|
|
|
import { computed, onMounted, reactive, ref, unref, watch } from 'vue'
|
|
|
|
|
import { useRoute, useRouter } from 'vue-router'
|
|
|
|
|
import { chunk } from 'lodash-es'
|
|
|
|
|
import { useDialog, useMessage } from 'naive-ui'
|
|
|
|
|
import { RepeatModal, RepeatTaskTableModal } from '../comp'
|
|
|
|
|
import testImg from '@/assets/images/test.png'
|
|
|
|
|
import type { RowData } from '@/config/final'
|
|
|
|
|
import { getFinalList } from '@/api/final'
|
|
|
|
|
import { useFinal } from '@/store/modules/final'
|
|
|
|
|
import { formatToDateHMS } from '@/utils/dateUtil'
|
|
|
|
|
import { audit } from '@/api/task/task'
|
|
|
|
|
import NotPassed from '@/components/Approval/NotPassed.vue'
|
|
|
|
|
|
|
|
|
|
const emit = defineEmits(['changeShow'])
|
|
|
|
|
const dialog = useDialog()
|
|
|
|
@ -94,7 +94,10 @@ async function initData(
|
|
|
|
|
// 有过滤配置的时候优先使用过滤配置,不要使用左侧参数
|
|
|
|
|
// let params = filterId ? { userSearchId: filterId } : asideParmas
|
|
|
|
|
let params = asideParmas
|
|
|
|
|
params = params?.izshowall ? {} : params
|
|
|
|
|
if (params?.izshowall == false)
|
|
|
|
|
params.isFail = false
|
|
|
|
|
|
|
|
|
|
params = params?.izshowall ? { isFail: true } : params
|
|
|
|
|
|
|
|
|
|
const result = await getFinalList({
|
|
|
|
|
sortorder: sortorder.value,
|
|
|
|
@ -104,22 +107,21 @@ async function initData(
|
|
|
|
|
taskName,
|
|
|
|
|
|
|
|
|
|
...params,
|
|
|
|
|
});
|
|
|
|
|
const { data, pageCount, totalCount } = result;
|
|
|
|
|
console.log(data, pageCount, totalCount);
|
|
|
|
|
//tableData.value = tableData.value.concat(data);
|
|
|
|
|
tableData.value = data;
|
|
|
|
|
console.log(tableData.value);
|
|
|
|
|
total.value = totalCount;
|
|
|
|
|
pagination.page = page;
|
|
|
|
|
pagination.pageCount = Math.ceil(totalCount / pageSize);
|
|
|
|
|
loading.value = false;
|
|
|
|
|
})
|
|
|
|
|
const { data, pageCount, totalCount } = result
|
|
|
|
|
console.log(data, pageCount, totalCount)
|
|
|
|
|
// tableData.value = tableData.value.concat(data);
|
|
|
|
|
tableData.value = data
|
|
|
|
|
console.log(tableData.value)
|
|
|
|
|
total.value = totalCount
|
|
|
|
|
pagination.page = page
|
|
|
|
|
pagination.pageCount = Math.ceil(totalCount / pageSize)
|
|
|
|
|
loading.value = false
|
|
|
|
|
tableData.value.forEach((item) => {
|
|
|
|
|
item.showcheck = false;
|
|
|
|
|
if (isValidTimestamp(item.fromuptime)) {
|
|
|
|
|
item.fromuptime = formatToDateHMS(item.fromuptime);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
item.showcheck = false
|
|
|
|
|
if (isValidTimestamp(item.fromuptime))
|
|
|
|
|
item.fromuptime = formatToDateHMS(item.fromuptime)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
tableData.value = chunk(tableData.value, 4)
|
|
|
|
|
}
|
|
|
|
@ -174,15 +176,14 @@ async function query(
|
|
|
|
|
// tableData.value = tableData.value.concat(data);
|
|
|
|
|
tableData.value = newlist
|
|
|
|
|
// console.log(tableData.value);
|
|
|
|
|
total.value = totalCount;
|
|
|
|
|
pagination.page = page;
|
|
|
|
|
pagination.pageCount = Math.ceil(totalCount / pageSize);
|
|
|
|
|
loading.value = false;
|
|
|
|
|
total.value = totalCount
|
|
|
|
|
pagination.page = page
|
|
|
|
|
pagination.pageCount = Math.ceil(totalCount / pageSize)
|
|
|
|
|
loading.value = false
|
|
|
|
|
tableData.value.forEach((item) => {
|
|
|
|
|
if (isValidTimestamp(item.fromuptime)) {
|
|
|
|
|
item.fromuptime = formatToDateHMS(item.fromuptime);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
if (isValidTimestamp(item.fromuptime))
|
|
|
|
|
item.fromuptime = formatToDateHMS(item.fromuptime)
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
tableData.value = chunk(tableData.value, 4)
|
|
|
|
|
}
|
|
|
|
@ -400,39 +401,44 @@ function checkBottom() {
|
|
|
|
|
}, 500)
|
|
|
|
|
}
|
|
|
|
|
function changesort(sortnamex) {
|
|
|
|
|
if (sortorder.value == "asc" && sortnamex == "submit_date_timestamp") {
|
|
|
|
|
sortorder.value = "desc";
|
|
|
|
|
sortname.value = "submit_date_timestamp";
|
|
|
|
|
}else if (sortorder.value == "desc" && sortnamex == "submit_date_timestamp") {
|
|
|
|
|
sortorder.value = "asc";
|
|
|
|
|
sortname.value = "submit_date_timestamp";
|
|
|
|
|
} else if (sortorder.value == "desc" && sortnamex == "similarity_score") {
|
|
|
|
|
sortorder.value = "asc";
|
|
|
|
|
sortname.value = "similarity_score";
|
|
|
|
|
} else if (sortorder.value == "asc" && sortnamex == "similarity_score") {
|
|
|
|
|
sortorder.value = "desc";
|
|
|
|
|
sortname.value = "similarity_score";
|
|
|
|
|
} else if (sortorder.value == "asc" && sortnamex == "field1") {
|
|
|
|
|
sortorder.value = "desc";
|
|
|
|
|
sortname.value = "field1";
|
|
|
|
|
} else if (sortorder.value == "desc" && sortnamex == "field1") {
|
|
|
|
|
sortorder.value = "asc";
|
|
|
|
|
sortname.value = "field1";
|
|
|
|
|
}
|
|
|
|
|
initData(1, 20);
|
|
|
|
|
num=1
|
|
|
|
|
if (sortorder.value == 'asc' && sortnamex == 'submit_date_timestamp') {
|
|
|
|
|
sortorder.value = 'desc'
|
|
|
|
|
sortname.value = 'submit_date_timestamp'
|
|
|
|
|
}
|
|
|
|
|
else if (sortorder.value == 'desc' && sortnamex == 'submit_date_timestamp') {
|
|
|
|
|
sortorder.value = 'asc'
|
|
|
|
|
sortname.value = 'submit_date_timestamp'
|
|
|
|
|
}
|
|
|
|
|
else if (sortorder.value == 'desc' && sortnamex == 'similarity_score') {
|
|
|
|
|
sortorder.value = 'asc'
|
|
|
|
|
sortname.value = 'similarity_score'
|
|
|
|
|
}
|
|
|
|
|
else if (sortorder.value == 'asc' && sortnamex == 'similarity_score') {
|
|
|
|
|
sortorder.value = 'desc'
|
|
|
|
|
sortname.value = 'similarity_score'
|
|
|
|
|
}
|
|
|
|
|
else if (sortorder.value == 'asc' && sortnamex == 'field1') {
|
|
|
|
|
sortorder.value = 'desc'
|
|
|
|
|
sortname.value = 'field1'
|
|
|
|
|
}
|
|
|
|
|
else if (sortorder.value == 'desc' && sortnamex == 'field1') {
|
|
|
|
|
sortorder.value = 'asc'
|
|
|
|
|
sortname.value = 'field1'
|
|
|
|
|
}
|
|
|
|
|
initData(1, 20)
|
|
|
|
|
num = 1
|
|
|
|
|
}
|
|
|
|
|
watch(
|
|
|
|
|
() => finalStore.asideValue,
|
|
|
|
|
(newVal, oldVal) => {
|
|
|
|
|
initData(1, 20);
|
|
|
|
|
initData(1, 20)
|
|
|
|
|
},
|
|
|
|
|
{ deep: true }
|
|
|
|
|
);
|
|
|
|
|
{ deep: true },
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
defineExpose({
|
|
|
|
|
initData,
|
|
|
|
|
});
|
|
|
|
|
})
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<template>
|
|
|
|
@ -527,16 +533,13 @@ defineExpose({
|
|
|
|
|
<div class="wrapper-settings">
|
|
|
|
|
<div>
|
|
|
|
|
<div @click="changesort('submit_date_timestamp')">
|
|
|
|
|
<span>提报时间排序</span
|
|
|
|
|
><SvgIcon style="margin-left: 6px" name="sort" size="13" />
|
|
|
|
|
<span>提报时间排序</span><SvgIcon style="margin-left: 6px" name="sort" size="13" />
|
|
|
|
|
</div>
|
|
|
|
|
<div @click="changesort('similarity_score')">
|
|
|
|
|
<span>相似度排序</span
|
|
|
|
|
><SvgIcon style="margin-left: 6px" name="sort" size="13" />
|
|
|
|
|
<span>相似度排序</span><SvgIcon style="margin-left: 6px" name="sort" size="13" />
|
|
|
|
|
</div>
|
|
|
|
|
<div @click="changesort('field1')">
|
|
|
|
|
<span>提报人排序</span
|
|
|
|
|
><SvgIcon style="margin-left: 6px" name="sort" size="13" />
|
|
|
|
|
<span>提报人排序</span><SvgIcon style="margin-left: 6px" name="sort" size="13" />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="width: 3vw">
|
|
|
|
@ -549,7 +552,7 @@ defineExpose({
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div :class="tableData.length>16?'cotnet_wrapeer':'cotnet_wrapeertwo'" @scroll="checkBottom" ref="scrollContainer">
|
|
|
|
|
<div ref="scrollContainer" :class="tableData.length > 4 ? 'cotnet_wrapeer' : 'cotnet_wrapeertwo'" @scroll="checkBottom">
|
|
|
|
|
<div
|
|
|
|
|
v-for="(sitem, sindex) in tableData"
|
|
|
|
|
:key="sindex"
|
|
|
|
@ -587,7 +590,14 @@ defineExpose({
|
|
|
|
|
: `background:url(${item.imgUrl});background-size:100% 100%;background-repeat: no-repeat;`
|
|
|
|
|
"
|
|
|
|
|
@click="goDetail(item)"
|
|
|
|
|
/>
|
|
|
|
|
>
|
|
|
|
|
<div v-if="item.similarityscore != -1" class="percent">
|
|
|
|
|
<SvgIcon size="30" :name="item.similarityscore == 100 ? 'error_tag' : 'tag'" />
|
|
|
|
|
<div class="val">
|
|
|
|
|
{{ `${item.similarityscore}%` }}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-show="item.states == 2" class="check_box">
|
|
|
|
|
<n-checkbox
|
|
|
|
|
size="medium"
|
|
|
|
@ -603,8 +613,8 @@ defineExpose({
|
|
|
|
|
</n-ellipsis>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="date">
|
|
|
|
|
<n-ellipsis style="max-width: 100%"
|
|
|
|
|
>{{ item.fromuptime }}
|
|
|
|
|
<n-ellipsis style="max-width: 100%">
|
|
|
|
|
{{ item.fromuptime }}
|
|
|
|
|
</n-ellipsis>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="tag_box">
|
|
|
|
@ -853,6 +863,7 @@ defineExpose({
|
|
|
|
|
// height: auto;
|
|
|
|
|
object-fit: cover;
|
|
|
|
|
border-radius: 0.18rem;
|
|
|
|
|
position: relative;
|
|
|
|
|
}
|
|
|
|
|
.check_box {
|
|
|
|
|
position: absolute;
|
|
|
|
@ -945,6 +956,32 @@ defineExpose({
|
|
|
|
|
overflow: auto;
|
|
|
|
|
width: calc(100% + 5px);
|
|
|
|
|
}
|
|
|
|
|
.percent {
|
|
|
|
|
position: absolute;
|
|
|
|
|
text-align: center;
|
|
|
|
|
z-index: 3;
|
|
|
|
|
right: 0px;
|
|
|
|
|
top: -4px;
|
|
|
|
|
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: 10px;
|
|
|
|
|
font-family: PingFang SC, PingFang SC-Semibold;
|
|
|
|
|
font-weight: Semibold;
|
|
|
|
|
text-align: left;
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
line-height: 24px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/* 定义滚动条的宽度及背景颜色 */
|
|
|
|
|
::-webkit-scrollbar {
|
|
|
|
|
position: fixed;
|
|
|
|
|