项目分类统计详情

This commit is contained in:
cwchen 2025-04-03 18:06:51 +08:00
parent ecf81be077
commit 2a32e2ba57
8 changed files with 160 additions and 86 deletions

View File

@ -91,6 +91,9 @@
#{proId}
</foreach>
</if>
<if test="id!=null">
AND tcq.pro_id = #{id}
</if>
GROUP BY tcq.upload_type
</select>
@ -137,9 +140,9 @@
</if>
<if test="searchType == 3">
<if test="keyWord!=null and keyWord!=''">
AND(
SUBSTRING(sfr.source_type_name, LOCATE('-', sfr.source_type_name) + 1) = #{keyWord} OR
INSTR(tcq.title,#{keyWord}) > 0
AND (
SUBSTRING(sfr.source_type_name, LOCATE('-', sfr.source_type_name) + 1) = #{keyWord} OR
INSTR(tcq.title,#{keyWord}) > 0
)
</if>
<if test="proId!=null">
@ -206,6 +209,9 @@
#{proId}
</foreach>
</if>
<if test="id!=null">
AND tcq.pro_id = #{id}
</if>
AND tcq.is_active = '1'
</where>
ORDER BY sfr.create_time DESC
@ -236,6 +242,9 @@
#{proId}
</foreach>
</if>
<if test="id!=null">
AND tcq.pro_id = #{id}
</if>
AND tcq.is_active = '1'
</where>
GROUP BY tcq.upload_type, tcq.pro_id

View File

@ -2,6 +2,10 @@ let form, laydate, layer, highSearchData = {};
function setParams(obj) {
highSearchData = JSON.parse(obj);
let type = highSearchData.type;
if(type){
$('#pro-item').remove();
}
layui.use(["form", 'laydate', 'layer'], function () {
form = layui.form;
laydate = layui.laydate;

View File

@ -82,7 +82,7 @@ function initImgData(list) {
" <div class='hidden-actions3'><div class='hidden-btn layout'>" +
" <div class='layout' onclick='viewImg(" + JSON.stringify(item) + ")'><div class='img-view' title='放大'></div></div>" +
" <div class='layout' onclick='imgDownLoad(" + JSON.stringify(item) + ",1)'><div title='原图下载' class='img-download'></div></div>" +
" <div class='layout' onclick='waterImgDownLoad(" + JSON.stringify(item) + ")'><div title='水印下载' class='img-water'></div></div>" +
" <div class='layout' onclick='generateWatermark(" + JSON.stringify(item) + ")'><div title='水印下载' class='img-water'></div></div>" +
setCollectImg(item) +
" </div></div>" +
" </div>");

View File

@ -1,24 +1,32 @@
let form, laydate, flow, layer, rightPopup;
let pageNum = 1, pageSize = 15; // 图片定义分页
let pageNum2 = 1, pageSize2 = 2; // 列表定义分页
let queryType = 1; // 默认图片
let queryType = 2; // 默认图片
let objParams = {},highSearchData = {};
function setParams(obj) {
objParams = JSON.parse(obj);
layui.config({
base: "../../js/layui-v2.9.14/layui/", //此处路径请自行处理, 可以使用绝对路径
}).extend({
rightPopup: "rightPopup2",
rightPopup: "rightPopup",
}).use(["form", 'laydate', 'flow', 'layer', 'rightPopup'], function () {
form = layui.form;
laydate = layui.laydate;
flow = layui.flow;
layer = layui.layer;
rightPopup = layui.rightPopup;
dataFlow();
initImgNum(objParams.proId);
dataFlow({
pageNum: pageNum,
pageSize: pageSize,
queryType: queryType,
id:objParams.proId
});
});
}
/**数据流加载*/
function dataFlow() {
function dataFlow(queryParams) {
flow.load({
elem: '#ID-flow-demo', // 流加载容器
scrollElem: '#ID-flow-demo', // 滚动条所在元素,一般不用填,此处只是演示需要。
@ -27,16 +35,15 @@ function dataFlow() {
done: function (page, next) { // 执行下一页的回调
pageNum = page;
let lis = [];
let returnData = loadData();
let returnData = loadData(queryParams);
if (returnData != null) {
if (queryType === 1) { // 图片
if (queryType === 2) { // 图片
lis = initImgData(returnData.data.list)
} else { // 列表
lis = initListData(returnData.data.list)
}
next(lis.join(''), page < returnData.data.total / (queryType === 1 ? pageSize : pageSize2));
if (queryType === 1) {
next(lis.join(''), page < returnData.data.total / (queryType === 2 ? pageSize : pageSize2));
if (queryType === 2) {
$('.img-info').on('mouseenter', function () {
this.querySelector('.hidden-actions').style.display = 'block';
});
@ -57,17 +64,15 @@ function dataFlow() {
}
/**加载图片数据*/
function loadData() {
function loadData(queryParams) {
let returnData = null;
let url = dataUrl + "/backstage/synthesisQuery/getImgList"
let url = null;
let obj = {}
if (queryType === 1) { // 图片
obj = {
pageNum: pageNum,
pageSize: pageSize,
queryType: queryType
}
if (queryType === 2) { // 图片
url = dataUrl + "/backstage/synthesisQuery/getImgList";
obj = queryParams
} else { // 列表
url = dataUrl + "/backstage/synthesisQuery/getImgList";
obj = {
pageNum: pageNum2,
pageSize: pageSize2,
@ -96,22 +101,23 @@ function initImgData(list) {
let htmlArr = [];
if (list && list.length > 0) {
$.each(list, function (index, item) {
let filePath = imgUrl + item.compressFilePath + "?token=" + tokens
htmlArr.push("<div class='img-info'>" +
" <div class='imgData layout'>\n" +
" <img src='" + item.compressFilePath + "'>" +
" <img src='" + filePath + "'>" +
" </div>" +
" <div class='imgData2 layout'>" +
" <p>" + item.uploadTime + "</p>" +
" <p class='img-color" + (item.uploadType) + "'>" + item.uploadTypeName + "</p>" +
" </div>" +
" <div class='imgData3 layout'>" +
" <p>" + item.sourceTypeName + "</p>" +
" <p>" + setSourceTypeName(item) + "</p>" +
setCollectData(item) +
" </div>" +
" <div class='hidden-actions'><div class='hidden-btn layout'>" +
" <div class='layout' onclick='viewImg(" + JSON.stringify(item) + ")'><div class='img-view' title='放大'></div></div>" +
" <div class='layout' onclick='imgDownLoad(" + JSON.stringify(item) + ")'><div title='原图下载' class='img-download'></div></div>" +
" <div class='layout' onclick='waterImgDownLoad(" + JSON.stringify(item) + ")'><div title='水印下载' class='img-water'></div></div>" +
" <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>" +
setCollectImg(item) +
" </div></div>" +
" </div>");
@ -139,6 +145,15 @@ function initImgData(list) {
return "<img style='display:none;' src='../../img/synthesisQuery/collect_check.png'>";
}
// 设置标题
function setSourceTypeName(item) {
if (item.sourceType === '9') {
return item.title;
} else {
return item.sourceTypeName.split('-')[1];
}
}
}
/**1.图片 2.列表*/
@ -156,16 +171,6 @@ function changeType(that, type) {
$('#ID-flow-demo').empty();
dataFlow();
}
/*图片类型查询*/
function queryByType(that, type) {
$('.type-num').each(function () {
$(this).removeClass('type-num-check');
})
$(that).addClass('type-num-check');
}
/**渲染列表图片*/
function initListData(list) {
let htmlArr = [];
@ -271,8 +276,8 @@ function initListData(list) {
"<img src=" + item.compressFilePath + ">" +
"<div class='hidden-actions2'><div class='hidden-btn layout'>" +
"<div class='layout' onclick='viewImg(" + JSON.stringify(item) + ")'><div class='img-view' title='放大'></div></div>" +
"<div class='layout' onclick='imgDownLoad(" + JSON.stringify(item) + ")'><div title='原图下载' class='img-download'></div></div>" +
"<div class='layout' onclick='waterImgDownLoad(" + JSON.stringify(item) + ")'><div title='水印下载' class='img-water'></div></div>" +
"<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>" +
setCollectImg(item) +
"</div></div>" +
"</div>";
@ -310,49 +315,101 @@ function initListData(list) {
}
/**放大*/
function viewImg(item) {
layer.photos({
shade: 0.5,
footer: false,
photos: {
"title": "图片预览",
"start": 0,
"data": [
{
"pid": 1,
"src": "../../img/synthesisQuery/7.jpg",
}
]
},
});
}
/**放大*/
function imgDownLoad(item) {
alert(item.id)
}
/**水印下载*/
function waterImgDownLoad(item) {
alert(item.id)
}
/**收藏*/
function collectImg(that, item, type) {
if (type === 0) { // 收藏
$(that).next().removeAttr("style");
$(that).css({'display': 'none'})
$(that).parent().parent().prev().find('img').eq(0).removeAttr('style')
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})
}
} else if (type === 1) { // 取消收藏
$(that).prev().removeAttr("style");
$(that).css({'display': 'none'});
$(that).parent().parent().prev().find('img').eq(0).css({'display': 'none'})
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})
}
}
}
/**高级筛选*/
function highSearch() {
rightPopup.rightPopupLayer("../../pages/synthesisQuery/highSearchForm.html", JSON.stringify({}), ["50%", "100%"]);
highSearchData.type = 1;
rightPopup.rightPopupLayer("../../pages/synthesisQuery/highSearchForm.html", JSON.stringify(highSearchData), ["50%", "100%"]);
}
/**标题查询*/
function titleSearch() {
highSearchData = {};
resetData();
let queryParams = {
pageNum: pageNum,
pageSize: pageSize,
queryType: queryType,
searchType: 1,
keyWord: $('#keyWord').val(),
id:objParams.proId
}
searchData(queryParams);
}
/*图片类型查询*/
function queryByType(that, type) {
resetData();
if(queryType === 2){
highSearchData = {};
$(that).addClass('type-num-check');
let queryParams = {
pageNum: pageNum,
pageSize: pageSize,
queryType: queryType,
searchType: 2,
uploadType: type,
id:objParams.proId
}
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;
queryParams.id = objParams.proId;
dataFlow(queryParams);
}
// 查询数据
function searchData(queryParams) {
$('#ID-flow-demo').empty();
dataFlow(queryParams);
}
/**重置基本数据*/
function resetData() {
pageNum = 1;
$('.type-num').each(function () {
$(this).removeClass('type-num-check');
})
}

View File

@ -1,7 +1,9 @@
// 获取图片数量
function initImgNum() {
function initImgNum(objParams) {
let url = dataUrl + "/backstage/synthesisQuery/getImgNum"
let obj = {}
let obj = {
id: objParams || null
}
let params = {
encryptedData: encryptCBC(JSON.stringify(obj))
}

View File

@ -38,7 +38,7 @@
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-form-item" id="pro-item">
<div class="layui-inline">
<label class="layui-form-label">工程</label>
<div class="layui-input-inline" style="width: 575px !important;">

View File

@ -21,10 +21,10 @@
<form class="layui-form">
<div class="layui-form-item layout">
<div class="layui-input-group">
<input style="width: 600px;" type="text" id="title" name="title" placeholder="搜索标题"
autocomplete="off" class="layui-input" lay-affix="clear">
<input style="width: 600px;" type="text" id="keyWord" name="keyWord" placeholder="搜索标题"
autocomplete="off" class="layui-input" lay-affix="clear" maxlength="30">
<div class="layui-input-split layui-input-suffix" style="cursor: pointer;background-color: #fff;">
<i class="layui-icon layui-icon-search"></i>
<i class="layui-icon layui-icon-search" onclick="titleSearch()"></i>
</div>
</div>
<div class="layui-inline layout" style="margin-bottom: 0;cursor: pointer;" onclick="highSearch()">
@ -43,7 +43,7 @@
<div class="type-num layout" onclick="queryByType(this,0)">
<div class="layout">
<p>总照片数</p>
<p>1250</p>
<p id="totalNum">0</p>
</div>
<div class="layout">
<img src="../../img/synthesisQuery/1.png">
@ -52,7 +52,7 @@
<div class="type-num layout" onclick="queryByType(this,1)">
<div class="layout">
<p>安全违章</p>
<p>1250</p>
<p id="safetyVioNum">0</p>
</div>
<div class="layout">
<img src="../../img/synthesisQuery/2.png">
@ -61,7 +61,7 @@
<div class="type-num layout" onclick="queryByType(this,2)">
<div class="layout">
<p>质量检查</p>
<p>1250</p>
<p id="qualityInsNum">0</p>
</div>
<div class="layout">
<img src="../../img/synthesisQuery/3.png">
@ -70,7 +70,7 @@
<div class="type-num layout" onclick="queryByType(this,3)">
<div class="layout">
<p>安全措施落实</p>
<p>1250</p>
<p id="safetyMeasNum">0</p>
</div>
<div class="layout">
<img src="../../img/synthesisQuery/4.png">
@ -79,7 +79,7 @@
<div class="type-num layout" onclick="queryByType(this,4)">
<div class="layout">
<p>协调照片</p>
<p>1250</p>
<p id="coordinatedPhotoNum">0</p>
</div>
<div class="layout">
<img src="../../img/synthesisQuery/5.png">
@ -88,7 +88,7 @@
<div class="type-num layout" onclick="queryByType(this,5)">
<div class="layout">
<p>重要事项及宣传类</p>
<p>1250</p>
<p id="importIssuesAndPublicityNum">0</p>
</div>
<div class="layout">
<img src="../../img/synthesisQuery/6.png">
@ -107,4 +107,6 @@
</div>
</body>
<script src="../../js/synthesisQuery/proClassifyStatisticsDetail.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../js/synthesisQuery/synthesisQueryCommon.js" charset="UTF-8" type="text/javascript"></script>
<script src="../../js/synthesisQuery/synthesisQueryAjax.js" charset="UTF-8" type="text/javascript"></script>
</html>

View File

@ -22,7 +22,7 @@
<div class="layui-form-item layout">
<div class="layui-input-group">
<input style="width: 600px;" type="text" id="keyWord" name="keyWord" placeholder="搜索标题"
autocomplete="off" class="layui-input" lay-affix="clear">
autocomplete="off" class="layui-input" lay-affix="clear" maxlength="30">
<div class="layui-input-split layui-input-suffix" style="cursor: pointer;background-color: #fff;">
<i class="layui-icon layui-icon-search" onclick="titleSearch()"></i>
</div>