Bläddra i källkod

知识库积分界面调整

徐滕 3 veckor sedan
förälder
incheckning
8b1a1308a8

+ 32 - 0
src/main/java/com/jeeplus/modules/WorkKnowledgeBase/entity/WorkKnowledgeBasePoint.java

@@ -7,6 +7,8 @@ import com.jeeplus.common.persistence.DataEntity;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.entity.Office;
 
+import java.util.Date;
+
 /**
  * 知识库积分管理Entity
  * @author 徐滕
@@ -38,6 +40,12 @@ public class WorkKnowledgeBasePoint extends DataEntity<WorkKnowledgeBasePoint> {
 
 	/** 总积分 */
 	private Integer totalPoint;
+	/** 积分类型 */
+	private String columnId;
+
+
+	private Date gainBeginDate;
+	private Date gainEndDate;
 	
 	public WorkKnowledgeBasePoint() {
 		super();
@@ -182,4 +190,28 @@ public class WorkKnowledgeBasePoint extends DataEntity<WorkKnowledgeBasePoint> {
 	public void setIsAdmin(String isAdmin) {
 		this.isAdmin = isAdmin;
 	}
+
+	public String getColumnId() {
+		return columnId;
+	}
+
+	public void setColumnId(String columnId) {
+		this.columnId = columnId;
+	}
+
+	public Date getGainBeginDate() {
+		return gainBeginDate;
+	}
+
+	public void setGainBeginDate(Date gainBeginDate) {
+		this.gainBeginDate = gainBeginDate;
+	}
+
+	public Date getGainEndDate() {
+		return gainEndDate;
+	}
+
+	public void setGainEndDate(Date gainEndDate) {
+		this.gainEndDate = gainEndDate;
+	}
 }

+ 3 - 0
src/main/java/com/jeeplus/modules/WorkKnowledgeBase/web/WorkKnowledgeBasePointController.java

@@ -99,6 +99,9 @@ public class WorkKnowledgeBasePointController extends BaseController {
             workKnowledgeBasePoint.setUserId(user.getId());
         }
 
+        if (StringUtils.isBlank(workKnowledgeBasePoint.getColumnId())) {
+            workKnowledgeBasePoint.setColumnId("2");
+        }
 
         Page<WorkKnowledgeBasePoint> page = workKnowledgeBasePointDetailService.findUserPointSummaryPage(new Page<>(request, response), workKnowledgeBasePoint);
         model.addAttribute("page", page);

+ 24 - 0
src/main/resources/mappings/modules/WorkKnowledgeBase/WorkKnowledgeBasePointDetailDao.xml

@@ -106,9 +106,14 @@
             COALESCE(SUM(d.point), 0) AS "totalPoint"
         FROM sys_user u
         LEFT JOIN work_knowledge_base_point_detail d ON d.user_id = u.id AND d.del_flag = '0'
+        LEFT JOIN work_knowledge_point_category cat ON cat.id = d.category_id AND cat.del_flag = '0'
         LEFT JOIN sys_office o ON o.id = u.office_id
         <where>
             u.del_flag = '0'
+            <!-- 按积分分类节点及其所有子节点筛选 -->
+            <if test="columnId != null and columnId != ''">
+                AND (d.category_id = #{columnId} OR cat.parent_ids LIKE CONCAT('%,', #{columnId}, ',%'))
+            </if>
             <!-- 管理员权限:默认只查看有积分记录的用户 -->
             <if test="isAdmin != null and isAdmin == 'admin'">
                 AND d.id IS NOT NULL
@@ -135,6 +140,13 @@
                     #{officeId}
                 </foreach>
             </if>
+            <!-- 按获取时间区间筛选 -->
+            <if test="gainBeginDate != null">
+                AND d.create_date &gt;= #{gainBeginDate}
+            </if>
+            <if test="gainEndDate != null">
+                AND d.create_date &lt;= TIMESTAMP(#{gainEndDate}, '23:59:59')
+            </if>
         </where>
         GROUP BY u.id, u.name, u.mobile, u.phone, o.name
         <!-- 管理员模式下,过滤掉积分为0的记录 -->
@@ -156,9 +168,14 @@
             SELECT u.id
             FROM sys_user u
             LEFT JOIN work_knowledge_base_point_detail d ON d.user_id = u.id AND d.del_flag = '0'
+            LEFT JOIN work_knowledge_point_category cat ON cat.id = d.category_id AND cat.del_flag = '0'
             LEFT JOIN sys_office o ON o.id = u.office_id
             <where>
                 u.del_flag = '0'
+                <!-- 按积分分类节点及其所有子节点筛选 -->
+                <if test="columnId != null and columnId != ''">
+                    AND (d.category_id = #{columnId} OR cat.parent_ids LIKE CONCAT('%,', #{columnId}, ',%'))
+                </if>
                 <!-- 管理员权限:默认只查看有积分记录的用户 -->
                 <if test="isAdmin != null and isAdmin == 'admin'">
                     AND d.id IS NOT NULL
@@ -186,6 +203,13 @@
                         #{officeId}
                     </foreach>
                 </if>
+                <!-- 按获取时间区间筛选 -->
+                <if test="gainBeginDate != null">
+                    AND d.create_date &gt;= #{gainBeginDate}
+                </if>
+                <if test="gainEndDate != null">
+                    AND d.create_date &lt;= TIMESTAMP(#{gainEndDate}, '23:59:59')
+                </if>
             </where>
             GROUP BY u.id
             <!-- 管理员模式下,过滤掉积分为0的记录 -->

+ 62 - 6
src/main/webapp/webpage/modules/WorkKnowledgeBase/workKnowledgeBasePointList.jsp

@@ -17,15 +17,45 @@
 					$('#moresee i').removeClass("glyphicon glyphicon-menu-down").addClass("glyphicon glyphicon-menu-up");
 				}
 			});
+
+			var columnId = $("#columnId").val();
+			$(".list-tabs li").each(function(){
+				$(this).removeClass("active");
+				if($(this).val() == columnId){
+					$(this).addClass("active");
+				}
+			});
+
+			$(".list-tabs li").click(function(){
+				$(".list-tabs li").removeClass("active");
+				$(this).addClass("active");
+				$("#columnId").val($(this).val());
+				$("#searchForm").submit();
+			});
+
+			// 初始化获取时间 laydate 日期选择器
+			layui.use('laydate', function() {
+				var laydate = layui.laydate;
+				laydate.render({ elem: '#gainBeginDate', event: 'focus', type: 'date', format: 'yyyy-MM-dd', trigger: 'click' });
+				laydate.render({ elem: '#gainEndDate', event: 'focus', type: 'date', format: 'yyyy-MM-dd', trigger: 'click' });
+			});
 		});
 		
 		function openUserDetailDialog(userId, userName) {
+            var columnId = $("#columnId").val() || '2';
+            var columnNames = {'1': '基础积分', '2': '贡献积分'};
+            var typeName = columnNames[columnId] || '积分';
+            var beginDate = $("#gainBeginDate").val() || '';
+            var endDate = $("#gainEndDate").val() || '';
+            var url = '${ctx}/workKnowledgeBase/point/userDetail?userId=' + userId + '&userName=' + encodeURIComponent(userName || '') + '&columnId=' + columnId;
+            if (beginDate) url += '&beginDate=' + beginDate;
+            if (endDate) url += '&endDate=' + endDate;
             top.layer.open({
                 type: 2,
                 area: ['85%', '80%'],
-                title: (userName || '用户') + ' - 积分明细',
+                title: (userName || '用户') + ' - ' + typeName + '明细',
                 maxmin: true,
-                content: '${ctx}/workKnowledgeBase/point/userDetail?userId=' + userId + '&userName=' + encodeURIComponent(userName || ''),
+                content: url,
                 btn: ['关闭'],
                 btn1: function(index) { top.layer.close(index); }
             });
@@ -61,12 +91,13 @@
             return false; 
         }
         function resetSearch() {
-			console.log(12312)
+            var currentColumnId = $("#columnId").val();
             $("#pageNo").val(0);
             $("#toflag").val("");
             $('#searchForm div.query input[type=text]').val('');
             $('#searchForm div.query input[type=hidden]').val('');
             $('#searchForm div.query select').val('');
+            $("#columnId").val(currentColumnId);
             $('#searchForm').submit();
         }
 	</script>
