ソースを参照

优化移动端提高加载性能、同时添加日期控件支持

keyuan 4 年 前
コミット
017bc80bc7

+ 8 - 3
src/main/java/com/key/dwsurvey/action/question/QuFillblankAction.java

@@ -15,6 +15,7 @@ import com.key.dwsurvey.entity.Question;
 import com.key.dwsurvey.entity.QuestionLogic;
 
 import com.key.dwsurvey.service.AnFillblankManager;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.struts2.convention.annotation.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.util.WebUtils;
@@ -43,7 +44,7 @@ public class QuFillblankAction extends ActionSupport{
 	private QuestionManager questionManager;
 	@Autowired
 	private AnFillblankManager anFillblankManager;
-	
+
 	public String ajaxSave() throws Exception {
 		HttpServletRequest request=Struts2Utils.getRequest();
 		HttpServletResponse response=Struts2Utils.getResponse();
@@ -58,7 +59,7 @@ public class QuFillblankAction extends ActionSupport{
 		}
 		return null;
 	}
-	
+
 	private Question ajaxBuildSaveOption(HttpServletRequest request) throws UnsupportedEncodingException {
 		String quId=request.getParameter("quId");
 		String belongId=request.getParameter("belongId");
@@ -74,6 +75,8 @@ public class QuFillblankAction extends ActionSupport{
 		String hv=request.getParameter("hv");
 		String randOrder=request.getParameter("randOrder");
 		String cellCount=request.getParameter("cellCount");
+		String paramInt01=request.getParameter("paramInt01");
+		//System.out.println("paramInt01:"+paramInt01);
 		if("".equals(quId)){
 			quId=null;
 		}
@@ -95,6 +98,7 @@ public class QuFillblankAction extends ActionSupport{
 		entity.setContactsField(contactsField);
 		answerInputWidth=(answerInputWidth==null || "".equals(answerInputWidth))?"300":answerInputWidth;
 		answerInputRow=(answerInputRow==null || "".equals(answerInputRow))?"1":answerInputRow;
+		paramInt01=(StringUtils.isEmpty(paramInt01))?"0":paramInt01;
 		entity.setAnswerInputWidth(Integer.parseInt(answerInputWidth));
 		entity.setAnswerInputRow(Integer.parseInt(answerInputRow));
 		entity.setIsRequired(Integer.parseInt(isRequired));
@@ -103,6 +107,7 @@ public class QuFillblankAction extends ActionSupport{
 		entity.setCellCount(Integer.parseInt(cellCount));
 		checkType=(checkType==null || "".equals(checkType))?"NO":checkType;
 		entity.setCheckType(CheckType.valueOf(checkType));
+		entity.setParamInt01(Integer.parseInt(paramInt01));
 		Map<String, Object> quLogicIdMap=WebUtils.getParametersStartingWith(request, "quLogicId_");
 		List<QuestionLogic> quLogics=new ArrayList<QuestionLogic>();
 		for (String key : quLogicIdMap.keySet()) {
@@ -124,7 +129,7 @@ public class QuFillblankAction extends ActionSupport{
 		entity.setQuestionLogics(quLogics);
 		return entity;
 	}
-	
+
 	public static String buildResultJson(Question entity){
 		StringBuffer strBuf=new StringBuffer();
 		strBuf.append("{id:'").append(entity.getId());

+ 55 - 168
src/main/webapp/WEB-INF/page/content/diaowen-design/answer-survey-m.jsp

@@ -7,109 +7,16 @@
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 <title>${survey.surveyName }</title>
-<link href="${ctx }/css/sur-mobile.css" rel="stylesheet" type="text/css" />
 <link rel="stylesheet" href="${ctx }/js/plugs/jquery.mobile-1.4.5/jquery.mobile-1.4.5.min.css">
 <script type="text/javascript" src="${ctx }/js/plugs/jquery-ui-1.10.3.custom/js/jquery-1.10.1.js"></script>
-<script src="${ctx }/js/plugs/jquery.mobile-1.4.5/jquery.mobile-1.4.5.min.js"></script>
+<%--<script src="${ctx }/js/plugs/jquery.mobile-1.4.5/jquery.mobile-1.4.5.min.js"></script>--%>
+<script language="javascript" type="text/javascript" src="${ctx }/js/plugs/laydate/laydate.js"></script>
+<script type="text/javascript" src="${ctx }/js/common/ans-common.js"></script>
 <script type="text/javascript" src="${ctx }/js/common/common.js"></script>
 <script src="${ctx }/js/common/ans-m.js"></script>
 <link href="${ctx }/js/plugs/font-awesome-4.2.0/css/font-awesome.css" rel="stylesheet">
-
 <link href="${ctx}/js/plugs/validate/jquery.validate.css" type="text/css" rel="stylesheet" />
-
-
-<style type="text/css">
-.ui-page {
-	background:white;
-}
-.ui-header{
-	background-color: #5693C0! important;
-	text-shadow:0 1px 0 #3D586C! important;
-	padding-bottom: 5px;
-}
-.ui-content{
-	padding: 0px 1em;
-}
-.ui-footer{
-	color: #3D586C! important;
-	background: none! important;
-}
-.ui-header, .ui-footer{
-	border: none! important;
-}
-.starRating{
-	font-size: 26px;
-}
-.starRating .fa{
-	cursor: pointer;
-}
-.starRating .fa-star{
-	color: #3388CC;
-}
-.subbtn{
-	opacity:1! important;
-	color: white;
-}
-.quTitleNum{
-	/* position: absolute; */
-}
-.quTitleText{
-	/* text-indent: 2em; */
-}
-#dwSurveyNote{
-	padding-top: 0px;
-}
-.m_quOrderByUi{
-	  margin: 5px 0 5px 0;
-  padding: 0;
-  border: 1px solid #d5d5d5;
-  border-radius: 3px;
-}
-.m_quOrderByUi li{
-  border-color: #fff;
-  font-size: 16px;
-  min-height: 41px;
-  position: relative;
-  padding-right: 45px!important;
-  border-bottom: 1px solid #EBEBEB!important;
-}
-.m_orderby_num{
-  position: absolute;
-  right: 10px;
-  top: 55%;
-  margin-top: -15px;
-  min-width: 26px;
-  height: 26px;
-  background: #85C8FF;
-  color: #fff;
-  text-align: center;
-  line-height: 26px;
-  border-radius: 15px;
-  z-index: 100;
-  display: none;
-}
-.m_orderby_sel{
-  position: absolute;
-  top: 0px;
-  left: 0px;
-  width: 100%;
-  height: 100%;
-  opacity: 0;
-  font-size: 30px;
-  z-index: 9999;
-
-  background-color: rgb(248, 248, 248);
-  border: 1px solid rgb(166, 166, 166);
-  border-image-source: initial;
-  border-image-slice: initial;
-  border-image-width: initial;
-  border-image-outset: initial;
-  border-image-repeat: initial;
-
-    display: inline-block;
-}
-
-</style>
+<link href="${ctx }/css/answer-m.css" rel="stylesheet" type="text/css" />
 </head>
 <body>
 <input type="hidden" id="ctx" name="ctx" value="${ctx }">
@@ -117,24 +24,22 @@
 <input type="hidden" id="surveyId" name="surveyId" value="${survey.id }">
 <input type="hidden" name="form-from" value="mobile" >
 
-
-<div data-role="page" >
-  <div data-role="header">
+<div style="padding: 0px 10px;">
+  <div  id="answer-m-head" >
     	<div id="dwSurveyTitle" class="noLogoImg" style="padding-top: 5px;">
     		<!-- <i class="fa fa-star"></i> -->
-			<div id="dwSurveyName" class="dwSvyName" style="color:rgb(244, 234, 195);">${survey.surveyName }</div>
+			<div id="dwSurveyName" class="dwSvyName" style="">${survey.surveyName }</div>
 		</div>
 		<div id="dwSurveyNote">
-			<div id="dwSurveyNoteEdit"  style="color:white;font-weight: normal;line-height: 20px;">${survey.surveyDetail.surveyNote }</div>
+			<div id="dwSurveyNoteEdit" >${survey.surveyDetail.surveyNote }</div>
 		</div>
   </div>
   <div id="m-errorMsg"></div>
-  <div data-role="content" >
+  <div id="answer-m-content">
 
     <div id="dwSurveyQuContent" style="">
 			<div id="dwSurveyQuContentBg">
 
-			<!-- <div style="border-top: 3px solid #81AB00;margin:0px auto;padding-bottom: 15px;"></div> -->
 			<c:set var="pageNo" value="1"></c:set>
 			<c:set var="isNextPage" value="0"></c:set>
 			<ul id="dwSurveyQuContentAppUl">
@@ -165,21 +70,23 @@
 							</div>
 							<div class="surveyQuItem">
 								<div class="surveyQuItemContent">
-								<fieldset data-role="controlgroup" >
+								<div class="controlgroup" >
 									<legend>
 										<span class="quTitleNum">${i.count }、</span>
 										<span class="quTitleText">${en.quTitle}</span>
 									</legend>
 									<c:forEach items="${en.quRadios }" var="item" >
-										<div class="dwQuOptionItemContent">
-										<label for="qu_${en.quType }_${en.id }_${item.id}">${item.optionName }</label>
-										<input id="qu_${en.quType }_${en.id }_${item.id}" type="radio" name="qu_${en.quType }_${en.id }" value="${item.id }">
+										<div class="dwQuOptionItemContent"  >
+											<label class="dwRedioStyle dwQuInputLabel" ></label>
+											<input id="qu_${en.quType }_${en.id }_${item.id}" type="radio" name="qu_${en.quType }_${en.id }" value="${item.id }">
+											<label for="qu_${en.quType }_${en.id }_${item.id}">${item.optionName }</label>
 											<c:if test="${item.isNote eq 1 }" >
-												<input type='text' class='inputSytle_1'  style="width:200px;padding:5px;${item.isNote eq 1 ? '':'display: none;'}"   name="text_qu_${en.quType }_${en.id }_${item.id }"  />
+												<input type='text' class='inputSytle_1 option_other_text' name="text_qu_${en.quType }_${en.id }_${item.id }"  />
 											</c:if>
 										</div>
+
 									</c:forEach>
-								</fieldset>
+								</div>
 								</div>
 							</div>
 					</div>
@@ -210,21 +117,24 @@
 							</div>
 							<div class="surveyQuItem">
 								<div class="surveyQuItemContent">
-								<fieldset data-role="controlgroup" >
+								<div class="controlgroup" >
 										<legend>
 											<span class="quTitleNum">${i.count }、</span>
 											<span class="quTitleText">${en.quTitle}</span>
 										</legend>
 									<c:forEach items="${en.quCheckboxs }" var="item">
-										<div class="dwQuOptionItemContent">
-										<label for="tag_qu_${en.quType }_${en.id }_${item.id }" >${item.optionName }</label>
-										<input id="tag_qu_${en.quType }_${en.id }_${item.id }" type="checkbox" name="tag_qu_${en.quType }_${en.id }_${item.id }"  value="${item.id }" >
+
+										<div class="dwQuOptionItemContent" >
+											<label class="dwCheckboxStyle dwQuInputLabel" ></label>
+											<input id="tag_qu_${en.quType }_${en.id }_${item.id }" type="checkbox" name="tag_qu_${en.quType }_${en.id }_${item.id }"  value="${item.id }" >
+											<label for="tag_qu_${en.quType }_${en.id }_${item.id }" >${item.optionName }</label>
 											<c:if test="${item.isNote eq 1 }" >
-												<input type='text' class='inputSytle_1'  style="width:200px;padding:5px;"  name="text_tag_qu_${en.quType }_${en.id }_${item.id }" />
+												<input type='text' class='inputSytle_1 option_other_text' name="text_tag_qu_${en.quType }_${en.id }_${item.id }" />
 											</c:if>
 										</div>
+
 									</c:forEach>
-								</fieldset>
+								</div>
 								</div>
 							</div>
 					</div>
@@ -240,7 +150,9 @@
 								<input type="hidden" class="quId" value="${en.id }">
 								<input type="hidden" class="orderById" value="${en.orderById }"/>
 								<input type="hidden" class="isRequired" value="${en.isRequired }">
+								<input type="hidden" class="checkType" value="${en.checkType }">
 								<input type="hidden" class="answerTag" value="0" >
+								<input type="hidden" class="paramInt01" value="${en.paramInt01}">
 								<div class="quLogicInputCase">
 									<c:forEach items="${en.questionLogics }" var="quLogicEn" varStatus="logicSts">
 									<div class="quLogicItem quLogicItem_${logicSts.count }">
@@ -264,13 +176,13 @@
 
 										 <c:choose>
 											 <c:when test="${en.checkType eq 'DATE'}">
-												 <input type="date" name="qu_${en.quType }_${en.id }" class="inputSytle_1 fillblankInput"  >
+												 <input type="text" name="qu_${en.quType }_${en.id }" class="inputSytle_1 fillblankInput" readonly style="margin-top: 10px;"  >
 											 </c:when>
 											 <c:when test="${en.answerInputRow > 1 }">
-												 <textarea name="qu_${en.quType }_${en.id }" rows="${en.answerInputRow }" class="inputSytle_2 fillblankInput" ></textarea>
+												 <textarea name="qu_${en.quType }_${en.id }" rows="${en.answerInputRow }" class="inputSytle_2 fillblankInput" style="margin-top: 10px;"  > ></textarea>
 											 </c:when>
 											 <c:otherwise>
-												 <input type="text" name="qu_${en.quType }_${en.id }" class="inputSytle_1 fillblankInput" >
+												 <input type="text" name="qu_${en.quType }_${en.id }" class="inputSytle_1 fillblankInput" style="margin-top: 10px;" >
 											 </c:otherwise>
 										 </c:choose>
 
@@ -304,53 +216,26 @@
 
 							<div class="surveyQuItem">
 								<div class="surveyQuItemContent">
-								<fieldset data-role="controlgroup" >
-										<legend>
-											<span class="quTitleNum">${i.count }、</span>
-											<span class="quTitleText">${en.quTitle}</span>
-										</legend>
-								<div class="ui-controlgroup-controls ">
-									<c:forEach items="${en.quOrderbys }" var="item">
-										<div class="ui-checkbox m_clickQuOrderItem">
-											<label class="ui-btn ui-corner-all ui-btn-inherit itemOptionname"  style="text-align: left;" >${item.optionName }</label>
-											<div class="m_orderby_num">0</div>
-											<div style="display: none;">
-												<input  name="item_qu_${en.quType }_${en.id }_${item.id }"  value="0" type="hidden" class="quOrderItemHidInput" >
+									<div class="controlgroup" >
+											<legend>
+												<span class="quTitleNum">${i.count }、</span>
+												<span class="quTitleText">${en.quTitle}</span>
+											</legend>
+											<div class="ui-controlgroup-controls ">
+												<c:forEach items="${en.quOrderbys }" var="item">
+													<div class="ui-checkbox m_clickQuOrderItem">
+														<label class="ui-btn ui-corner-all ui-btn-inherit itemOptionname"  style="text-align: left;" >${item.optionName }</label>
+														<div class="m_orderby_num">0</div>
+														<div style="display: none;">
+															<input  name="item_qu_${en.quType }_${en.id }_${item.id }"  value="0" type="hidden" class="quOrderItemHidInput" >
+														</div>
+													</div>
+												</c:forEach>
 											</div>
-										</div>
-									</c:forEach>
-								</div>
-
-								</fieldset>
-								</div>
-							</div>
-
-
-							<%-- <div class="surveyQuItem">
-								<div class="surveyQuItemContent">
-									<div class="quCoTitle">
-										<legend>
-										<span>${i.count }、</span>
-										<span>${en.quTitle}</span>
-										</legend>
-									</div>
-									<div class="quCoItem quOrderByCoItem">
-										<div  class="quOrderByLeft">
-										<ul class="quOrderByLeftUl">
-										<c:forEach items="${en.quOrderbys }" var="item">
-											<li class="quCoItemUlLi">
-												<label class="editAble quCoOptionEdit" style="padding: 5px;background: #EDEDED;">${item.optionName }
-													<input  name="item_qu_${en.quType }_${en.id }_${item.id }"  value="1" type="hidden" class="quOrderItemHidInput" >
-												</label>
-											</li>
-										</c:forEach>
-										</ul>
-										</div>
-										<div style="clear: both;"></div>
 									</div>
 								</div>
 							</div>
-							 --%>
+
 					</div>
 					</li>
 					</c:when>
@@ -478,7 +363,7 @@
 				</c:forEach>
 
 
-				<li class="li_surveyQuItemBody surveyQu_${pageNo }"  style="${pageNo gt 1 ?'display: none':''}">
+				<li class="li_surveyQuItemBody surveyQu_${pageNo }"  style="padding-bottom: 40px;padding-top: 20px;${pageNo gt 1 ?'display: none':''}">
 					<div class="surveyQuItemBody">
 							<div class="surveyQuItem">
 								<div id="jcaptchaImgBody" class="r-qu-body" style="display: none;">
@@ -500,7 +385,7 @@
 
 
 								<input type="hidden" class="quType" value="submitSurveyBtn">
-								<div class="surveyQuItemContent" style="margin-bottom: 0px;min-height:20px;">
+								<div class="surveyQuItemContent" >
 									<!-- <a href="#" data-theme="b"  data-role="button">提&nbsp;交</a>&nbsp;&nbsp; -->
 									<input type="button" class="submitSurvey" id="submitSurvey" value="提&nbsp;交" data-role="button" data-theme="b" />
 									 <!-- <a href="#" class="sbtn24 sbtn24_0 submitSurvey">提&nbsp;交</a>&nbsp;&nbsp; -->
@@ -519,12 +404,14 @@
 			</div>
 		</div>
   </div>
-
-  <div data-role="footer" >
-  	<h3>Powered by <a href="http://diaowen.net/index-m.jsp" style="text-decoration: none;" rel="external">DWSurvey</a></h3>
-  </div>
 </div>
+
 </form>
+
+<div class="dw-footer" >
+	<div><a href="http://diaowen.net/index-m.jsp" style="text-decoration: none;" rel="external" title="开源的调查问卷系统" >调问网&nbsp;DWSurvey&nbsp;</a>提供技术支持</div>
+</div>
+
 <div id="fixedMsg" style="position: fixed;top: 0px;width: 100%;padding: 10px;text-align: center;font-size: 18px;letter-spacing: 4px;line-height: 56px;background-color: #111;background-color: rgba(17,17,17,0.5);color: #fff;color: rgba(255,255,255,0.5);z-index: 200;display: none;"></div>
 <%@ include file="/WEB-INF/page/layouts/other.jsp"%>
 </body>

+ 6 - 3
src/main/webapp/WEB-INF/page/content/diaowen-design/answer-survey-p.jsp

@@ -13,8 +13,10 @@
 <link href="${ctx }/js/plugs/uploadify-v3.1/uploadify.css" rel="stylesheet" type="text/css" />
 <script type="text/javascript" src="${ctx }/js/plugs/uploadify-v3.1/jquery.uploadify-3.1.js"></script>
 <script type="text/javascript" src="${ctx }/js/dw/uploadify.js"></script>
-	<script type="text/javascript" src="${ctx }/js/common/common.js"></script><script type="text/javascript" src="${ctx }/js/common/ans-p.js"></script>
-<script language="javascript" type="text/javascript" src="${ctx }/js/plugs/My97DatePickerBeta/My97DatePicker/WdatePicker.js"></script>
+<script language="javascript" type="text/javascript" src="${ctx }/js/plugs/laydate/laydate.js"></script>
+<script type="text/javascript" src="${ctx }/js/common/ans-common.js"></script>
+<script type="text/javascript" src="${ctx }/js/common/common.js"></script><script type="text/javascript" src="${ctx }/js/common/ans-p.js"></script>
+<%--<script language="javascript" type="text/javascript" src="${ctx }/js/plugs/My97DatePickerBeta/My97DatePicker/WdatePicker.js"></script>--%>
 <link href="${ctx }/css/preview-dev.css" rel="stylesheet" type="text/css" />
 <link rel="stylesheet" href="${ctx }/js/plugs/colpick-jQuery/css/colpick.css" type="text/css"/>
 <link href="${ctx}/js/plugs/validate/jquery.validate.css" type="text/css" rel="stylesheet" />
@@ -298,6 +300,7 @@ label.error{
 									<input type="hidden" class="isRequired" value="${en.isRequired }">
 									<input type="hidden" class="checkType" value="${en.checkType }">
 									<input type="hidden" class="answerTag" value="0" >
+									<input type="hidden" class="paramInt01" value="${en.paramInt01}">
 									<div class="quLogicInputCase">
 										<c:forEach items="${en.questionLogics }" var="quLogicEn" varStatus="logicSts">
 											<div class="quLogicItem quLogicItem_${logicSts.count }">
@@ -321,7 +324,7 @@ label.error{
 														<%-- <input type="text" name="qu_${en.quType }_${en.id }" style="width:200px;padding:5px;" class="inputSytle_1 fillblankInput"> --%>
 													<c:choose>
 														<c:when test="${en.checkType eq 'DATE'}">
-															<input type="text" name="qu_${en.quType }_${en.id }" style="width: 300px;padding: 6px 10px 5px;border: 1px solid #83ABCB;outline: none;" class=" fillblankInput Wdate" onClick="WdatePicker()" >
+															<input type="text" name="qu_${en.quType }_${en.id }" style="width: 300px;padding: 6px 10px 5px;border: 1px solid #83ABCB;outline: none;" class=" fillblankInput" >
 														</c:when>
 														<c:when test="${en.answerInputRow > 1 }">
 															<textarea name="qu_${en.quType }_${en.id }" rows="${en.answerInputRow }" style="width:${empty(en.answerInputWidth)?'300':en.answerInputWidth}px;"class="inputSytle_2 fillblankInput" ></textarea>

+ 77 - 1
src/main/webapp/WEB-INF/page/content/diaowen-design/design-survey.jsp

@@ -522,6 +522,69 @@
 		<div id="contactPersonQuestion" class="tools_item">
 			<div class="toolbars">
 				<ul class="dragQuUl">
+					<li id="dateQuModel" style="">
+						<div class="dwToolbar_icon"></div>
+						<div class="dwQuTypeModel">
+							<div class="surveyQuItemBody quDragBody">
+								<div class="initLine"></div>
+								<div class="quInputCase" style="display: none;">
+									<input type="hidden" name="quType" value="FILLBLANK" >
+									<input type="hidden" name="quId" value="">
+									<input type="hidden" name="orderById" value="0"/>
+									<input type="hidden" name="saveTag" value="0">
+									<input type="hidden" name="hoverTag" value="0">
+									<input type="hidden" name="isRequired" value="1">
+									<input type="hidden" name="hv" value="2">
+									<input type="hidden" name="randOrder" value="0">
+									<input type="hidden" name="cellCount" value="0">
+									<input type="hidden" name="checkType" value="DATE">
+									<input type="hidden" name="contactsAttr" value="0">
+									<input type="hidden" name="contactsField" value="0">
+									<input type="hidden" name="answerInputWidth" value="300">
+									<input type="hidden" name="answerInputRow" value="1">
+									<input type="hidden" name="paramInt01" value="3">
+
+									<div class="quLogicInputCase">
+										<input type="hidden" name="quLogicItemNum" value="0">
+									</div>
+								</div>
+								<div class="surveyQuItem">
+									<div class="surveyQuItemLeftTools">
+										<ul class="surveyQuItemLeftToolsUl">
+											<li title="移动排序" class="dwQuMove"><div class="dwQuIcon"></div></li>
+											<li title="设置" class="dwQuSet"><div class=dwQuIcon></div></li>
+											<%--<li title="逻辑" class="dwQuLogic"><div class="dwQuIcon"><div class="quLogicInfo"></div></div></li>--%>
+											<li title="删除" class="dwQuDelete"><div class="dwQuIcon"></div></li>
+										</ul>
+									</div>
+									<div class="surveyQuItemRightTools">
+										<ul class="surveyQuItemRightToolsUl">
+											<li class="questionUp"><div class="dwQuIcon"></div></li>
+											<li class="questionDown"><div class="dwQuIcon"></div></li>
+										</ul>
+									</div>
+									<div class="surveyQuItemContent">
+										<div class="quCoTitle">
+											<div class="quCoNum">1、</div>
+											<div class="editAble quCoTitleEdit" >日期控件?</div>
+											<input type="hidden" name="quTitleSaveTag" value="0">
+										</div>
+										<div class="quCoItem"><ul>
+											<li class="quCoItemUlLi">
+												<!-- <input type="text" style="width:200px;padding:5px;"> -->
+												<div class="quFillblankItem">
+													<input type="text" style="width:200px;padding:5px;" class="quFillblankAnswerInput" />
+													<textarea rows="5" style="width:300px;display: none;"class="quFillblankAnswerTextarea" ></textarea>
+													<div class="dwFbMenuBtn" ></div>
+												</div>
+											</li>
+										</ul>
+										</div>
+									</div>
+								</div>
+							</div>
+						</div>
+					</li>
 					<li id="birthdayQuModel" style="display: none;">
 						<div class="dwToolbar_icon"></div>
 						<div class="dwQuTypeModel">
@@ -1452,6 +1515,8 @@
 
 								<input type="hidden" name="contactsAttr" value="${en.contactsAttr }">
 								<input type="hidden" name="contactsField" value="${en.contactsField }">
+								<input type="hidden" name="paramInt01" value="${en.paramInt01 }">
+
 								<div class="quLogicInputCase">
 									<input type="hidden" name="quLogicItemNum" value="${fn:length(en.questionLogics) }">
 									<c:forEach items="${en.questionLogics }" var="quLogicEn" varStatus="logicSts">
@@ -2036,7 +2101,7 @@
 	<tr id="setQuLogicItemTrModel">
 		<td class="ifSpanText1">如果本题回答</td>
 		<td><select name="option_id" class="logicQuOptionSel" ></select></td>
-		<td>则&nbsp;<select name="option_id" class="logicType"  style="width: 60px;"><option value="2">显示</option><option value="1">跳到</option></select> </td>
+		<td>则&nbsp;<select name="option_id" class="logicType"  style="width: 60px;"><option value="2">显示</option><%--<option value="1">跳到</option>--%></select> </td>
 		<td><select name="jump_to_qid" class="logicQuSel" ></select></td>
 		<td><div class="dialogRemoveLogic"></div></td>
 	</tr>
@@ -2152,6 +2217,17 @@
 					<li><label>输入框高:</label>
 					<input type="text" name="qu_inputRow" value="1"><span>&nbsp;行</span>
 					</li>
+					<li class="option_range_date_li" style="display: list-item;"><label>日期格式:</label>
+						<select class="option_range_date">
+							<option value="3">年月日(YYYY-MM-DD)</option>
+							<option value="2">年月(YYYY-MM)</option>
+							<option value="1">年(YYYY)</option>
+							<option value="4">年月日时分秒(YYYY-MM-DD HH:mm:ss)</option>
+							<option value="5">时分秒(HH:mm:ss)</option>
+							<option value="6">时分(HH:mm)</option>
+							<option value="0">直接输入日期(不使用控件,格式不限)</option>
+						</select>
+					</li>
 				</ul>
 				<div class="dwQuDialogBtnCon" ><input type="button" value="保存" class="quDialogBtn" id="dwDialogQuFillOptionSave"/></div>
 			</div>

+ 266 - 0
src/main/webapp/css/answer-m.css

@@ -0,0 +1,266 @@
+/*** old ***/
+.starRating{
+    font-size: 26px;
+}
+.starRating .fa{
+    cursor: pointer;
+}
+.starRating .fa-star{
+    color: #3388CC;
+}
+.subbtn{
+    opacity:1! important;
+    color: white;
+}
+.m_quOrderByUi{
+    margin: 5px 0 5px 0;
+    padding: 0;
+    border: 1px solid #d5d5d5;
+    border-radius: 3px;
+}
+.m_quOrderByUi li{
+    border-color: #fff;
+    font-size: 16px;
+    min-height: 41px;
+    position: relative;
+    padding-right: 45px!important;
+    border-bottom: 1px solid #EBEBEB!important;
+}
+.m_orderby_num{
+    position: absolute;
+    right: 10px;
+    top: 55%;
+    margin-top: -15px;
+    min-width: 26px;
+    height: 26px;
+    background: #85C8FF;
+    color: #fff;
+    text-align: center;
+    line-height: 26px;
+    border-radius: 15px;
+    z-index: 100;
+    display: none;
+}
+.m_orderby_sel{
+    position: absolute;
+    top: 0px;
+    left: 0px;
+    width: 100%;
+    height: 100%;
+    opacity: 0;
+    font-size: 30px;
+    z-index: 9999;
+
+    background-color: rgb(248, 248, 248);
+    border: 1px solid rgb(166, 166, 166);
+    border-image-source: initial;
+    border-image-slice: initial;
+    border-image-width: initial;
+    border-image-outset: initial;
+    border-image-repeat: initial;
+
+    display: inline-block;
+}
+
+body{
+    padding: 0px;
+    margin: 0px;
+}
+/*** new ***/
+#answer-m-head .dwSvyName{
+    color: #365f8f;
+    font-weight: bold;
+    letter-spacing: 2px;
+    text-align: center;
+    font-size: 22px;
+    padding: 10px 0px;
+    padding-top: 20px;
+}
+#dwSurveyNoteEdit{
+    padding: 10px 0px;
+    color: grey;
+    font-size: 13px;
+    line-height: 22px;
+}
+#answer-m-content{
+    padding-top: 10px;
+}
+#dwSurveyQuContentAppUl{
+    list-style: none;
+    padding: 0px;
+    margin: 0px;
+}
+#dwSurveyQuContentAppUl li{
+    padding-bottom: 20px;
+}
+#dwSurveyQuContentAppUl li .controlgroup > legend{
+    font-weight: bold;
+    color: black;
+    font-size: 16px;
+    font-weight: bold;
+    line-height: 26px;
+}
+
+.surveyQuItem .surveyQuItemContent {
+    padding: 0px;
+    border: none;
+    width: 100%;
+}
+.surveyQuItemContent .dwQuOptionItemContent{
+    margin: .5em 0;
+    position: relative;
+    background-color: #f6f6f6;
+    border: 1px solid #ddd;
+    color: #333;
+    /*text-shadow: 0 1px 0 #f3f3f3;*/
+    padding: 6px 10px;
+    border-radius: .3125em;
+    font-size: 14px;
+    background-color: white;
+}
+.surveyQuItemContent .columnItemContnetTd .dwQuOptionItemContent{
+    margin: 0px;
+    background-color: white;
+    border: none;
+    color: #333;
+    text-shadow: none;
+    padding: 0px;
+    border-radius: 0em;
+    font-size: 14px;
+}
+.surveyQuItemContent .dwQuOptionItemContent:active{
+    border-color: rgb(129, 152, 186);
+    border-color: #5aa9ef;
+    border-color: #1e94fc;
+    background: #dae8f5;
+    background: white;
+    border-color: #ddd;
+}
+.surveyQuItemContent .dwQuOptionItemContent.active{
+    border-color: #1e94fc;
+    background: #dae8f5;
+    background: white;
+    border-color: #ddd;
+    background-color: #e4edf7;
+}
+.surveyQuItemContent .dwQuOptionItemContent input{
+
+}
+.surveyQuItemContent .dwQuOptionItemContent label{
+    margin: 0;
+    text-align: left;
+    white-space: normal;
+    z-index: 2;
+}
+.surveyQuItemContent .inputSytle_1{
+    display: block;
+    width: 100%;
+    outline: 0;
+    margin: 0;
+    text-align: left;
+    padding: 6px 5px;
+    margin-top: 10px;
+    border: 1px solid #ddd;
+}
+.dwQuOptionItemContent input[type='radio'],.dwQuOptionItemContent input[type='checkbox']{
+    display: none;
+}
+/**  单选样式***/
+.dwQuOptionItemContent .dwRedioStyle {
+    background: transparent url(../images/answer-icon-1.png) no-repeat center top;
+    vertical-align: middle;
+    height: 22px;
+    width: 22px;
+    background-position: -2px -6px;
+    display:inline-block;;
+}
+.dwQuOptionItemContent .dwRedioStyle.checked{
+    background-position: -2px -31px;
+}
+/**多选样式**/
+.dwQuOptionItemContent .dwCheckboxStyle {
+    background: transparent url(../images/answer-icon-1.png) no-repeat center top;
+    vertical-align: middle;
+    height: 22px;
+    width: 22px;
+    background-position: -2px -60px;
+    display:inline-block;
+}
+.dwQuOptionItemContent .dwCheckboxStyle.checked{
+    background-position: -2px -87px;
+}
+.ui-controlgroup-controls{
+    border-bottom:1px solid #ddd;
+    margin-top: 8px;
+}
+.ui-controlgroup-controls .m_clickQuOrderItem{
+    background-color: #f6f6f6;
+    border: 1px solid #ddd;
+    color: #333;
+    text-shadow: 0 1px 0 #f3f3f3;
+    font-size: 14px;
+    border-radius: 0px;
+    border-bottom: none;
+}
+.ui-controlgroup-controls .m_clickQuOrderItem:first-child{
+
+}
+.ui-controlgroup-controls .m_clickQuOrderItem label{
+    border: none;
+}
+
+.surveyQuItemContent .mFillblankTableTr label{
+    display: block;
+    margin: 0 0 .4em;
+}
+
+.surveyQuItemContent .mFillblankTableTr{
+    margin: 10px 0px;
+}
+.surveyQuItemContent .mFillblankTableTr .dwQuOptionItemContent label{
+    display: inline-block;
+    margin: 0px;
+}
+.surveyQuItemContent .quSliderItemTr .mFillblankTableEditTd label{
+    margin: 0px;
+}
+
+.surveyQuItemContent .mFillblankTableTr .dwMFillblankInput,input[type='text'].fillblankInput{
+    width: 100%;
+    outline: 0;
+    margin: 0;
+}
+.surveyQuItemContent .mFillblankTableTr .dwMFillblankInput,input[type='text'].fillblankInput,.option_other_text{
+    display: block;
+    padding: 6px 5px;
+    border: 1px solid #ddd;
+    text-align: left;
+    box-sizing: border-box;
+}
+.nextPage_a, .submitSurvey{
+    width: 100%;
+    line-height: 25px;
+    border-radius: 2px;
+    padding: 8px 0px;
+    margin-left: 0px;
+    font-size: 16px;
+    text-decoration: none;
+    color: white;
+    background: #1e94fc;
+    border: none;
+}
+.dw-footer{
+    display: block;
+    padding: 20px 0px;
+    width: 100%;
+    height: 30px;
+    text-align: center;
+    font-size: 13px;
+    font-weight: normal;
+    padding-top: 30px;
+    color: #333;
+    background-color: #eeeeee;
+}
+.dw-footer a{
+    color: #333;
+}

+ 38 - 0
src/main/webapp/js/common/ans-common.js

@@ -0,0 +1,38 @@
+function bindDateEvent(){
+    var checkTypeDates = $("#dwSurveyQuContent .checkType[value='DATE']");
+    $.each(checkTypeDates,function(){
+        var surveyQuItemBody = $(this).parents(".surveyQuItemBody");
+        var paramInt01 = surveyQuItemBody.find(".paramInt01");
+        var dateFmt = "yyyy-MM-dd";
+        var dateType = "date";
+        if(paramInt01[0]){
+            var paramInt01Val = paramInt01.val();
+            if(paramInt01Val==="1"){
+                dateFmt="yyyy";
+                dateType="year";
+            }else if(paramInt01Val==="2"){
+                dateFmt="yyyy-MM";
+                dateType="month";
+            }else if(paramInt01Val==="3"){
+                dateFmt="yyyy-MM-dd";
+                dateType="date";
+            }else if(paramInt01Val==="4"){
+                dateFmt="yyyy-MM-dd HH:mm:ss";
+                dateType="datetime";
+            }else if(paramInt01Val==="5"){
+                dateFmt="HH:mm:ss";
+                dateType="time";
+            }else if(paramInt01Val==="6"){
+                dateFmt="HH:mm";
+                dateType="time";
+            }
+        }
+        console.debug("dateType:"+dateType);
+        laydate.render({
+            elem: surveyQuItemBody.find("input.fillblankInput")[0] //指定元素
+            ,type: 'datetime'
+            ,format: dateFmt
+            ,type: dateType
+        });
+    });
+}

+ 40 - 1
src/main/webapp/js/common/ans-m.js

@@ -164,12 +164,49 @@ $(document).ready(function(){
         return false;
     });
 
-    $("#dwSurveyQuContent input[type='radio'],#dwSurveyQuContent input[type='checkbox']").change(function(){
+    $("#dwSurveyQuContent .dwQuOptionItemContent").unbind();
+    $("#dwSurveyQuContent .dwQuOptionItemContent").click(function(){
+        clickItem($(this));
         lgcommon($(this));
         validateCheck($(this).parents(".li_surveyQuItemBody"),false);
         $(".fillblankInput,.dwMFillblankInput,.dwChenMFillblankInput").blur();
     });
 
+    function clickItem(thObj){
+        var quItemBody=thObj.parents(".li_surveyQuItemBody");
+        var quType=quItemBody.find(".quType").val();
+        var dwQuInputLabel=thObj.find(".dwQuInputLabel");
+        if("RADIO"===quType){
+
+            quItemBody.find(".dwQuInputLabel").removeClass("checked");
+            quItemBody.find("input[type='radio']").prop("checked",false);
+            thObj.find("input[type='radio']").prop("checked",true);
+            dwQuInputLabel.addClass("checked");
+            quItemBody.find(".dwQuOptionItemContent").removeClass("active");
+            thObj.addClass("active");
+
+        }else if("CHECKBOX"===quType){
+            var thCheckbox = thObj.find("input[type='checkbox']");
+            if(thCheckbox.prop("checked")){
+                thObj.find("input[type='checkbox']").prop("checked",false);
+                dwQuInputLabel.removeClass("checked");
+                thObj.removeClass("active");
+            }else{
+                thObj.find("input[type='checkbox']").prop("checked",true);
+                dwQuInputLabel.addClass("checked");
+                thObj.addClass("active");
+            }
+        }else if("MULTIFILLBLANK"===quType){
+
+            var chenRow=thObj.parents(".mFillblankTableTr");
+            chenRow.find(".dwQuInputLabel").removeClass("checked");
+            chenRow.find("input[type='radio']").prop("checked",false);
+            thObj.find("input[type='radio']").prop("checked",true);
+            dwQuInputLabel.addClass("checked");
+
+        }
+    }
+
     //填空题
     $(".fillblankInput,.dwMFillblankInput,.dwChenMFillblankInput").blur(function(){
         lgcommon($(this));
@@ -245,6 +282,8 @@ $(document).ready(function(){
         hidQuItemBody.addClass("hidFor"+logicId);
         hidQuItemBody.find(".answerTag").attr("disabled",true);
     });
+
+    bindDateEvent();
 });
 
 

+ 3 - 1
src/main/webapp/js/common/ans-p.js

@@ -393,4 +393,6 @@ $(document).ready(function(){
         return false;
     });
 
-});
+    bindDateEvent();
+
+});

