Merge pull request 'jie' (#21) from jie into test

Reviewed-on: #21
pull/23/head^2
lizijie 1 year ago
commit f7ae058ec4

@ -23,7 +23,7 @@ const adminInfo = {
value: 'task-main',
},
{
label: 'AI工单',
label: '图审审批管理',
value: 'worksheet-main',
},
],

@ -180,6 +180,19 @@ export async function oneClickCheck(params: Partial<CheckParam> = { search_histo
params
})
}
/**
*
* @param
* @returns
*/
export async function deletePackage(params) {
return http.request({
url: `/ocr/ocrTaskPackage/deletePackage`,
method: 'get',
params
})
}
/**
*
* @param

@ -1,5 +1,5 @@
import type { RouteRecordRaw } from 'vue-router'
import { Layout } from '@/router/constant'
import type { RouteRecordRaw } from 'vue-router'
/**
* @param name , ,
@ -19,7 +19,7 @@ const routes: Array<RouteRecordRaw> = [
redirect: '/worksheet',
component: Layout,
meta: {
title: 'AI工单',
title: '图审审批管理',
permissions: ['worksheet-main'],
svgname: 'worksheet',
svgsize: 22,
@ -30,7 +30,7 @@ const routes: Array<RouteRecordRaw> = [
path: 'worksheet',
name: 'worksheet-main',
meta: {
title: 'AI工单',
title: '图审审批管理',
},
component: () => import('@/views/worksheet/index.vue'),
},

@ -236,11 +236,6 @@ async function tasksLoadingCloseCallback() {
checkingTaskModal.showModal()
}
async function showLoginSuccessModal() {
const modal = LoginSuccessModalRef.value as any
// modal.showModal()
}
async function commitHandler(settingParam) {
const params = {
name: settingParam.packagename,

@ -1,8 +1,10 @@
<script lang="ts" setup>
import { format } from 'date-fns';
import { computed, onMounted } from "vue";
import { computed, onMounted, ref } from "vue";
import type { PackageListItem } from "/#/workorder";
defineOptions({ name: "ListItem" });
const emit = defineEmits(['dismisClick'])
const props = defineProps({
selected: {
@ -21,19 +23,22 @@ const props = defineProps({
type: Array,
default: () => [],
},
mouseOverTask: {
type: Array,
default: () => [],
},
});
console.log(props.dicts, "dicts");
const isDismissTask = ref(false)
const svgName = computed(() => {
return props.selected ? "taskpack-select" : "taskpack";
});
function getValueByLabel(label) {
const result = props.dicts.filter(item => item.name === label)
if (result.length === 0) {
return ""
} else {
return props.dicts.filter(item => item.name === label)[0].fieldDesc
}
function handleDismissTask() {
isDismissTask.value = true
emit('dismisClick', props.mouseOverTask.id)
}
onMounted(async () => {
})
</script>
@ -45,8 +50,16 @@ onMounted(async () => {
<div class="id-wrap">
<SvgIcon :name="svgName" size="28" />
<span class="list-item-header-name" :class="{ 'list-item-header-selected': selected }">
<span class="list-item-title" :title="listItem.name">{{ listItem.name }} </span>
<n-ellipsis style="max-width: 180px">
{{ listItem.name }}
</n-ellipsis>
<span class="list-item-header-selected">({{ listItem.pictureCount }})</span>
<n-popover placement="bottom" trigger="hover" >
<template #trigger>
<span class="dismiss-task-pack" v-show="mouseOverTask?.id" style="cursor: pointer;" @click.stop="handleDismissTask">...</span>
</template>
<span>解散任务包</span>
</n-popover>
</span>
</div>
</div>
@ -103,6 +116,11 @@ onMounted(async () => {
margin-bottom: 6px
}
.dismiss-task-pack {
position: absolute;
right: 15px;
}
.list-item-header-name {
width: 250px;
font-size: 16px;
@ -111,8 +129,10 @@ onMounted(async () => {
color: #333333;
margin-bottom: 0 0 8px 8px;
display: flex;
justify-content: space-between;
.list-item-title{
justify-content: flex-start;
align-items: center;
.list-item-title {
width: 200px;
display: inline-block;
white-space: nowrap;

@ -1,9 +1,11 @@
<script lang="ts" setup>
import { deletePackage } from '@/api/home/main'
import NotPassed from '@/components/NotPassed.vue'
import { useWorkOrder } from '@/store/modules/workOrder'
import { isEmpty } from '@/utils'
import { useInfiniteScroll } from '@vueuse/core'
import { reactive, ref, unref, watch } from 'vue'
import { useMessage } from 'naive-ui'
import { reactive, ref, watch } from 'vue'
import ApprovalModal from '../modal/ApprovalModal.vue'
import ListItem from './ListItem.vue'
import type { PackageListItem } from '/#/workorder'
@ -33,11 +35,7 @@ const pagination = reactive({
const approvalModalRef = ref(null)
const notPassedRef: any = ref(null)
function showModal(modalRef: any, id) {
const modal = unref(modalRef)! as any
modal.showModal(id)
}
const overTask = ref<any>(null);
function selectHandler(id: string, index: number) {
workStore.setActive(index)
@ -125,7 +123,21 @@ async function search(word: string) {
{ distance: 10, canLoadMore: () => canloadMore.value },
)
}
function overTaskHandelr(item: any) {
overTask.value = item
}
function leaveTaskHandler() {
overTask.value = null;
}
const message = useMessage()
function dismisClick(packageId:string) {
deletePackage({packageId: packageId}).then((res) => {
if(res.code==="OK"){
message.success("解散任务包成功")
loadMore()
}
})
}
defineExpose({
search,
})
@ -143,7 +155,11 @@ defineExpose({
:list-item="item"
:show-field-list="showFieldList"
:dicts="dicts"
:mouse-over-task="overTask"
@click="selectHandler(item.id, index)"
@mouseover="overTaskHandelr(item)"
@mouseleave="leaveTaskHandler"
@dismisClick="dismisClick"
/>
</div>
</n-spin>

@ -53,7 +53,7 @@ const taskpagination = reactive({
pageSize: 10,
});
const sortBy: SimilarityPictureSortParam = {
orderType: "asc",
orderType: "desc",
orderName: "similarityScore",
};
const workStore = useWorkOrder();
@ -234,7 +234,7 @@ async function handleSelect(item: any) {
async function sortHandler(orderby: "similarityScore" | "createdate") {
selectedSortName.value = orderby;
sortBy.orderName = orderby;
sortBy.orderType = sortBy.orderType === "asc" ? "desc" : "asc";
sortBy.orderType = sortBy.orderType === "desc" ? "desc" : "asc";
refreshHandler();
}
@ -480,7 +480,7 @@ function reloadList() {
<!-- 右侧任务 标题信息 -->
<div class="right">
<n-scrollbar style="max-height: 100%">
<span class="task-name" :title="taskDetailInfo.taskname">任务ID{{ taskDetailInfo.taskname }}</span>
<n-ellipsis style="max-width: 350px">任务ID{{ taskDetailInfo.taskname }}</n-ellipsis>
<div class="tags">
<div class="tag tag-submiting" v-if="taskDetailInfo.states == 1">{{ TASK_STATUS_OBJ[taskDetailInfo.states]
}}</div>
@ -517,7 +517,7 @@ function reloadList() {
<div class="property">
<span class="property-name top" style=" color: #666666">提报人
</span>
<span style=" color: #333333; font-size: 16px">{{ taskDetailInfo?.pictureInfo?.source || "-" }}</span>
<span style=" color: #333333; font-size: 16px">{{ taskDetailInfo?.upname || "-" }}</span>
</div>
<div class="property">
<span class="property-name top" style=" color: #666666">创建时间
@ -527,8 +527,8 @@ function reloadList() {
<div class="property">
<span class="property-name top" style=" color: #666666">提报时间
</span>
<span style=" color: #333333; font-size: 16px">{{ taskDetailInfo?.uploadTime &&
format(taskDetailInfo?.pictureInfo?.uploadTime, 'yyyy-MM-dd HH:mm:ss') || '-' }}</span>
<span style=" color: #333333; font-size: 16px">{{ taskDetailInfo?.submitDateTimestamp &&
format(taskDetailInfo?.submitDateTimestamp, 'yyyy-MM-dd HH:mm:ss') || '-' }}</span>
</div>
<div v-for="key in Object.keys(propertys)" :key="key" class="property">
<span class="property-name">{{ fieldMap[key] }}</span>
@ -914,8 +914,8 @@ function reloadList() {
}
.tag-passed {
color: #02C984;
border: 1px solid #02C984;
color: #ff7575;
border: 1px solid #ff7575;
}
.tag-approved {

Loading…
Cancel
Save