yn_img_tool/src/main/resources/static/js/synthesisQuery/synthesisQuery.js

269 lines
9.0 KiB
JavaScript
Raw Normal View History

2025-04-03 11:21:56 +08:00
let form, laydate, flow, layer, rightPopup;
2025-03-31 17:32:43 +08:00
let pageNum = 1, pageSize = 15; // 定义分页
let queryType = 2; // 默认最近上传
2025-04-03 11:21:56 +08:00
let highSearchData = {};
2025-04-01 13:40:30 +08:00
layui.config({
base: "../../js/layui-v2.9.14/layui/", //此处路径请自行处理, 可以使用绝对路径
}).extend({
rightPopup: "rightPopup",
2025-04-03 11:21:56 +08:00
}).use(["form", 'laydate', 'flow', 'layer', 'rightPopup'], function () {
2025-03-31 17:32:43 +08:00
form = layui.form;
laydate = layui.laydate;
flow = layui.flow;
2025-04-01 13:40:30 +08:00
layer = layui.layer;
rightPopup = layui.rightPopup;
2025-04-02 16:41:15 +08:00
initImgNum();
2025-04-03 11:21:56 +08:00
dataFlow({
pageNum: pageNum,
pageSize: pageSize,
queryType: queryType
});
2025-03-31 18:45:02 +08:00
});
/**数据流加载*/
2025-04-03 11:21:56 +08:00
function dataFlow(queryParams) {
2025-03-31 17:32:43 +08:00
flow.load({
elem: '#ID-flow-demo', // 流加载容器
scrollElem: '#ID-flow-demo', // 滚动条所在元素,一般不用填,此处只是演示需要。
end: '数据加载完毕',
2025-03-31 18:45:02 +08:00
direction: 'bottom',
2025-03-31 17:32:43 +08:00
done: function (page, next) { // 执行下一页的回调
console.error(page);
pageNum = page;
let lis = [];
2025-04-15 17:00:05 +08:00
queryParams.pageNum = page;
2025-04-03 11:21:56 +08:00
let returnData = loadData(queryParams);
2025-03-31 17:32:43 +08:00
if (returnData != null) {
lis = initImgData(returnData.data.list)
2025-03-31 18:45:02 +08:00
next(lis.join(''), page < returnData.data.total / 15);
$('.img-info').on('mouseenter', function () {
this.querySelector('.hidden-actions').style.display = 'block';
});
$('.img-info').on('mouseleave', function () {
this.querySelector('.hidden-actions').style.display = 'none';
});
2025-03-31 17:32:43 +08:00
}
}
});
2025-03-31 18:45:02 +08:00
}
2025-03-31 17:32:43 +08:00
/*切换查询类型*/
function changeType(type, that) {
2025-04-03 11:21:56 +08:00
resetData();
2025-04-03 13:43:41 +08:00
highSearchData = {};
2025-03-31 17:32:43 +08:00
queryType = type;
$(that).removeClass("noCheckedElement");
if ($(that).hasClass("checkedElement") && type === 1) {
$(that).next().removeClass("checkedElement").addClass("noCheckedElement");
} else if (!$(that).hasClass("checkedElement") && type === 1) {
$(that).addClass("checkedElement");
$(that).next().removeClass("checkedElement").addClass("noCheckedElement");
} else if ($(that).hasClass("checkedElement") && type === 2) {
$(that).prev().removeClass("checkedElement").addClass("noCheckedElement");
} else if (!$(that).hasClass("checkedElement") && type === 2) {
$(that).addClass("checkedElement");
$(that).prev().removeClass("checkedElement").addClass("noCheckedElement");
}
2025-04-15 17:00:05 +08:00
initImgNum();
2025-04-03 11:21:56 +08:00
searchData({
pageNum: pageNum,
pageSize: pageSize,
queryType: queryType
});
2025-03-31 17:32:43 +08:00
}
/**加载图片数据*/
2025-04-03 11:21:56 +08:00
function loadData(queryParams) {
2025-03-31 17:32:43 +08:00
let returnData = null;
let url = dataUrl + "/backstage/synthesisQuery/getImgList"
2025-04-03 11:21:56 +08:00
let obj = queryParams;
2025-03-31 17:32:43 +08:00
let params = {
encryptedData: encryptCBC(JSON.stringify(obj))
}
ajaxRequest(url, "POST", params, false, function () {
}, function (result) {
if (result.status === 200) {
console.log(result)
returnData = result;
} else {
layer.msg(result.msg, {icon: 2})
}
}, function (xhr) {
error(xhr)
});
return returnData;
}
/**渲染图片*/
function initImgData(list) {
let htmlArr = [];
if (list && list.length > 0) {
$.each(list, function (index, item) {
2025-04-02 18:20:17 +08:00
let filePath = imgUrl + item.compressFilePath + "?token=" + tokens
2025-03-31 17:32:43 +08:00
htmlArr.push("<div class='img-info'>" +
" <div class='imgData layout'>\n" +
2025-04-02 18:20:17 +08:00
" <img src='" + filePath + "'>" +
2025-03-31 17:32:43 +08:00
" </div>" +
" <div class='imgData2 layout'>" +
" <p>" + item.uploadTime + "</p>" +
" <p class='img-color" + (item.uploadType) + "'>" + item.uploadTypeName + "</p>" +
" </div>" +
2025-04-07 10:06:53 +08:00
" <div class='imgData4 layout'>" +
" <p>" + item.proName + "</p>" +
" </div>" +
2025-03-31 17:32:43 +08:00
" <div class='imgData3 layout'>" +
2025-04-02 18:20:17 +08:00
" <p>" + setSourceTypeName(item) + "</p>" +
2025-04-01 13:40:30 +08:00
setCollectData(item) +
2025-03-31 18:45:02 +08:00
" </div>" +
" <div class='hidden-actions'><div class='hidden-btn layout'>" +
2025-04-01 13:40:30 +08:00
" <div class='layout' onclick='viewImg(" + JSON.stringify(item) + ")'><div class='img-view' title='放大'></div></div>" +
2025-04-03 15:26:36 +08:00
" <div class='layout' onclick='imgDownLoad(" + JSON.stringify(item) + ",1)'><div title='原图下载' class='img-download'></div></div>" +
" <div class='layout' onclick='generateWatermark(" + JSON.stringify(item) + ")'><div title='水印下载' class='img-water'></div></div>" +
2025-04-01 13:40:30 +08:00
setCollectImg(item) +
2025-03-31 18:45:02 +08:00
" </div></div>" +
2025-03-31 17:32:43 +08:00
" </div>");
})
}
return htmlArr;
2025-04-01 13:40:30 +08:00
// 设置收藏按钮
function setCollectImg(item) {
if (item.collectStatus === '0') {
2025-04-01 18:12:19 +08:00
return "<div class='layout' onclick='collectImg(this," + JSON.stringify(item) + ",0)'><div title='收藏' class='img-collect'></div></div>" +
"<div style='display: none;' class='layout' onclick='collectImg(this," + JSON.stringify(item) + ",1)'><div title='取消收藏' class='img-collect-check'></div></div>";
2025-04-01 13:40:30 +08:00
} else {
2025-04-01 18:12:19 +08:00
return "<div style='display: none;' class='layout' onclick='collectImg(this," + JSON.stringify(item) + ",0)'><div title='收藏' class='img-collect'></div></div>" +
"<div class='layout' onclick='collectImg(this," + JSON.stringify(item) + ",1)'><div title='取消收藏' class='img-collect-check'></div></div>";
2025-04-01 13:40:30 +08:00
}
}
// 设置收藏图标
function setCollectData(item) {
if (item.collectStatus === '1') {
return "<img src='../../img/synthesisQuery/collect_check.png'>";
}
return "<img style='display:none;' src='../../img/synthesisQuery/collect_check.png'>";
}
2025-04-02 18:20:17 +08:00
// 设置标题
2025-04-03 11:21:56 +08:00
function setSourceTypeName(item) {
if (item.sourceType === '9') {
2025-04-02 18:20:17 +08:00
return item.title;
2025-04-03 11:21:56 +08:00
} else {
2025-04-14 10:44:52 +08:00
return item.sourceTypeName ? item.sourceTypeName.split('-')[1] : '';
2025-04-02 18:20:17 +08:00
}
}
2025-03-31 18:45:02 +08:00
}
2025-04-01 13:40:30 +08:00
2025-04-01 09:41:26 +08:00
/**收藏*/
2025-04-01 13:40:30 +08:00
function collectImg(that, item, type) {
if (type === 0) { // 收藏
2025-04-03 11:55:56 +08:00
let flag = collectData({
collectType: 1,
id: item.id
});
if (flag) {
$(that).next().removeAttr("style");
$(that).css({'display': 'none'})
$(that).parent().parent().prev().find('img').eq(0).removeAttr('style')
layer.msg("收藏成功",{icon:1})
}else{
layer.msg("收藏失败",{icon:2})
}
2025-04-01 13:40:30 +08:00
} else if (type === 1) { // 取消收藏
2025-04-03 11:55:56 +08:00
let flag = collectData({
collectType: 2,
id: item.id
});
if (flag) {
$(that).prev().removeAttr("style");
$(that).css({'display': 'none'});
$(that).parent().parent().prev().find('img').eq(0).css({'display': 'none'})
layer.msg("取消收藏成功",{icon:1})
}else{
layer.msg("取消收藏失败",{icon:2})
}
2025-04-01 13:40:30 +08:00
}
}
/**高级筛选*/
2025-04-03 11:21:56 +08:00
function highSearch() {
rightPopup.rightPopupLayer("../../pages/synthesisQuery/highSearchForm.html", JSON.stringify(highSearchData), ["45%", "100%"]);
}
/**标题查询*/
function titleSearch() {
2025-04-03 13:43:41 +08:00
highSearchData = {};
2025-04-03 11:21:56 +08:00
resetData();
let queryParams = {
pageNum: pageNum,
pageSize: pageSize,
queryType: queryType,
searchType: 1,
2025-04-03 13:43:41 +08:00
keyWord: $('#keyWord').val()
2025-04-03 11:21:56 +08:00
}
searchData(queryParams);
2025-04-01 13:40:30 +08:00
}
2025-04-03 11:21:56 +08:00
2025-04-01 13:40:30 +08:00
/*图片类型查询*/
2025-04-03 11:21:56 +08:00
function queryByType(that, type) {
2025-04-03 13:43:41 +08:00
highSearchData = {};
2025-04-03 11:21:56 +08:00
resetData();
$(that).addClass('type-num-check');
let queryParams = {
pageNum: pageNum,
pageSize: pageSize,
queryType: queryType,
searchType: 2,
uploadType: type
}
searchData(queryParams);
}
/**高级筛选数据*/
function highSearchValue(obj) {
resetData();
highSearchData = JSON.parse(obj);
let queryParams = Object.assign(highSearchData, {})
queryParams.pageNum = pageNum;
queryParams.pageSize = pageSize;
queryParams.queryType = queryType;
queryParams.searchType = 3;
dataFlow(queryParams);
}
// 查询数据
function searchData(queryParams) {
$('#ID-flow-demo').empty();
dataFlow(queryParams);
}
/**重置基本数据*/
2025-04-03 11:55:56 +08:00
function resetData() {
2025-04-03 11:21:56 +08:00
pageNum = 1;
$('.type-num').each(function () {
2025-04-01 13:40:30 +08:00
$(this).removeClass('type-num-check');
})
2025-03-31 18:45:02 +08:00
}
2025-04-08 16:43:50 +08:00
/**刷新数据*/
function refreshData(){
layer.msg("数据刷新中,请稍候...", {icon: 16, scrollbar: false, time: 1000,});
pageNum = 1;
$('#keyWord').val('');
highSearchData = {};
$('.type-num').each(function () {
$(this).removeClass('type-num-check');
})
initImgNum();
dataFlow({
pageNum: pageNum,
pageSize: pageSize,
queryType: queryType
});
}