diff --git a/src/assets/icons/error_icon.svg b/src/assets/icons/error_icon.svg
new file mode 100644
index 0000000..d772a90
--- /dev/null
+++ b/src/assets/icons/error_icon.svg
@@ -0,0 +1,17 @@
+
+
\ No newline at end of file
diff --git a/src/assets/icons/right_arrow.svg b/src/assets/icons/right_arrow.svg
new file mode 100644
index 0000000..c3da58b
--- /dev/null
+++ b/src/assets/icons/right_arrow.svg
@@ -0,0 +1,18 @@
+
+
\ No newline at end of file
diff --git a/src/components/Search/Search.vue b/src/components/Search/Search.vue
index ebd6294..729f970 100644
--- a/src/components/Search/Search.vue
+++ b/src/components/Search/Search.vue
@@ -31,7 +31,7 @@ async function handlerSearch(value) {
if (res.code === 'OK') {
state.resultList = [
{
- title: 'AI工单管理',
+ title: '图检审批',
path: 'worksheet',
data: res.data.ai,
},
diff --git a/src/layout/components/Header/RecycleModal.vue b/src/layout/components/Header/RecycleModal.vue
index d3a551e..c5e7fe5 100644
--- a/src/layout/components/Header/RecycleModal.vue
+++ b/src/layout/components/Header/RecycleModal.vue
@@ -173,15 +173,14 @@ function imUpdateSelectIds(x: number, y: number, w: number, h: number) {
items.forEach((item: HTMLDivElement) => {
const rect = item.getBoundingClientRect()
const index = selectIds.value.indexOf(item.dataset.id!)
-
if (rect.right > x && rect.bottom > y && rect.left < x + w && rect.top < y + h)
index === -1 && selectIds.value.push(item.dataset.id!)
else index !== -1 && selectIds.value.splice(index, 1)
})
}
-function isSelected(id: number) {
- return selectIds.value.includes(String(id))
+function isSelected(pictureId: number) {
+ return selectIds.value.includes(String(pictureId))
}
function moveHandler(e: MouseEvent) {
@@ -241,6 +240,7 @@ onMounted(() => {
async function showModal() {
show.value = true
+ reset()
pagination.pageNo = 1
const list = await featchList()
listData.value = list
@@ -296,7 +296,6 @@ defineExpose({
const notPassModalRef = ref(null)
const showActions = computed(() => {
- console.log('selectedApproveItems', selectedApproveItems)
return selectedApproveItems.value.length > 0 && batch;
});
@@ -318,6 +317,7 @@ function reset() {
batch.value = false;
pagination.pageNo = 1;
pagination.pageSize = 20;
+ selectIds.value = [];
selectedApproveItems.value.length = 0;
loading = false;
canloadMore = true;
@@ -457,8 +457,8 @@ async function refreshHandler() {
-
+
diff --git a/src/views/task/aside/Aside.vue b/src/views/task/aside/Aside.vue
index 3d60c0f..2ba6e6a 100644
--- a/src/views/task/aside/Aside.vue
+++ b/src/views/task/aside/Aside.vue
@@ -70,10 +70,8 @@ const showSearch = ref(false)
function setShowSearch(value: boolean) {
if (!value) {
- console.log('setShowSearch', value)
search.value = ''
taskListRef.value.search('')
- return
}
showSearch.value = value
}
diff --git a/src/views/task/content/Content.vue b/src/views/task/content/Content.vue
index 5c7b2c4..d7f090a 100644
--- a/src/views/task/content/Content.vue
+++ b/src/views/task/content/Content.vue
@@ -240,7 +240,9 @@ async function handleDragEnd(event, item) {
const res = await dubiousfileyd({ pictureid: item.pictureId })
if (res.code === 'OK') {
message.success('加入成功')
+ setBatch(false)
getTableData()
+ getImgList()
}
else {
message.error(res.message)
@@ -355,6 +357,11 @@ async function getDetail() {
getImgList()
}
+function notPassSuccess(param) {
+ batchModalRef.value.reload()
+ reloadList(param, '不通过')
+}
+
function reloadList(param, text) {
// 修改左侧状态
const id = currentTaskId()
@@ -574,7 +581,7 @@ function switchBatch() {
{
handleDragEnd(event, item);
@@ -643,10 +650,8 @@ function switchBatch() {
{
- batchModalRef.value.reload()
- reloadList(param, '不通过')
- }"
+ ref="notPassModalRef"
+ @success="notPassSuccess"
/>
{
return item?.label
})
+const deviceHeight = ref(600)
const taskStore = useTask()
const masonryRef = ref(null)
@@ -64,6 +67,14 @@ const sortBy: any = {
const batch = ref(false)
let _imagesload: any
const message = useMessage()
+async function computeListHeight() {
+ const headEl = document.querySelector('.wrapper-content')!
+ const { bottomIncludeBody } = getViewportOffset(headEl)
+ const height = bottomIncludeBody
+ deviceHeight.value = height - 40 - 16 - 24
+}
+
+useWindowSizeFn(computeListHeight)
const layout = debounce(() => {
if (!show.value)
@@ -74,6 +85,7 @@ const layout = debounce(() => {
_masonry = new Masonry(masonryRef.value as any, {
itemSelector: '.grid-item',
+ gutter: 17,
columnWidth: 214,
percentPosition: true,
stagger: 10,
@@ -100,15 +112,17 @@ watch(viewMode, () => {
let canloadMore = true
-useInfiniteScroll(
- el as any,
- () => {
- loadMore()
- },
- { distance: 10, canLoadMore: () => canloadMore },
-)
+// useInfiniteScroll(
+// el as any,
+// () => {
+// console.log(123456)
+// loadMore()
+// },
+// { distance: 10, canLoadMore: () => canloadMore },
+// )
async function loadMore() {
+ console.log('loadMore')
if (loading.value || el.value == null)
return
@@ -206,9 +220,9 @@ function upHandler(event: MouseEvent) {
start = null
}
-const gridHeight = computed(() => {
- return viewMode.value !== 'masonry' ? '157px' : ''
-})
+// const gridHeight = computed(() => {
+// return viewMode.value !== 'masonry' ? '157px' : ''
+// })
function addListeners() {
selectionBox = document.querySelector('.selection-box') as HTMLDivElement
@@ -234,6 +248,7 @@ async function afterEnter() {
}
function afterLeave() {
+ reload()
removeListeners()
}
@@ -285,8 +300,12 @@ const showActions = computed(() => {
function setBatch(value: boolean) {
batch.value = value
- if (value === false)
- selectIds.value.length = 0
+ if (value === false) {
+ selectIds.value = []
+ listData.value.forEach((item) => {
+ item.checked = false
+ })
+ }
}
function reject() {
@@ -321,13 +340,15 @@ async function refreshHandler() {
taskDetailInfo.value = await getTaskDetailInfo(taskId.value, '')
nextTick(() => {
- useInfiniteScroll(
- el as any,
- () => {
- loadMore()
- },
- { distance: 10, canLoadMore: () => canloadMore },
- )
+ setTimeout(() => {
+ useInfiniteScroll(
+ el as any,
+ () => {
+ loadMore()
+ },
+ { distance: 10, canLoadMore: () => canloadMore },
+ )
+ }, 300)
})
}
@@ -337,14 +358,43 @@ watch(() => taskStore.activeId, async (newValue, oldValue) => {
refreshHandler()
})
+const listStyle = computed(() => {
+ return {
+ height: `${deviceHeight.value}px`,
+ }
+})
+
function switchBatch() {
setBatch(!batch.value)
}
function reload() {
selectIds.value = []
+ setBatch(false)
+ refreshHandler()
+}
+
+function sortHandler(orderby: 'similarityScore' | 'createdate') {
+ sortBy.orderName = orderby
+ sortBy.orderType = sortBy.orderType === 'asc' ? 'desc' : 'asc'
+
refreshHandler()
}
+
+const gridHeight = computed(() => {
+ let height = ''
+ if (viewMode.value === 'masonry')
+ height = ''
+ else if (viewMode.value === 'horizontalVersion')
+ height = '122px'
+ else if (viewMode.value === 'verticalVersion')
+ height = '300px'
+ else if (viewMode.value === '3:4')
+ height = '240px'
+
+ return height
+})
+
defineExpose({
showModal,
reload,
@@ -364,10 +414,10 @@ defineExpose({
- 任务审批
+ 任务审批
- 任务ID:{{ taskDetailInfo.fromtaskname }}
+ 任务ID:{{ taskDetailInfo.fromtaskname }}
@@ -422,7 +472,7 @@ defineExpose({
-
+
+
+
+
+ 视图
+
+
+
+ 时间排序
+
+
+
+ 相似度排序
+
+
@@ -458,46 +523,57 @@ defineExpose({
-