feat: 解散任务包

pull/21/head
lizijiee 1 year ago
parent 1fa07621a5
commit 331b75636b

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

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

@ -1,8 +1,10 @@
<script lang="ts" setup> <script lang="ts" setup>
import { format } from 'date-fns'; import { format } from 'date-fns';
import { computed, onMounted } from "vue"; import { computed, onMounted, ref } from "vue";
import type { PackageListItem } from "/#/workorder"; import type { PackageListItem } from "/#/workorder";
defineOptions({ name: "ListItem" }); defineOptions({ name: "ListItem" });
const emit = defineEmits(['dismisClick'])
const props = defineProps({ const props = defineProps({
selected: { selected: {
@ -21,19 +23,22 @@ const props = defineProps({
type: Array, type: Array,
default: () => [], default: () => [],
}, },
mouseOverTask: {
type: Array,
default: () => [],
},
}); });
console.log(props.dicts, "dicts"); const isDismissTask = ref(false)
const svgName = computed(() => { const svgName = computed(() => {
return props.selected ? "taskpack-select" : "taskpack"; return props.selected ? "taskpack-select" : "taskpack";
}); });
function getValueByLabel(label) {
const result = props.dicts.filter(item => item.name === label)
if (result.length === 0) { function handleDismissTask() {
return "" isDismissTask.value = true
} else { emit('dismisClick', props.mouseOverTask.id)
return props.dicts.filter(item => item.name === label)[0].fieldDesc
}
} }
onMounted(async () => { onMounted(async () => {
}) })
</script> </script>
@ -46,9 +51,15 @@ onMounted(async () => {
<SvgIcon :name="svgName" size="28" /> <SvgIcon :name="svgName" size="28" />
<span class="list-item-header-name" :class="{ 'list-item-header-selected': selected }"> <span class="list-item-header-name" :class="{ 'list-item-header-selected': selected }">
<n-ellipsis style="max-width: 180px"> <n-ellipsis style="max-width: 180px">
{{ listItem.name }} {{ listItem.name }}
</n-ellipsis> </n-ellipsis>
<span class="list-item-header-selected">({{ listItem.pictureCount }})</span> <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> </span>
</div> </div>
</div> </div>
@ -105,6 +116,11 @@ onMounted(async () => {
margin-bottom: 6px margin-bottom: 6px
} }
.dismiss-task-pack {
position: absolute;
right: 15px;
}
.list-item-header-name { .list-item-header-name {
width: 250px; width: 250px;
font-size: 16px; font-size: 16px;

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

Loading…
Cancel
Save