需求效果
后台逻辑代码
package com.cicada.cube.ctrl.union.sch;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.doofen.IndexBox;
import com.doofen.dict.core.bbo.BBOConst;
import com.doofen.stat.core.custom.QryDomainFilter;
import com.doofen.stat.hub.StatCustom;
import com.doofen.stat.hub.impl.StatCustomImpl;
import com.zxt.framework.mvc.controller.VOController;
/**
*
* @Package com.cicada.cube.ctrl.sch
* @ClassName: SchKpAbSetController
* @Description: 显示当前知识点、能力点体系
* @author Andrew
* @date 2018年4月11日
*
*/
@Controller
@RequestMapping("sch")
public class SchKpAbSetController extends VOController{
/**
*
* @Title: getSchKpSets
* @Description: 获取指定学校知识点体系信息
* @param schId
* @param request
* @return 参数
* @return JSONObject
* @throws
*/
@RequestMapping(value="/kpSet/list/{schId}",method=RequestMethod.GET)
@ResponseBody
public JSONObject getSchKpSet(
@PathVariable(value="schId") Long schId,
HttpServletRequest request ){
try{
JSONArray jarr = new JSONArray();
QryDomainFilter filter = new QryDomainFilter();
StatCustom statCustom = new StatCustomImpl();
filter.setIndex( IndexBox.INDEX_BASE_BUSINESS_OBJECT );
filter.setTypes( BBOConst.BBO_SCH_KP_SET );
filter.setSelect("*");
filter.setCondition( "schId="+ schId );
//filter.setOrderBy("yearIn");
jarr= statCustom.getStat(filter);
return getSuccessResult( jarr );
}catch(Exception e){
return getErrorResult("系统异常,请稍后重试.");
}
}
/**
*
* @Title: getSchKpSets
* @Description: 获取指定学校知识点体系信息
* @param schId
* @param request
* @return 参数
* @return JSONObject
* @throws
*/
@RequestMapping(value="/AbSet/list/{schId}",method=RequestMethod.GET)
@ResponseBody
public JSONObject getSchAbSet(
@PathVariable(value="schId") Long schId,
HttpServletRequest request ){
try{
JSONArray jarr = new JSONArray();
QryDomainFilter filter = new QryDomainFilter();
StatCustom statCustom = new StatCustomImpl();
filter.setIndex( IndexBox.INDEX_BASE_BUSINESS_OBJECT );
filter.setTypes( BBOConst.BBO_SCH_AB_SET );
filter.setSelect("*");
filter.setCondition( "schId="+ schId );
//filter.setOrderBy("yearIn");
jarr= statCustom.getStat(filter);
return getSuccessResult( jarr );
}catch(Exception e){
return getErrorResult("系统异常,请稍后重试.");
}
}
}
返回数据结构
{"data":[{"schId":112100,"idType":1,"yearIn":17,"_id":"1_112100_17","kpSets":[{"kpSetId":16,"xkId":1},{"kpSetId":11,"xkId":2},{"kpSetId":11,"xkId":3},{"kpSetId":11,"xkId":4},{"kpSetId":11,"xkId":5},{"kpSetId":11,"xkId":6},{"kpSetId":16,"xkId":7},{"kpSetId":11,"xkId":8},{"kpSetId":11,"xkId":9}]},{"schId":112100,"idType":1,"yearIn":16,"_id":"1_112100_16","kpSets":[{"kpSetId":11,"xkId":1},{"kpSetId":11,"xkId":2},{"kpSetId":11,"xkId":3},{"kpSetId":11,"xkId":4},{"kpSetId":11,"xkId":5},{"kpSetId":11,"xkId":6},{"kpSetId":11,"xkId":7},{"kpSetId":11,"xkId":8},{"kpSetId":11,"xkId":9}]},{"schId":112100,"idType":1,"yearIn":15,"_id":"1_112100_15","kpSets":[{"kpSetId":11,"xkId":1},{"kpSetId":11,"xkId":2},{"kpSetId":11,"xkId":3},{"kpSetId":11,"xkId":4},{"kpSetId":11,"xkId":5},{"kpSetId":11,"xkId":6},{"kpSetId":11,"xkId":7},{"kpSetId":11,"xkId":8},{"kpSetId":11,"xkId":9}]}],"success":true}
HTML
<table class="table table-bordered table-hover kpSet_list sd_tbl">
</table>
<script id="kpSet_list_trail" type="text/template">
<thead>
<tr>
<th>学校编号</th>
<th>学级</th>
<th>语文</th>
<th>数学</th>
<th>英语</th>
<th>物理</th>
<th>化学</th>
<th>历史</th>
<th>地理</th>
<th>政治</th>
<th>生物</th>
</tr>
</thead>
<tbody>
<%_.each(data, function(d){%>
<tr>
<td><%=d.schId%></td>
<td><%=d.yearIn%></td>
<%_.each(d.kpSets, function(kp){%>
<td><%=kp.kpSetId%></td>
<%})%>
</tr>
<%})%>
</tbody>
</script>
<!--班级选择项 -->
<script>
var schId = $.url().param('sid');
//控制real类型教师信息的展现
var InitData = function(){
function loadTchs(tchGid){
if( schId == null){
$('.kpSet_list').html('<tr><td>没有检索到数据.</td></tr>');
return false;
}
//获取数据
var url = "../sch/kpSet/list/"+schId;
var temp = '#kpSet_list_trail';
$('.kpSet_list').zxtable({
url: url,
template: temp,
needDataTable: true,
// orderby: [ [3, 'desc'] ],
fixedHeader: false,
});
}
return {
init: function(){
loadTchs();
},
loadTchs: function(tchGid){
loadTchs( tchGid);
}
}
}();
InitData.init();
</script>