Selaa lähdekoodia

添加多选题最多最少选项

wkeyuan 3 vuotta sitten
vanhempi
commit
94473281d0

+ 1 - 1
src/views/dw-survey/dw-data/DwSurveyAnswer.vue

@@ -61,7 +61,7 @@
       </template>
     </dw-survey-dcs-wrapper>
 
-    <el-dialog title="导出答卷数据" :visible.sync="dialogFormVisible" append-to-body width="40%"  >
+    <el-dialog :visible.sync="dialogFormVisible" append-to-body title="导出答卷数据" width="40%" >
       <div style="line-height: 30px;">是否同时下载上传题的文件</div>
       <div style="color: grey;line-height: 30px;font-size: 12px;"><span>如果有上传题,选择压缩下载可能比较占用系统资源及时间,请在空闲时间压缩下载</span></div>
       <el-switch

+ 4 - 3
static/diaowen/design.html

@@ -152,7 +152,8 @@
 
                         <input type="hidden" name="contactsAttr" value="0">
                         <input type="hidden" name="contactsField" value="0">
-
+                        <input type="hidden" name="paramInt01" value="0">
+                        <input type="hidden" name="paramInt02" value="0">
                         <div class="quLogicInputCase">
                           <input type="hidden" name="quLogicItemNum" value="0">
                         </div>
@@ -1576,8 +1577,8 @@
               </select>
               <span class="option_range_3" style="display:none;"><input type="text" name="setCellCount"  size="2" value="3" class="" >&nbsp;列</span>
             </li>
-            <!-- <li class="minNumLi">最少选&nbsp;<input type="text" size="3" name="minNum">&nbsp;项 </li>
-            <li class="maxNumLi">最多选&nbsp;<input type="text" size="3" name="maxNum">&nbsp;项 </li> -->
+            <li class="minNumLi">最少选&nbsp;<input type="text" size="3" name="minNum" value="0">&nbsp;项 </li>
+            <li class="maxNumLi">最多选&nbsp;<input type="text" size="3" name="maxNum" value="0">&nbsp;项 </li>
             <li class="minMaxLi">
               <span class="minSpan"><label class="lgleftLabel">&nbsp;最低分</label>&nbsp;<input class="minNum" value="1"  type="text" size="2" >&nbsp; <label class="lgRightLabel">分</label></span>&nbsp;&nbsp;
               <span class="maxSpan"><label class="lgLeftLabel">最高分</label>&nbsp;<input class="maxNum"  value="5"  type="text" size="2" >&nbsp;<label class="lgRightLabel">分</label> </span>

+ 14 - 2
static/diaowen/js/dw/an/ans-m.js

@@ -407,6 +407,18 @@ function sww(){
           dwQuInputLabel.addClass("checked");
           thObj.addClass("active");
         }
+        var checkeds = quItemBody.find("input[type='checkbox']:checked");
+        var paramInt02 = quItemBody.find(".paramInt02").val();
+        if(paramInt02>0){
+          if(checkeds[0]&&checkeds.size()>paramInt02){
+            dwQuInputLabel.removeClass("checked");
+            thObj.find("input[type='checkbox']").prop("checked",false);
+            thObj.removeClass("active");
+            alert("最多只支持选择"+paramInt02+"项内容!");
+            return false;
+          }
+        }
+
         runlogic(thObj.find("input[type='checkbox']"));
       }else if("MULTIFILLBLANK"===quType){
 
@@ -954,11 +966,11 @@ function sww(){
         validateStatus=quItemBody.find("input[type='checkbox']:checked")[0];
         var paramInt01 = quItemBody.find(".paramInt01").val();
         if(paramInt01>0){
-          /*var checkeds = quItemBody.find("input[type='checkbox']:checked");
+          var checkeds = quItemBody.find("input[type='checkbox']:checked");
           if(checkeds[0]&&checkeds.size()<paramInt01){
             errorMsg = "请保证最少选择"+paramInt01+"项内容";
             validateStatus = false;
-          }*/
+          }
         }
         if(validateStatus){
 //					isNote checkType isRequiredFill

+ 2 - 2
static/diaowen/js/dw/an/ans-p.js

@@ -954,13 +954,13 @@ function validateCheck(quItemBody,isSubForm){
       var paramInt01 = quItemBody.find(".paramInt01").val();
 
       if(paramInt01>0){
-        /*var checkeds = quItemBody.find("input[type='checkbox']:checked");
+        var checkeds = quItemBody.find("input[type='checkbox']:checked");
         if(checkeds[0]&&checkeds.size()<paramInt01){
           quItemBody.find(".quCoItem").append("<div class=\"errorItem\"><label class=\"error\">请保证最少选择"+paramInt01+"项内容</label></div>");
           validateStatus = false;
         }else{
           quItemBody.find(".quCoItem .errorItem").remove();
-        }*/
+        }
       }
       if(validateStatus){
 //					isNote checkType isRequiredFill

+ 18 - 0
static/diaowen/js/dw/dwsurvey-design.js

@@ -437,6 +437,12 @@ $(document).ready(function(){
 			if(quType=="RADIO" || quType=="CHECKBOX" || quType=="FILLBLANK"){
 				quItemBody.find("input[name='contactsAttr']").val(setAutoContacts[0]?1:0);
 				quItemBody.find("input[name='contactsField']").val(setContactsField);
+        if(quType=="CHECKBOX"){
+          var minNum = $("#dwCommonDialog .minNumLi input[name='minNum']").val();
+          var maxNum = $("#dwCommonDialog .maxNumLi input[name='maxNum']").val();
+          quItemBody.find("input[name='paramInt01']").val(minNum);
+          quItemBody.find("input[name='paramInt02']").val(maxNum);
+        }
 			}else if(quType==="MULTIFILLBLANK"){
 				var paramInt01=$("#dwCommonDialog .minMaxLi .minNum");
 				if(paramInt01[0]){
@@ -1480,6 +1486,8 @@ function showDialog(thDialogObj){
 		$("#dwCommonDialog .optionRangeHv").hide();
 		$("#dwCommonDialog .scoreMinMax").hide();
 		$("#dwCommonDialog .minMaxLi").hide();
+    $("#dwCommonDialog .minNumLi").hide();
+    $("#dwCommonDialog .maxNumLi").hide();
 		if(isRequired==1){
 			$("#dwCommonDialog input[name='setIsRequired']").prop("checked",true);
 		}
@@ -1514,6 +1522,7 @@ function showDialog(thDialogObj){
 			}
 		}
 
+    $("#dwCommonDialog .fileTypeExtsLi").hide();
 		//单选,多选,填空题情况下才启用关联到联系设置项
 		if((quType=="RADIO" || quType=="CHECKBOX" || quType=="FILLBLANK")){
 			if( contactsAttr==1){
@@ -1521,6 +1530,12 @@ function showDialog(thDialogObj){
 				$("#dwCommonDialog .contactsFieldLi").show();
 				$("#dwCommonDialog select[name='setContactsField']").val(contactsField);
 			}
+      if(quType == "CHECKBOX"){
+        $("#dwCommonDialog .minNumLi").show();
+        $("#dwCommonDialog .maxNumLi").show();
+        $("#dwCommonDialog .minNumLi input[name='minNum']").val(paramInt01.val());
+        $("#dwCommonDialog .maxNumLi input[name='maxNum']").val(paramInt02.val());
+      }
     } else if(quType==="UPLOADFILE"){
       // fileTypeExtsLi
       if(paramInt01[0]){
@@ -1925,10 +1940,13 @@ function saveCheckbox(quItemBody,callback){
 		var cellCount=quItemBody.find("input[name='cellCount']").val();
 		var contactsAttr=quItemBody.find("input[name='contactsAttr']").val();
 		var contactsField=quItemBody.find("input[name='contactsField']").val();
+    var paramInt01=quItemBody.find("input[name='paramInt01']").val();
+    var paramInt02=quItemBody.find("input[name='paramInt02']").val();
 
 		var data="belongId="+questionBelongId+"&orderById="+orderById+"&tag="+svTag+"&quType="+quType+"&quId="+quId;
 		data+="&isRequired="+isRequired+"&hv="+hv+"&randOrder="+randOrder+"&cellCount="+cellCount;
 		data+="&contactsAttr="+contactsAttr+"&contactsField="+contactsField;
+    data+="&paramInt01="+paramInt01+"&paramInt02="+paramInt02;
 
 		var quTitleSaveTag=quItemBody.find("input[name='quTitleSaveTag']").val();
 		if(quTitleSaveTag==0){