Переглянути джерело

排序题数据显示问题

keyuan 4 роки тому
батько
коміт
478078622b

+ 26 - 18
src/main/java/com/key/dwsurvey/entity/Question.java

@@ -14,7 +14,7 @@ import com.key.common.CheckType;
 import com.key.common.QuType;
 
 /**
- * 
+ *
  * @author keyuan
  *
  * https://github.com/wkeyuan/DWSurvey
@@ -23,7 +23,7 @@ import com.key.common.QuType;
 @Entity
 @Table(name="t_question")
 public class Question extends IdEntity{
-	
+
 	//所属问卷或题库
 	private String belongId;
 	//题目名称
@@ -42,7 +42,7 @@ public class Question extends IdEntity{
 	private Integer orderById;
 	// 创建时间
 	private Date createDate=new Date();
-	// 是否是大小题    1默认题  2大题  3大题下面的小题   
+	// 是否是大小题    1默认题  2大题  3大题下面的小题
 	private Integer quTag=1;
 	// 所属大题  只有小题才有此属性 即quTag=3的题
 	private String parentQuId;
@@ -56,30 +56,30 @@ public class Question extends IdEntity{
 	private Integer paramInt01 = 3;
 	//评分题,最大分值
 	private Integer paramInt02 = 10;
-	//是否显示 0不显示   1显示 
+	//是否显示 0不显示   1显示
 	private Integer visibility=1;
-	
+
 	//如果是复制的题,则有复制于那一题
 	public String copyFromId;
-	
-	//控制性属性 
+
+	//控制性属性
 	//1水平显示 2垂直显示
 	private Integer hv=2;
 	//选项随机排列  1随机排列 0不随机排列
 	private Integer randOrder=0;
 	//按列显示时,列数
 	private Integer cellCount=0;
-	
+
 	//联系人属性
 	//1关联到联系人属性  0不关联到联系人属性
 	private Integer contactsAttr=0;
 	//关联的联系人字段
 	private String contactsField;
-	
+
 	//填空的input
 	private Integer answerInputWidth;
 	private Integer answerInputRow;
-	
+
 	public String getBelongId() {
 		return belongId;
 	}
@@ -198,7 +198,7 @@ public class Question extends IdEntity{
 	public void setCopyFromId(String copyFromId) {
 		this.copyFromId = copyFromId;
 	}
-	
+
 	public Integer getRandOrder() {
 		return randOrder;
 	}
@@ -250,7 +250,7 @@ public class Question extends IdEntity{
 	private List<QuMultiFillblank> quMultiFillblanks=new ArrayList<QuMultiFillblank>();
 	private List<QuScore> quScores=new ArrayList<QuScore>();
 	private List<QuOrderby> quOrderbys=new ArrayList<QuOrderby>();
-	
+
 	private List<QuChenOption> options=new ArrayList<QuChenOption>();
 	private List<QuChenRow> rows=new ArrayList<QuChenRow>();
 	private List<QuChenColumn> columns=new ArrayList<QuChenColumn>();
@@ -267,7 +267,7 @@ public class Question extends IdEntity{
 	private AnFillblank anFillblank=new AnFillblank();
 	private AnRadio anRadio=new AnRadio();
 	private AnYesno anYesno=new AnYesno();
-	
+
 	private List<AnScore> anScores=new ArrayList<AnScore>();
 	private List<AnChenRadio> anChenRadios=new ArrayList<AnChenRadio>();
 	private List<AnChenCheckbox> anChenCheckboxs=new ArrayList<AnChenCheckbox>();
@@ -275,10 +275,11 @@ public class Question extends IdEntity{
 	private List<AnCompChenRadio> anCompChenRadios=new ArrayList<AnCompChenRadio>();
 	private Integer anCount=0;
 	private List<AnChenScore> anChenScores=new ArrayList<AnChenScore>();
-	
-	//逻辑设置 
+	private List<AnOrder> anOrders = new ArrayList<AnOrder>();
+
+	//逻辑设置
 	private List<QuestionLogic> questionLogics;
-	
+
 	@Transient
 	public List<QuRadio> getQuRadios() {
 		return quRadios;
@@ -314,7 +315,7 @@ public class Question extends IdEntity{
 	public void setQuOrderbys(List<QuOrderby> quOrderbys) {
 		this.quOrderbys = quOrderbys;
 	}
-	
+
 	@Transient
 	public List<QuChenOption> getOptions() {
 		return options;
@@ -336,7 +337,7 @@ public class Question extends IdEntity{
 	public void setColumns(List<QuChenColumn> columns) {
 		this.columns = columns;
 	}
-	@Transient	
+	@Transient
 	public String getRowContent() {
 		return rowContent;
 	}
@@ -476,7 +477,14 @@ public class Question extends IdEntity{
 	public void setAnChenScores(List<AnChenScore> anChenScores) {
 		this.anChenScores = anChenScores;
 	}
+	@Transient
+	public List<AnOrder> getAnOrders() {
+		return anOrders;
+	}
 
+	public void setAnOrders(List<AnOrder> anOrders) {
+		this.anOrders = anOrders;
+	}
 
 	//统计json
 	public String statJson="";

+ 10 - 41
src/main/java/com/key/dwsurvey/service/impl/SurveyAnswerManagerImpl.java

@@ -7,10 +7,8 @@ import java.util.*;
 import com.key.common.QuType;
 import com.key.common.utils.web.Struts2Utils;
 import com.key.dwsurvey.dao.SurveyAnswerDao;
-import com.key.dwsurvey.entity.AnChenFbk;
-import com.key.dwsurvey.entity.SurveyDetail;
-import com.key.dwsurvey.service.AnScoreManager;
-import com.key.dwsurvey.service.SurveyDirectoryManager;
+import com.key.dwsurvey.entity.*;
+import com.key.dwsurvey.service.*;
 import org.hibernate.criterion.Criterion;
 import org.hibernate.criterion.Restrictions;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -23,43 +21,6 @@ import com.key.common.plugs.page.PropertyFilter;
 import com.key.common.service.BaseServiceImpl;
 import com.key.common.utils.excel.XLSExportUtil;
 import com.key.common.utils.parsehtml.HtmlUtil;
-import com.key.dwsurvey.entity.AnAnswer;
-import com.key.dwsurvey.entity.AnCheckbox;
-import com.key.dwsurvey.entity.AnChenCheckbox;
-import com.key.dwsurvey.entity.AnChenRadio;
-import com.key.dwsurvey.entity.AnChenScore;
-import com.key.dwsurvey.entity.AnCompChenRadio;
-import com.key.dwsurvey.entity.AnDFillblank;
-import com.key.dwsurvey.entity.AnEnumqu;
-import com.key.dwsurvey.entity.AnFillblank;
-import com.key.dwsurvey.entity.AnRadio;
-import com.key.dwsurvey.entity.AnScore;
-import com.key.dwsurvey.entity.AnYesno;
-import com.key.dwsurvey.entity.QuCheckbox;
-import com.key.dwsurvey.entity.QuChenColumn;
-import com.key.dwsurvey.entity.QuChenOption;
-import com.key.dwsurvey.entity.QuChenRow;
-import com.key.dwsurvey.entity.QuMultiFillblank;
-import com.key.dwsurvey.entity.QuRadio;
-import com.key.dwsurvey.entity.QuScore;
-import com.key.dwsurvey.entity.Question;
-import com.key.dwsurvey.entity.SurveyAnswer;
-import com.key.dwsurvey.entity.SurveyDirectory;
-import com.key.dwsurvey.entity.SurveyStats;
-import com.key.dwsurvey.service.AnAnswerManager;
-import com.key.dwsurvey.service.AnCheckboxManager;
-import com.key.dwsurvey.service.AnChenCheckboxManager;
-import com.key.dwsurvey.service.AnChenFbkManager;
-import com.key.dwsurvey.service.AnChenRadioManager;
-import com.key.dwsurvey.service.AnChenScoreManager;
-import com.key.dwsurvey.service.AnCompChenRadioManager;
-import com.key.dwsurvey.service.AnDFillblankManager;
-import com.key.dwsurvey.service.AnEnumquManager;
-import com.key.dwsurvey.service.AnFillblankManager;
-import com.key.dwsurvey.service.AnRadioManager;
-import com.key.dwsurvey.service.AnYesnoManager;
-import com.key.dwsurvey.service.QuestionManager;
-import com.key.dwsurvey.service.SurveyAnswerManager;
 import org.springframework.web.util.WebUtils;
 
 import javax.servlet.http.HttpServletRequest;
@@ -108,6 +69,8 @@ public class SurveyAnswerManagerImpl extends
 	private AnScoreManager anScoreManager;
 	@Autowired
 	private SurveyDirectoryManager directoryManager;
+	@Autowired
+	private AnOrderManager anOrderManager;
 
 	@Override
 	public void setBaseDao() {
@@ -158,6 +121,7 @@ public class SurveyAnswerManagerImpl extends
 		question.setAnChenFbks(new ArrayList<AnChenFbk>());
 		question.setAnCompChenRadios(new ArrayList<AnCompChenRadio>());
 		question.setAnChenScores(new ArrayList<AnChenScore>());
+		question.setAnOrders(new ArrayList<AnOrder>());
 
 		if (quType == QuType.YESNO) {// 是非题答案
 			AnYesno anYesno = anYesnoManager.findAnswer(surveyAnswerId, quId);
@@ -238,6 +202,11 @@ public class SurveyAnswerManagerImpl extends
 			if (anCompChenRadios != null) {
 				question.setAnCompChenRadios(anCompChenRadios);
 			}
+		} else if(quType == QuType.ORDERQU){
+			List<AnOrder> anOrders = anOrderManager.findAnswer(surveyAnswerId,quId);
+			if(anOrders!=null){
+				question.setAnOrders(anOrders);
+			}
 		}
 		return score;
 	}

+ 31 - 14
src/main/webapp/WEB-INF/page/content/diaowen-answer/response-answer.jsp

@@ -19,7 +19,7 @@
 <script type="text/javascript">
 	$(document).ready(function(){
 		$("input,textarea,select").attr("disabled","disabled");
-		
+
 
 		resetQuNum();
 		function resetQuNum(){
@@ -27,9 +27,9 @@
 			$.each(quCoNums,function(i,item){
 				$(this).html((i+1));
 			});
-			
+
 		}
-		
+
 	});
 	resizeBodyWidth();
 </script>
@@ -52,9 +52,9 @@
 			</div>
 			<div class="middle-body-content">
 				<c:forEach items="${questions }" var="en" varStatus="i">
-				
+
 				<c:if test="${en.quType ne 'PARAGRAPH' && en.quType ne 'PAGETAG' }">
-				
+
 						<%--题干 --%>
 						<div class="r-qu-body">
 							<div class="r-qu-body-title"><span class="quCoNum">${i.count }</span>、${en.quTitle }[${en.quType.cnName }]</div>
@@ -70,7 +70,7 @@
 													</c:when>
 													<c:when test="${en.anYesno.yesnoAnswer eq 0 }">
 														<li> <input type="radio" name="qu_${en.quType }_${en.id }" value="${en.yesnoOption.trueValue }"  />${en.yesnoOption.trueValue }</li>
-														<li> <input type="radio" name="qu_${en.quType }_${en.id }" value="${en.yesnoOption.falseValue }"  checked="checked"/>${en.yesnoOption.falseValue } </li>	
+														<li> <input type="radio" name="qu_${en.quType }_${en.id }" value="${en.yesnoOption.falseValue }"  checked="checked"/>${en.yesnoOption.falseValue } </li>
 													</c:when>
 													<c:otherwise>
 														<li> <input type="radio" name="qu_${en.quType }_${en.id }" value="${en.yesnoOption.trueValue }"  />${en.yesnoOption.trueValue }</li>
@@ -83,7 +83,7 @@
 										<c:when test="${en.quType eq 'RADIO' }">
 											<ul class="r-qu-body-ul1 ${en.hv eq 1 ?'r-qu-body-ul2':'' }">
 												<c:forEach items="${en.quRadios }" var="quItem">
-													<li> 
+													<li>
 														<ul class="quItem-ul">
 															<c:choose>
 																	<c:when test="${en.anRadio.quItemId eq quItem.id }">
@@ -164,7 +164,7 @@
 										<c:when test="${en.quType eq 'COMPRADIO' }">
 											<ul class="r-qu-body-ul1">
 												<c:forEach items="${en.quRadios }" var="quItem">
-													<li> 
+													<li>
 														<ul class="quItem-ul ">
 															<c:choose>
 																<c:when test="${en.anRadio.quItemId eq quItem.id }">
@@ -260,7 +260,7 @@
 															<c:choose>
 																<c:when test="${anDf.quItemId eq quItem.id }">
 																		<li>${quItem.optionName } <input type="text" name="text_qu_${en.quType }_${en.id }_${quItem.id }"  value="${anDf.answer }"/></li>
-																		<c:set var="isBreak" value="1"></c:set>																
+																		<c:set var="isBreak" value="1"></c:set>
 																</c:when>
 																<c:when test="${(fn:length(en.anDFillblanks) eq iStatus.count ) && (isBreak eq 0)}">
 																		<li>${quItem.optionName } <input type="text" name="text_qu_${en.quType }_${en.id }_${quItem.id }"  value=""/></li>
@@ -409,6 +409,23 @@
 													$("select[name='sel_item_qu_${en.quType }_${enAn.quId }_${enAn.quRowId }_${enAn.quColId }']").val("${enAn.quOptionId}");
 												</script>
 										</c:forEach>
+										</c:when>
+										<c:when test="${en.quType eq 'ORDERQU' }">
+
+											<table class="qusTable" style="padding:5px;" width="90%">
+												<tr><th align="left" style="padding-left: 13px;">选项</th><th align="center">排序号</th></tr>
+												<c:forEach items="${en.quOrderbys }" var="item" varStatus="itemVarStatus">
+													<tr class="quOrderByTableTr"><td class="quOrderTabConnect" style="padding-left: 13px;" >${item.optionName }</td>
+														<td id="${item.id}_orderQuItem" align="center"></td></tr>
+												</c:forEach>
+											</table>
+
+											<c:forEach items="${en.anOrders}" var="enOrder">
+												<script type="text/javascript">
+													$("#${enOrder.quRowId}_orderQuItem").text(${enOrder.orderyNum});
+												</script>
+											</c:forEach>
+
 										</c:when>
 										<c:otherwise>
 											<!-- 题型开发中.. -->
@@ -416,20 +433,20 @@
 								</c:choose>
 							</div>
 						</div>
-						
+
 				</c:if>
 				</c:forEach>
 			</div>
-			
+
 			<div class="button-body-btn">
-				
+
 			</div>
 			</form>
 		</div>
-		
+
 	</div>
 </div>
 
 <%@ include file="/WEB-INF/page/layouts/other.jsp"%>
 </body>
-</html>
+</html>

+ 1 - 1
src/main/webapp/js/dw/html/collectset.html

@@ -7,7 +7,7 @@
 								<div class="p_DialogContentItem"><label><input type="checkbox" name="effective" value="4"> 每台电脑或手机只能答一次</label></div>
 								<div class="p_DialogContentItem"><label><input type="checkbox" name="effectiveIp" value="1"> 每个IP只能答一次</label></div>
 								<div class="p_DialogContentItem"><label><input type="checkbox" name="rule" value="3"> 启用访问密码</label>
-								&nbsp;&nbsp;&nbsp;设置密码:<input type="text" size="10"  name="ruleCode" class="inputSytle_1">
+								&nbsp;&nbsp;&nbsp;设置密码:<input type="text" size="10"  name="ruleCode" class="inputSytle_1" style="padding: 6px;" >
 								</div>
 								<div class="p_DialogContentItem"><label><input type="checkbox" name="refresh" value="1"> 有重复回答启用验证码</label></div>
 								<div class="p_DialogContentItem mailOnlyItem"><label><input type="checkbox" name="mailOnly" value="1"> 只有邮件邀请唯一链接的受访者可回答</label></div>