+ 2 - 1
src/main/webapp/js/common/common.js

@@ -87,4 +87,5 @@ function lgcommon(thFormElementObj){
 
 		}
 	}
-}
+}
+

+ 34 - 1
src/main/webapp/js/dw/dwsurvey-design.js

@@ -542,14 +542,29 @@ $(document).ready(function(){
 		var quItemBody=$(dwDialogObj).parents(".surveyQuItemBody");
 		var qu_inputWidth=$("#modelUIDialog input[name='qu_inputWidth']");
 		var qu_inputRow=$("#modelUIDialog input[name='qu_inputRow']");
+		var option_range_date=$("#modelUIDialog select.option_range_date");
+
 		var checkType=quItemBody.find("input[name='checkType']");
 		var answerInputWidth=quItemBody.find("input[name='answerInputWidth']");
 		var answerInputRow=quItemBody.find("input[name='answerInputRow']");
+		var paramInt01=quItemBody.find("input[name='paramInt01']");
 
 		if(answerInputWidth.val()!=qu_inputWidth.val() || answerInputRow.val()!=qu_inputRow.val()){
 			quItemBody.find("input[name='saveTag']").val(0);
 		}
-		checkType.val("NO");
+
+		if(checkType[0]){
+			var checkTypeVal = checkType.val();
+			if(checkTypeVal=="DATE"){
+				if(paramInt01[0]){
+					paramInt01.val(option_range_date.val());
+				}else{
+					quItemBody.find(".quInputCase").append("<input type=\"hidden\" name=\"paramInt01\" value=\""+option_range_date.val()+"\">");
+				}
+				quItemBody.find("input[name='saveTag']").val(0);
+			}
+		}
+
 		answerInputWidth.val(qu_inputWidth.val());
 		answerInputRow.val(qu_inputRow.val());
 		if(qu_inputRow.val()>1){
@@ -1371,6 +1386,7 @@ function showUIDialog(thDialogObj){
 		var checkType_val=quItemBody.find("input[name='checkType']").val();
 		var answerInputWidth_val=quItemBody.find("input[name='answerInputWidth']").val();
 		var answerInputRow_val=quItemBody.find("input[name='answerInputRow']").val();
+		var paramInt01=quItemBody.find("input[name='paramInt01']");
 		if(checkType_val==""){
 			checkType_val="NO";
 		}
@@ -1384,6 +1400,14 @@ function showUIDialog(thDialogObj){
 		}
 		qu_inputWidth.val(answerInputWidth_val);
 		qu_inputRow.val(answerInputRow_val);
+
+		$("#modelUIDialog .dwQuFillDataTypeOption .option_range_date_li").hide();
+		if(checkType_val==="DATE"){
+			$("#modelUIDialog .dwQuFillDataTypeOption .option_range_date_li").show();
+			if(paramInt01[0]){
+				$("#modelUIDialog .dwQuFillDataTypeOption .option_range_date_li .option_range_date").val(paramInt01.val());
+			}
+		}
 		resetQuItemHover(quItemBody);
 		$(thDialogObj).parents(".quCoItemUlLi").addClass("menuBtnClick");
 		$("#modelUIDialog").dialog("option","height",220);
@@ -2148,18 +2172,24 @@ function saveFillblank(quItemBody,callback){
 		var contactsField=quItemBody.find("input[name='contactsField']").val();
 
 		var checkType=quItemBody.find("input[name='checkType']").val();
+		var paramInt01=quItemBody.find("input[name='paramInt01']");
 
 		var data="belongId="+questionBelongId+"&orderById="+orderById+"&tag="+svTag+"&quType="+quType+"&quId="+quId;
 		data+="&isRequired="+isRequired+"&hv="+hv+"&randOrder="+randOrder+"&cellCount="+cellCount;
 		data+="&answerInputWidth="+answerInputWidth+"&answerInputRow="+answerInputRow;
 		data+="&contactsAttr="+contactsAttr+"&contactsField="+contactsField+"&checkType="+checkType;
 
+		if(paramInt01[0]){
+			data+="&paramInt01="+paramInt01.val();
+		}
+
 		var quTitleSaveTag=quItemBody.find("input[name='quTitleSaveTag']").val();
 		if(quTitleSaveTag==0){
 			var quTitle=quItemBody.find(".quCoTitleEdit").html();
 			quTitle=escape(encodeURIComponent(quTitle));
 			data+="&quTitle="+quTitle;
 		}
+
 		//逻辑选项
 		var quLogicItems=quItemBody.find(".quLogicItem");
 		$.each(quLogicItems,function(i){
@@ -2182,6 +2212,7 @@ function saveFillblank(quItemBody,callback){
 			}
 
 		});
+
 		$.ajax({
 			url:url,
 			data:data,
@@ -2204,6 +2235,7 @@ function saveFillblank(quItemBody,callback){
 
 					quItemBody.find("input[name='saveTag']").val(1);
 					quItemBody.find(".quCoTitle input[name='quTitleSaveTag']").val(1);
+
 					//执行保存下一题
 					saveQus(quItemBody.next(),callback);
 					//同步-更新题目排序号
@@ -2217,6 +2249,7 @@ function saveFillblank(quItemBody,callback){
 	}
 }
 
+
 //*****评分题****//
 /**
  ** 新保存评分题