图像评估的功能
This commit is contained in:
parent
4d09b1e008
commit
360e0e690a
|
|
@ -8,3 +8,20 @@ export function getAllImagelist(query) {
|
||||||
params: query
|
params: query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function deleteFile(data) {
|
||||||
|
return request({
|
||||||
|
url: '/image/caption/deleteFile',
|
||||||
|
method: 'POST',
|
||||||
|
params:data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function exportImages(data) {
|
||||||
|
return request({
|
||||||
|
url: '/image/caption/getPackageDownload',
|
||||||
|
method: 'POST',
|
||||||
|
data: data,
|
||||||
|
responseType: 'blob'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" >
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" >
|
||||||
<el-form-item prop="date">
|
<el-form-item prop="operaTime">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="queryParams.date"
|
v-model="queryParams.operaTime"
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="标注日期"
|
placeholder="标注日期"
|
||||||
>
|
>
|
||||||
|
|
@ -11,18 +11,18 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
|
||||||
<el-form-item label="" prop="roleName">
|
<el-form-item label="" prop="operaName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.roleName"
|
v-model="queryParams.operaName"
|
||||||
placeholder="标注项"
|
placeholder="标注项"
|
||||||
clearable
|
clearable
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="" prop="roleKey">
|
<el-form-item label="" prop="userName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.roleKey"
|
v-model="queryParams.userName"
|
||||||
placeholder="审核人"
|
placeholder="审核人"
|
||||||
clearable
|
clearable
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
|
|
@ -59,7 +59,7 @@
|
||||||
<div class="card-footer">
|
<div class="card-footer">
|
||||||
<div class="person-info">
|
<div class="person-info">
|
||||||
<span class="name">{{ item.userName }}</span>
|
<span class="name">{{ item.userName }}</span>
|
||||||
<span class="date">{{ item.date }}</span>
|
<span class="date">{{ item.operaTime }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="tags">
|
<div class="tags">
|
||||||
<el-tooltip :content="item.contentImage" placement="top" :effect="'light'" :enterable="false">
|
<el-tooltip :content="item.contentImage" placement="top" :effect="'light'" :enterable="false">
|
||||||
|
|
@ -96,7 +96,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {getAllImagelist} from "@/api/imageCaptioning/imageLibrary";
|
import {getAllImagelist, deleteFile, exportImages} from "@/api/imageCaptioning/imageLibrary";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "imageCaptioningLibrary",
|
name: "imageCaptioningLibrary",
|
||||||
|
|
@ -108,9 +108,7 @@ export default {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 8,
|
pageSize: 8,
|
||||||
roleName: undefined,
|
operaTime: '',
|
||||||
roleKey: undefined,
|
|
||||||
status: undefined,
|
|
||||||
operaType: 1
|
operaType: 1
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
|
|
@ -144,19 +142,42 @@ export default {
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
this.queryParams.pageNum = 1
|
this.queryParams.pageNum = 1
|
||||||
|
// 格式化日期,避免时区问题
|
||||||
|
if (this.queryParams.operaTime) {
|
||||||
|
const date = new Date(this.queryParams.operaTime)
|
||||||
|
// 使用getFullYear、getMonth、getDate获取本地日期
|
||||||
|
const year = date.getFullYear()
|
||||||
|
const month = String(date.getMonth() + 1).padStart(2, '0')
|
||||||
|
const day = String(date.getDate()).padStart(2, '0')
|
||||||
|
this.queryParams.operaTime = `${year}-${month}-${day}`
|
||||||
|
}
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
this.resetForm("queryForm")
|
this.resetForm("queryForm")
|
||||||
|
this.queryParams.operaTime = null
|
||||||
this.handleQuery()
|
this.handleQuery()
|
||||||
},
|
},
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
this.download('system/role/export', {
|
const imageIds = this.showProMaterialsDuctList.map(item => item.imageId);
|
||||||
...this.queryParams
|
exportImages({
|
||||||
}, `role_${new Date().getTime()}.xlsx`)
|
imageId: imageIds
|
||||||
|
}).then(response => {
|
||||||
|
// 创建下载链接
|
||||||
|
const blob = new Blob([response]);
|
||||||
|
const link = document.createElement('a');
|
||||||
|
const fileName = `图片压缩包_${new Date().getTime()}.zip`;
|
||||||
|
link.href = URL.createObjectURL(blob);
|
||||||
|
link.download = fileName;
|
||||||
|
link.click();
|
||||||
|
URL.revokeObjectURL(link.href);
|
||||||
|
}).catch(error => {
|
||||||
|
console.error('下载失败:', error);
|
||||||
|
this.$message.error('下载失败');
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
// 删除处理方法
|
// 删除处理方法
|
||||||
|
|
@ -166,11 +187,18 @@ export default {
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
// 这里可以添加实际的删除逻辑
|
//调用删除的方法
|
||||||
console.log('删除:', item)
|
console.log('删除:', item)
|
||||||
// 从列表中移除
|
deleteFile({"imageId":item.imageId}).then(response => {
|
||||||
this.showProMaterialsDuctList = this.showProMaterialsDuctList.filter(i => i.id !== item.id)
|
console.log('删除结果:', response)
|
||||||
this.$message.success('删除成功')
|
if (response.code === 200) {
|
||||||
|
this.$message.success('删除成功')
|
||||||
|
this.getList()
|
||||||
|
} else {
|
||||||
|
this.$message.error('删除失败')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.$message.info('已取消删除')
|
this.$message.info('已取消删除')
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" >
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" >
|
||||||
<el-form-item prop="date">
|
<el-form-item prop="date">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="queryParams.date"
|
v-model="queryParams.operaTime"
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="选择日期"
|
placeholder="选择日期"
|
||||||
>
|
>
|
||||||
|
|
@ -27,10 +27,10 @@
|
||||||
<div class="card-image">
|
<div class="card-image">
|
||||||
<ImagePreview
|
<ImagePreview
|
||||||
style="margin-top: 10px"
|
style="margin-top: 10px"
|
||||||
:height="188"
|
:height="180"
|
||||||
:borderRadius="10"
|
:borderRadius="10"
|
||||||
:width="itemWidth"
|
:width="itemWidth"
|
||||||
:src1="item.image"
|
:src1="item.bjUrl"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -38,19 +38,19 @@
|
||||||
<div class="card-content">
|
<div class="card-content">
|
||||||
<div class="card-footer">
|
<div class="card-footer">
|
||||||
<div class="person-info">
|
<div class="person-info">
|
||||||
<span class="name">综合得分:{{ item.name }}</span>
|
<span class="name">综合得分:{{ item.overallScore }}</span>
|
||||||
<span class="date">{{ item.date }}</span>
|
<span class="date">{{ item.operaName }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="tags">
|
<div class="tags">
|
||||||
<div class="tag-row">
|
<div class="tag-row">
|
||||||
<span class="tag-item" style="padding-left: 16px;">清晰度: 20分</span>
|
<span class="tag-item" style="padding-left: 16px;">清晰度: {{ item.clarity }}分</span>
|
||||||
<span class="tag-item" style="padding-left: 16px;">干净度: 10分</span>
|
<span class="tag-item" style="padding-left: 16px;">干净度: {{ item.cleanliness }}分</span>
|
||||||
<span class="tag-item">压缩痕迹: 10分</span>
|
<span class="tag-item">压缩痕迹: {{ item.compressMarks }}分</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="tag-row">
|
<div class="tag-row">
|
||||||
<span class="tag-item">明暗均衡: 10分</span>
|
<span class="tag-item">明暗均衡: {{ item.balance }}分</span>
|
||||||
<span class="tag-item">整体观感: 15分</span>
|
<span class="tag-item">整体观感: {{ item.impression }}分</span>
|
||||||
<span class="tag-item">细节体验: 15分</span>
|
<span class="tag-item">细节体验: {{ item.detail }}分</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="border-top: 1px solid #CFD4D7;margin-top: 10px"></div>
|
<div style="border-top: 1px solid #CFD4D7;margin-top: 10px"></div>
|
||||||
|
|
@ -83,7 +83,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {getAllImagelist} from "@/api/imageCaptioning/imageLibrary";
|
import {deleteFile, exportImages, getAllImagelist} from "@/api/imageCaptioning/imageLibrary";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "imageCaptioningLibrary",
|
name: "imageCaptioningLibrary",
|
||||||
|
|
@ -94,10 +94,8 @@ export default {
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 8,
|
||||||
roleName: undefined,
|
date: '',
|
||||||
roleKey: undefined,
|
|
||||||
status: undefined,
|
|
||||||
operaType: 2
|
operaType: 2
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
|
|
@ -132,19 +130,43 @@ export default {
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
this.queryParams.pageNum = 1
|
this.queryParams.pageNum = 1
|
||||||
|
// 格式化日期
|
||||||
|
if (this.queryParams.operaTime) {
|
||||||
|
const date = new Date(this.queryParams.operaTime)
|
||||||
|
// 使用getFullYear、getMonth、getDate获取本地日期
|
||||||
|
const year = date.getFullYear()
|
||||||
|
const month = String(date.getMonth() + 1).padStart(2, '0')
|
||||||
|
const day = String(date.getDate()).padStart(2, '0')
|
||||||
|
this.queryParams.operaTime = `${year}-${month}-${day}`
|
||||||
|
}
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
this.resetForm("queryForm")
|
this.resetForm("queryForm")
|
||||||
|
// 重置日期为null而不是空字符串
|
||||||
|
this.queryParams.operaTime = null
|
||||||
this.handleQuery()
|
this.handleQuery()
|
||||||
},
|
},
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
this.download('system/role/export', {
|
const imageIds = this.showProMaterialsDuctList.map(item => item.imageId);
|
||||||
...this.queryParams
|
exportImages({
|
||||||
}, `role_${new Date().getTime()}.xlsx`)
|
imageId: imageIds
|
||||||
|
}).then(response => {
|
||||||
|
// 创建下载链接
|
||||||
|
const blob = new Blob([response]);
|
||||||
|
const link = document.createElement('a');
|
||||||
|
const fileName = `图片压缩包_${new Date().getTime()}.zip`;
|
||||||
|
link.href = URL.createObjectURL(blob);
|
||||||
|
link.download = fileName;
|
||||||
|
link.click();
|
||||||
|
URL.revokeObjectURL(link.href);
|
||||||
|
}).catch(error => {
|
||||||
|
console.error('下载失败:', error);
|
||||||
|
this.$message.error('下载失败');
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
// 删除处理方法
|
// 删除处理方法
|
||||||
|
|
@ -154,11 +176,15 @@ export default {
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
// 这里可以添加实际的删除逻辑
|
//调用删除的方法
|
||||||
console.log('删除:', item)
|
deleteFile({"imageId":item.imageId}).then(response => {
|
||||||
// 从列表中移除
|
if (response.code === 200) {
|
||||||
this.showProMaterialsDuctList = this.showProMaterialsDuctList.filter(i => i.id !== item.id)
|
this.$message.success('删除成功')
|
||||||
this.$message.success('删除成功')
|
this.getList()
|
||||||
|
} else {
|
||||||
|
this.$message.error('删除失败')
|
||||||
|
}
|
||||||
|
})
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.$message.info('已取消删除')
|
this.$message.info('已取消删除')
|
||||||
})
|
})
|
||||||
|
|
@ -204,6 +230,7 @@ export default {
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
align-content: flex-start;
|
align-content: flex-start;
|
||||||
justify-items: center;
|
justify-items: center;
|
||||||
|
height: 47%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-image {
|
.card-image {
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,7 @@ export default {
|
||||||
imageResults: [],
|
imageResults: [],
|
||||||
selectedImages: {}, // 用于跟踪选中的图片
|
selectedImages: {}, // 用于跟踪选中的图片
|
||||||
isSidebarVisible: true, // 控制左侧导航栏显示/隐藏
|
isSidebarVisible: true, // 控制左侧导航栏显示/隐藏
|
||||||
addId: null,
|
addId: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue