浏览代码

上传文件题设计

wkeyuan 3 年之前
父节点
当前提交
4bfa15368c
共有 3 个文件被更改,包括 150 次插入3 次删除
  1. 7 0
      static/diaowen/design.html
  2. 18 0
      static/diaowen/js/dw/design-data.js
  3. 125 3
      static/diaowen/js/dw/dwsurvey-design.js

+ 7 - 0
static/diaowen/design.html

@@ -1583,6 +1583,13 @@
               <span class="maxSpan"><label class="lgLeftLabel">最高分</label>&nbsp;<input class="maxNum"  value="5"  type="text" size="2" >&nbsp;<label class="lgRightLabel">分</label> </span>
             </li>
             <li class="scoreMinMax">&nbsp;&nbsp;<label>最高分</label>&nbsp;<select class="maxScore"  ><option value="5">5分</option><option value="10">10分</option></select>&nbsp; </li>
+            <li class="fileTypeExtsLi">
+              <div><label>&nbsp;上传文件类型</label>&nbsp;
+                <select class="fileTypeExts"  ><option value="0">不限</option><option value="1">图片文件</option><option value="2">文本文件</option></select>&nbsp;<br/>
+              </div>
+              <div style="margin-top: 8px;"><label>&nbsp;上传附件数</label>&nbsp;&nbsp;<label><input type="text" class="uploadNum" size="5" value="0"  >&nbsp;&nbsp;0&nbsp;表示不限制</label></div>
+              <div style="margin-top: 8px;"><label>&nbsp;单个文件最大支持</label>&nbsp;&nbsp; <input class="maxSize"  value="10"  type="text" size="5" ><label>&nbsp;M</label></div>
+            </li>
           </ul>
           <div class="dwQuDialogBtnCon" ><input type="button" value="保存" class="quDialogBtn" id="dwDialogQuSetSave"/></div>
         </div>

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

@@ -34,6 +34,8 @@ function querySurveyAll(){
                parsePage(item);
              }else if(quType==="PARAGRAPH"){
                parseParagraph(item);
+             }else if(quType == "UPLOADFILE"){
+               parseUploadfile(item);
              }
            });
            resetQuItem();
@@ -387,3 +389,19 @@ function parseParagraph(item){
 
 }
 
+function parseUploadfile(item){
+  var quModel = $("#uploadFileQuModel .dwQuTypeModel").html();
+  $("#dwSurveyQuContentAppUl").append("<li class=\"li_surveyQuItemBody\">"+quModel+"</li>");
+  var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
+  lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
+  var quInputCase = lastQuItemBody.find(".quInputCase");
+  parseExtracted(quInputCase, item);
+  quInputCase.find("input[name='contactsAttr']").val(item.contactsAttr);
+  quInputCase.find("input[name='contactsField']").val(item.contactsField);
+  quInputCase.find("input[name='checkType']").val(item.checkType);
+  quInputCase.find("input[name='answerInputWidth']").val(item.answerInputWidth);
+  quInputCase.find("input[name='answerInputRow']").val(item.answerInputRow);
+  quInputCase.find("input[name='paramStr01']").val(item.paramStr01);
+  quLogicExtracted(lastQuItemBody, item);
+
+}

+ 125 - 3
static/diaowen/js/dw/dwsurvey-design.js

@@ -459,7 +459,14 @@ $(document).ready(function(){
 						$(this).append("<td>"+i+"</td>");
 					}
 				});
-			}
+			}else if(quType==="UPLOADFILE"){
+        var fileTypeExtsField=$("#dwCommonDialog .fileTypeExts");
+        var maxSizeField=$("#dwCommonDialog .maxSize");
+        var uploadNumField=$("#dwCommonDialog .uploadNum");
+        quItemBody.find("input[name='paramInt01']").val(fileTypeExtsField.val());
+        quItemBody.find("input[name='paramInt02']").val(maxSizeField.val());
+        quItemBody.find("input[name='randOrder']").val(uploadNumField.val());
+      }
 
 			var selVal=$(".option_range").val();
 			if(selVal==1){
@@ -1514,7 +1521,16 @@ function showDialog(thDialogObj){
 				$("#dwCommonDialog .contactsFieldLi").show();
 				$("#dwCommonDialog select[name='setContactsField']").val(contactsField);
 			}
-		}
+    } else if(quType==="UPLOADFILE"){
+      // fileTypeExtsLi
+      if(paramInt01[0]){
+        $("#dwCommonDialog .fileTypeExts").val(paramInt01.val());
+        $("#dwCommonDialog .maxSize").val(paramInt02.val());
+        $("#dwCommonDialog .uploadNum").val(randOrder);
+      }
+      $("#dwCommonDialog .fileTypeExtsLi").show();
+      $("#dwCommonDialog .minMaxNumLi").hide();
+    }
 	}else if(thObjClass.indexOf("dwQuLogic")>=0){
 		$("#dwCommonDialog .dwQuDialogLoad").show();
 	}else if(thObjClass.indexOf("dwFbMenuBtn")>=0){
@@ -1677,7 +1693,9 @@ function saveQus(quItemBody,callback){
 				saveMultiFillblank(quItemBody, callback);
 			}else if(quType=="SCORE"){
 				saveScore(quItemBody, callback);
-			}else{
+			}else if(quType == "UPLOADFILE"){
+        saveUploadFile(quItemBody, callback);
+      }else{
 				callback();
 			}
 		}else{
@@ -2904,6 +2922,110 @@ function deleteMultiFillblankOption(){
 	}
 }
 
+/**
+ * 文件上传题
+ * @param quItemBody
+ * @param callback
+ */
+function saveUploadFile(quItemBody,callback){
+  var saveTag=quItemBody.find("input[name='saveTag']").val();
+  if(saveTag==0){
+    var url=ctx+"/design/qu-upload-file/ajaxSave.do";
+    var quType=quItemBody.find("input[name='quType']").val();
+    var quId=quItemBody.find("input[name='quId']").val();
+    var orderById=quItemBody.find("input[name='orderById']").val();;
+    var isRequired=quItemBody.find("input[name='isRequired']").val();
+    var hv=quItemBody.find("input[name='hv']").val();
+    var randOrder=quItemBody.find("input[name='randOrder']").val();
+    var cellCount=quItemBody.find("input[name='cellCount']").val();
+
+    var answerInputWidth=quItemBody.find("input[name='answerInputWidth']").val();
+    var answerInputRow=quItemBody.find("input[name='answerInputRow']").val();
+
+    var contactsAttr=quItemBody.find("input[name='contactsAttr']").val();
+    var contactsField=quItemBody.find("input[name='contactsField']").val();
+
+    var checkType=quItemBody.find("input[name='checkType']").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+="&answerInputWidth="+answerInputWidth+"&answerInputRow="+answerInputRow;
+    data+="&contactsAttr="+contactsAttr+"&contactsField="+contactsField+"&checkType="+checkType;
+    data+="&paramInt01="+paramInt01;
+    data+="&paramInt02="+paramInt02;
+
+    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){
+      var thClass=$(this).attr("class");
+      thClass=thClass.replace("quLogicItem quLogicItem_","");
+
+      var quLogicId=$(this).find("input[name='quLogicId']").val();
+      var cgQuItemId=$(this).find("input[name='cgQuItemId']").val();
+      var skQuId=$(this).find("input[name='skQuId']").val();
+      var logicSaveTag=$(this).find("input[name='logicSaveTag']").val();
+      var visibility=$(this).find("input[name='visibility']").val();
+      var logicType=$(this).find("input[name='logicType']").val();
+      var itemIndex=thClass;
+      if(logicSaveTag==0){
+        data+="&quLogicId_"+itemIndex+"="+quLogicId;
+        data+="&cgQuItemId_"+itemIndex+"="+cgQuItemId;
+        data+="&skQuId_"+itemIndex+"="+skQuId;
+        data+="&visibility_"+itemIndex+"="+visibility;
+        data+="&logicType_"+itemIndex+"="+logicType;
+      }
+
+    });
+
+    // alert(data);
+    $.ajax({
+      url:url,
+      data:data,
+      type:'post',
+      success:function(msg){
+        //alert(msg);// resultJson quItemId
+        if(msg!="error"){
+          var jsons=eval("("+msg+")");
+          //alert(jsons);
+          var quId=jsons.id;
+          quItemBody.find("input[name='quId']").val(quId);
+
+          //同步logic Id信息
+          var quLogics=jsons.quLogics;
+          $.each(quLogics,function(i,item){
+            var logicItem=quItemBody.find(".quLogicItem_"+item.title);
+            logicItem.find("input[name='quLogicId']").val(item.id);
+            logicItem.find("input[name='logicSaveTag']").val(1);
+          });
+
+          quItemBody.find("input[name='saveTag']").val(1);
+          quItemBody.find(".quCoTitle input[name='quTitleSaveTag']").val(1);
+
+          quItemBody.removeClass("saveError");
+        }else{
+          quItemBody.addClass("saveError");
+        }
+        //执行保存下一题
+        saveQus(quItemBody.next(),callback);
+        //同步-更新题目排序号
+        quCBNum2++;
+        exeQuCBNum();
+      }
+    });
+  }else{
+    saveQus(quItemBody.next(),callback);
+  }
+}
+
 
 /**逻辑设置**/
 //添加逻辑选项