@@ -74,6 +105,13 @@
 <body>
 <div class="wrapper wrapper-content">
 	<sys:message content="${message}"/>
+
+	<div class="list-form-tab contentShadow shadowLTR" id="tabDiv">
+		<ul class="list-tabs" >
+			<li value="2"><a>贡献积分</a></li>
+			<li value="1"><a>基础积分</a></li>
+		</ul>
+	</div>
 	<div class="layui-row">
 		<!-- 查询条件 -->
 		<div class="full-width fl">
@@ -81,23 +119,37 @@
 				<form:form id="searchForm" modelAttribute="workKnowledgeBasePoint" action="${ctx}/workKnowledgeBase/point/list" method="post" class="form-inline">
 					<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
 					<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+					<input id="columnId" name="columnId" type="hidden" value="${workKnowledgeBasePoint.columnId}"/>
 					<form:hidden path="toflag" value="${workKnowledgeBasePoint.toflag}"/>
 					<div class="commonQuery lw7">
-						<div class="layui-item query athird">
+						<div class="layui-item query athird" style="width: 25%">
 							<label class="layui-form-label">经办人:</label>
 							<div class="layui-input-block with-icon">
 								<sys:inquireselectUserNotReadolnyTow id="submitter" name="submitterId" value="${workKnowledgeBasePoint.submitterId}" labelName="submitterName" labelValue="${workKnowledgeBasePoint.submitterName}" cssStyle="background-color: #fff"
 																		 title="用户" url="/sys/office/treeDataAll?type=3" cssClass="form-control layui-input" allowClear="true" notAllowSelectParent="true"/>
 							</div>
 						</div>
-						<div class="layui-item query athird">
+						<div class="layui-item query athird" style="width: 25%">
 							<label class="layui-form-label">经办人部门:</label>
 							<div class="layui-input-block with-icon">
 								<sys:treeselect id="officeId" name="officeId" value="${workKnowledgeBasePoint.officeId}" labelName="officeName" labelValue="${workKnowledgeBasePoint.officeName}" cssStyle="background-color: #fff"
 												title="部门" url="/sys/office/treeDataAll?type=6" cssClass="form-control layui-input" allowInput="true" allowClear="true" notAllowSelectParent="true" />
 							</div>
 						</div>
-						<div class="layui-item athird">
+
+						<!-- 获取时间区间 -->
+						<div class="layui-item query athird" style="width: 25%">
+							<label class="layui-form-label">获取时间:</label>
+							<div class="layui-input-block">
+								<input id="gainBeginDate" name="gainBeginDate" placeholder="开始时间" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+								   value="<fmt:formatDate value='${workKnowledgeBasePoint.gainBeginDate}' pattern='yyyy-MM-dd'/>"/>
+								<span class="group-sep">-</span>
+								<input id="gainEndDate" name="gainEndDate" placeholder="结束时间" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group"
+								   value="<fmt:formatDate value='${workKnowledgeBasePoint.gainEndDate}' pattern='yyyy-MM-dd'/>"/>
+							</div>
+						</div>
+
+						<div class="layui-item athird" style="width: 25%">
 							<div class="input-group">
 								<div class="layui-btn-group search-spacing">
 									<button id="searchQuery" class="layui-btn layui-btn-sm layui-bg-blue" onclick="return search()">查询</button>
@@ -107,6 +159,10 @@
 						</div>
 						<div style="clear:both;"></div>
 					</div>
+					<div id="moresees" style="clear:both;display:none;" class="lw7">
+
+						<div style="clear:both;"></div>
+					</div>
 				</form:form>
 			</div>
 		</div>

+ 0 - 33
src/main/webapp/webpage/modules/WorkKnowledgeBase/workKnowledgeBasePointUserDetail.jsp

@@ -7,33 +7,6 @@
 	<script type="text/javascript" src="${ctxStatic}/ckeditor/ckeditor.js"></script>
 	<script type="text/javascript">
 		$(document).ready(function() {
-			var columnId = $("#columnId").val();
-			$(".list-tabs li").each(function(){
-				$(this).removeAttr("class","active");
-				var id='#'+$(this).find("span").html();
-				$(id).attr("class","hide");
-				if($(this).val() == columnId){
-					$(this).attr("class","active");
-					var id='#'+$(this).find("span").html();
-					$(id).removeAttr("class","hide");
-				}
-				$("#columnId").val(columnId)
-			})
-
-			$(".list-tabs li").click(function(){
-				$(".list-tabs li").each(function(){
-					$(this).removeAttr("class","active");
-					var id='#'+$(this).find("span").html();
-					$(id).attr("class","hide");
-				})
-				$(this).attr("class","active");
-				var id='#'+$(this).find("span").html();
-				$(id).removeAttr("class","hide");
-
-				$("#columnId").val($(this).val())
-				$("#searchForm").submit();
-			})
-
 
 			// 初始化创建时间 laydate 日期选择器
 			layui.use('laydate', function() {
@@ -79,12 +52,6 @@
 <body>
 <div class="wrapper wrapper-content">
 	<sys:message content="${message}"/>
-	<div class="list-form-tab contentShadow shadowLTR" id="tabDiv">
-		<ul class="list-tabs" >
-			<li value="2"><a>贡献积分</a></li>
-			<li value="1"><a>基础积分</a></li>
-		</ul>
-	</div>
 	<div class="layui-row">
 		<div class="full-width fl">
 			<div class="contentShadow layui-row" id="queryDiv">