ans-m-data.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457
  1. function querySurveyAll(callback) {
  2. var ctx = $("#ctx").val();
  3. var surveyId = $("#id").val();
  4. var sid = $("#sid").val();
  5. var tag = $("#tag").val();
  6. var url=ctx+"/response/survey.do";
  7. if(tag==="p" || tag==="s"){
  8. var ctxApp = $("#ctxApp").val();
  9. url = ctxApp+"/design/survey-design/surveyAll.do";
  10. }
  11. var data = "surveyId="+surveyId+"&sid="+sid;
  12. $.ajax({
  13. url:url,
  14. data:data,
  15. // type:"post",
  16. cache: false,
  17. success:function(httpResult){
  18. console.debug(httpResult);
  19. if(httpResult.resultCode==200){
  20. var resultData = httpResult.data;
  21. parseSurvey(resultData,tag);
  22. var questions = resultData.questions;
  23. if(questions!=null){
  24. var pageNo = 1;
  25. $.each(questions,function(i,item){
  26. var quType = item.quType;
  27. if(quType==="RADIO"){
  28. parseRadio(item,pageNo);
  29. }else if(quType==="CHECKBOX"){
  30. parseCheckbox(item,pageNo);
  31. }else if(quType==="FILLBLANK"){
  32. parseFbk(item,pageNo);
  33. }else if(quType==="SCORE"){
  34. parseScore(item,pageNo);
  35. }else if(quType==="ORDERQU"){
  36. parseOrder(item,pageNo);
  37. }else if(quType==="MULTIFILLBLANK"){
  38. parseMfbk(item,pageNo);
  39. }else if(quType==="PAGETAG"){
  40. parsePage(item,pageNo);
  41. pageNo+=1;
  42. }else if(quType==="PARAGRAPH"){
  43. parseParagraph(item,pageNo);
  44. }
  45. });
  46. parseSubmit(pageNo);
  47. }
  48. if(callback!=null){
  49. callback();
  50. }
  51. }else{
  52. alert("数据获取失败!");
  53. // notify("数据获取失败...",10000);
  54. }
  55. },
  56. error: function(xmlHttpRequest,error){
  57. if(xmlHttpRequest.status===404){
  58. // alert("未找到发布的问卷或问卷未发布,请重新发布"+sid);
  59. // window.location.href="/#/diaowen-msg/"+sid+"/1";
  60. window.location.href="/static/diaowen/diaowen-message.html?sid="+sid+"&respType=1";
  61. }else if(xmlHttpRequest.status===403){
  62. $("#dwSurveyName").html("<span style='color: red;'>没有权限,无法加载数据!</span>");
  63. $("#dwSurveyNoteEdit").html("加载失败");
  64. }
  65. }
  66. });
  67. }
  68. function parseSurvey(data){
  69. var tag = $("#tag").val();
  70. if(!(tag==="p" || tag==="s")){
  71. if(data.surveyState!=1){
  72. window.location.href="/static/diaowen/diaowen-message.html?sid="+data.sid+"&respType=1";
  73. }
  74. }
  75. $("#id").val(data.id);
  76. $("#surveyId").val(data.id);
  77. $("#dwSurveyName").html(data.surveyName);
  78. $("title").text($("#dwSurveyName").text());
  79. // $(document).prop('title','val11ue');
  80. $("#dwSurveyNoteEdit").html(data.surveyDetail.surveyNote);
  81. $("#breakpoint1").val(data.surveyDetail.breakpoint1);
  82. }
  83. function parseExtracted(quInputCase, item) {
  84. quInputCase.find(".quId").val(item.id);
  85. quInputCase.find(".quType").val(item.quType);
  86. quInputCase.find(".orderById").val(item.orderById);
  87. quInputCase.find(".isRequired").val(item.isRequired);
  88. quInputCase.find(".paramInt01").val(item.paramInt01);
  89. quInputCase.find(".paramInt02").val(item.paramInt02);
  90. quInputCase.find(".checkType").val(item.checkType);
  91. var paramInt03 = quInputCase.find(".paramInt03");
  92. var param03 = quInputCase.find(".param03");
  93. var cellCount = quInputCase.find(".cellCount");
  94. var paramStr01 = quInputCase.find(".paramStr01");
  95. var paramStr02 = quInputCase.find(".paramStr02");
  96. var paramInt01 = quInputCase.find(".paramInt01");
  97. var paramInt02 = quInputCase.find(".paramInt02");
  98. var hv = quInputCase.find(".hv");
  99. if (!paramInt01[0]) {
  100. quInputCase.append("<input type='hidden' class='paramInt01' value='"+item.paramInt01+"' />");
  101. paramInt01 = quInputCase.find(".paramInt01");
  102. }
  103. if(paramInt03[0]){paramInt03.val(item.paramInt03);}
  104. if(param03[0]){param03.val(item.param03);}
  105. if(cellCount[0]){cellCount.val(item.cellCount);}
  106. if(paramStr01[0]){paramStr01.val(item.paramStr01);}
  107. if(paramInt01[0]){paramInt01.val(item.paramInt01);}
  108. if(paramInt02[0]){paramInt02.val(item.paramInt02);}
  109. if(hv[0]){hv.val(item.hv);}
  110. }
  111. function quLogicExtracted(lastQuItemBody, item, pageNo) {
  112. var quType = item.quType;
  113. var quLogicInputCase = lastQuItemBody.find(".quLogicInputCase");
  114. var quLogicItemHtml = $("#quLogicItemModel").html();
  115. // quLogicItem_${logicSts.count }
  116. var quLogics = item.questionLogics;
  117. $.each(quLogics, function (i, item_1) {
  118. quLogicInputCase.append(quLogicItemHtml);
  119. var quLogicItem = quLogicInputCase.find(".quLogicItem").last();
  120. quLogicItem.addClass("quLogicItem_"+i);
  121. // 修改值
  122. quLogicItem.find(".logicId").val(item_1.id);
  123. quLogicItem.find(".skQuId").val(item_1.skQuId);
  124. quLogicItem.find(".cgQuItemId").val(item_1.cgQuItemId);
  125. quLogicItem.find(".geLe").val(item_1.geLe);
  126. quLogicItem.find(".scoreNum").val(item_1.scoreNum);
  127. quLogicItem.find(".logicType").val(item_1.logicType);
  128. });
  129. lastQuItemBody.find(".quTitleText").html(item.quTitle);
  130. lastQuItemBody.addClass("surveyQu_"+pageNo);
  131. var quInputCase = lastQuItemBody.find(".quInputCase");
  132. var pageNoObj = quInputCase.find(".pageNo");
  133. if(!pageNoObj[0]){
  134. quInputCase.append("<input type=\"hidden\" class=\"pageNo\" value=\""+pageNo+"\">");
  135. pageNoObj = quInputCase.find(".pageNo");
  136. }
  137. pageNoObj.val(pageNo);
  138. if(pageNo>1){
  139. lastQuItemBody.hide();
  140. }
  141. }
  142. function parseRadio(item,pageNo){
  143. var radioQuModel = $("#radioQuModel").html();
  144. $("#dwSurveyQuContentAppUl").append(radioQuModel);
  145. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last();
  146. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  147. var quInputCase = lastQuItemBody.find(".quInputCase");
  148. parseExtracted(quInputCase, item);
  149. quLogicExtracted(lastQuItemBody, item,pageNo);
  150. var inputName = "qu_"+item.quType+"_"+item.id;
  151. var quRadios = item.quRadios;
  152. var quCoItem = lastQuItemBody.find(".surveyQuItemContent .quCoItem");
  153. /*
  154. if(item.hv==3){
  155. //表格
  156. quCoItem.append("<table class='tableQuColItem'></table>");
  157. }else if(item.hv==1){
  158. //一排
  159. }*/
  160. if(item.hv===4){
  161. var radioSelectContent=$("#radioSelect_content").html();
  162. var radioSelectOption = $("#radioSelectOption").html();
  163. quCoItem.append(radioSelectContent);
  164. var quCoItemUl = quCoItem.find("ul");
  165. var quCoItemUlLi = quCoItemUl.find(".quCoItemUlLi");
  166. quCoItemUlLi.addClass("radioSelectLi");
  167. var radioSelect = quCoItemUl.find(".radioSelect");
  168. radioSelect.attr("name",inputName);
  169. radioSelect.empty();
  170. radioSelect.append("<option value=\"0\">--请选择--</option>");
  171. $.each(quRadios,function(i,item_2){
  172. radioSelect.append("<option value='"+item_2.id+"'>"+item_2.optionName+"</option>");
  173. quCoItemUlLi.append(radioSelectOption);
  174. var quItemInputCaseLast = quCoItemUlLi.find(".quItemInputCase").last();
  175. quItemInputCaseLast.attr("itemid",item_2.id);
  176. quItemInputCaseLast.find(".isNote").val(item_2.id);
  177. quItemInputCaseLast.find(".checkType").val(item_2.checkType);
  178. quItemInputCaseLast.find(".isRequiredFill").val(item_2.isRequiredFill);
  179. var dwQuOptionItemNoteLast = quCoItemUlLi.find(".dwQuOptionItemNote").last();
  180. dwQuOptionItemNoteLast.attr("text_"+inputName+"_"+item_2.id);
  181. });
  182. }else{
  183. var quRadioItemHtml=$("#quRadioItem_default").html();
  184. quCoItem.append("<ul></ul>");
  185. var quCoItemUl = quCoItem.find("ul");
  186. $.each(quRadios,function(i,item_2){
  187. quCoItemUl.append(quRadioItemHtml);
  188. var itemLast = quCoItemUl.find("li:last");
  189. var itemLabel = itemLast.find(".editAble");
  190. itemLabel.html(item_2.optionName);
  191. if(item_2.isNote == 1) itemLast.find(".optionInpText").show();
  192. var inputRadio = itemLast.find("input[type='radio']");
  193. var inputId = "qu_"+inputName+"_"+item_2.id;
  194. inputRadio.prop("id",inputId);
  195. inputRadio.prop("name",inputName);
  196. inputRadio.val(item_2.id);
  197. itemLabel.prop("for",inputId);
  198. var inputTextName = "text_"+inputName+"_"+item_2.id;
  199. itemLast.find(".dwQuOptionItemNote").prop("name",inputTextName);
  200. var quItemInputCase = itemLast.find(".quItemInputCase");
  201. quItemInputCase.find(".isNote").val(item_2.isNote);
  202. quItemInputCase.find(".checkType").val(item_2.checkType);
  203. quItemInputCase.find(".isRequiredFill").val(item_2.isRequiredFill);
  204. if(item_2.isNote===1){
  205. itemLast.find(".dwQuOptionItemNote").show();
  206. }
  207. });
  208. }
  209. }
  210. function parseCheckbox(item,pageNo){
  211. var quModel = $("#checkboxQuModel").html();
  212. $("#dwSurveyQuContentAppUl").append(quModel);
  213. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  214. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  215. var quInputCase = lastQuItemBody.find(".quInputCase");
  216. parseExtracted(quInputCase, item);
  217. quLogicExtracted(lastQuItemBody, item,pageNo);
  218. var inputTag = lastQuItemBody.find(".hidden_input_tag");
  219. var inputTagName = "qu_"+item.quType+"_"+item.id;
  220. inputTag.prop("name",inputTagName);
  221. inputTag.val("tag_"+inputTagName);
  222. var inputName = "qu_"+item.quType+"_"+item.id;
  223. var quCheckboxs = item.quCheckboxs;
  224. var quCoItem = lastQuItemBody.find(".surveyQuItemContent .quCoItem");
  225. if(item.hv==3){
  226. //表格
  227. quCoItem.append("<table class='tableQuColItem'></table>");
  228. }else if(item.hv==1){
  229. //一排
  230. }else{
  231. var quCheckboxItemHtml=$("#quCheckboxItem_default").html();
  232. quCoItem.append("<ul></ul>");
  233. var quCoItemUl = quCoItem.find("ul");
  234. $.each(quCheckboxs,function(i,item_2){
  235. quCoItemUl.append(quCheckboxItemHtml);
  236. var itemLast = quCoItemUl.find("li:last");
  237. var itemLable = itemLast.find(".editAble");
  238. itemLable.html(item_2.optionName);
  239. if(item_2.isNote == 1) itemLast.find(".optionInpText").show();
  240. var checkboxName = "tag_"+inputName+"_"+item_2.id;
  241. var inputCheckbox = itemLast.find("input[type='checkbox']");
  242. var inputId = "qu_"+checkboxName+"_"+item_2.id;
  243. inputCheckbox.prop("id",inputId);
  244. inputCheckbox.prop("name",checkboxName);
  245. inputCheckbox.val(item_2.id);
  246. itemLable.prop("for",inputId);
  247. var inputTextName = "text_"+checkboxName;
  248. itemLast.find(".dwQuOptionItemNote").prop("name",inputTextName);
  249. var quItemInputCase = itemLast.find(".quItemInputCase");
  250. quItemInputCase.find(".isNote").val(item_2.isNote);
  251. quItemInputCase.find(".checkType").val(item_2.checkType);
  252. quItemInputCase.find(".isRequiredFill").val(item_2.isRequiredFill);
  253. if(item_2.isNote===1){
  254. itemLast.find(".dwQuOptionItemNote").show();
  255. }
  256. });
  257. }
  258. }
  259. function parseFbk(item,pageNo){
  260. var quModel = $("#fillblankQuModel").html();
  261. $("#dwSurveyQuContentAppUl").append(quModel);
  262. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  263. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  264. var quInputCase = lastQuItemBody.find(".quInputCase");
  265. parseExtracted(quInputCase, item);
  266. quLogicExtracted(lastQuItemBody, item, pageNo);
  267. //lastQuItemBody.find(".quCoTitle .quCoNum").text();
  268. lastQuItemBody.find(".quCoTitle .quCoTitleEdit").html(item.quTitle);
  269. //qu_${en.quType }_${en.id }
  270. var inputName = "qu_"+item.quType+"_"+item.id;
  271. var answerInputWidth = item.answerInputWidth;
  272. if(answerInputWidth==null||answerInputWidth==""){
  273. answerInputWidth=300;
  274. }
  275. var quFillblankItem = lastQuItemBody.find(".quCoItem");
  276. if(item.answerInputRow>1){
  277. quFillblankItem.append('<textarea name="'+inputName+'" rows="'+item.answerInputRow+'" style="width:100%;" class="inputSytle_2 fillblankInput"></textarea>');
  278. }else{
  279. quFillblankItem.append('<input type="text" name="'+inputName+'" class="inputSytle_1 fillblankInput">');
  280. }
  281. }
  282. function parseScore(item,pageNo){
  283. var quModel = $("#scoreQuModel").html();
  284. $("#dwSurveyQuContentAppUl").append(quModel);
  285. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  286. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  287. var quInputCase = lastQuItemBody.find(".quInputCase");
  288. parseExtracted(quInputCase, item);
  289. quLogicExtracted(lastQuItemBody, item, pageNo);
  290. var dwScoreInputName = "item_qu_"+item.quType+"_"+item.id+"_";
  291. var hiddenInputTag = lastQuItemBody.find(".hidden_input_tag");
  292. hiddenInputTag.prop("name","qu_"+item.quType+"_"+item.id);
  293. hiddenInputTag.val(dwScoreInputName);
  294. var quCoItemTable = lastQuItemBody.find(".quCoItem");
  295. quCoItemTable.empty();
  296. var quItemHtml=$("#quScoreItemModel").html();
  297. var quScores = item.quScores;
  298. $.each(quScores,function(i,item_2){
  299. quCoItemTable.append(quItemHtml);
  300. var itemLast = quCoItemTable.find(".quScoreOptionTr:last");
  301. itemLast.find(".editAble").html(item_2.optionName);
  302. var dwScoreOptionId= itemLast.find(".dwScoreOptionId");
  303. dwScoreOptionId.val(item_2.id);
  304. var scoreNumInput= itemLast.find(".scoreNumInput");
  305. scoreNumInput.prop("name",dwScoreInputName+item_2.id);
  306. if(item_2.isNote == 1) itemLast.find(".optionInpText").show();
  307. var quItemInputCase = itemLast.find(".quItemInputCase");
  308. var scoreNumTableTr=itemLast.find(".starOptionContent");
  309. var paramInt02=item.paramInt02;
  310. scoreNumTableTr.empty();
  311. for(var i=1;i<=paramInt02;i++){
  312. scoreNumTableTr.append("<i class=\"fa fa-star-o\"></i>");
  313. }
  314. });
  315. }
  316. function parseOrder(item,pageNo){
  317. var quModel = $("#orderQuModel").html();
  318. $("#dwSurveyQuContentAppUl").append(quModel);
  319. var quItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  320. quItemBody.find(".quDragBody").removeClass("quDragBody");
  321. var quInputCase = quItemBody.find(".quInputCase");
  322. parseExtracted(quInputCase, item);
  323. quLogicExtracted(quItemBody, item, pageNo);
  324. var dwOrderbyInputName = "item_qu_"+item.quType+"_"+item.id+"_";
  325. var hiddenInputTag = quItemBody.find(".hidden_input_tag");
  326. hiddenInputTag.prop("name","qu_"+item.quType+"_"+item.id);
  327. hiddenInputTag.val(dwOrderbyInputName);
  328. var quOrderItemLeftUl=quItemBody.find(".ui-controlgroup-controls");
  329. quOrderItemLeftUl.empty();
  330. var quOrderItemLeftHtml=$("#quOrderItemLeftModel").html();
  331. var quScores = item.quOrderbys;
  332. $.each(quScores,function(i,item_2){
  333. quOrderItemLeftUl.append(quOrderItemLeftHtml);
  334. var itemLast = quOrderItemLeftUl.find(".m_clickQuOrderItem:last");
  335. var newEditObj=itemLast.find(".editAble");
  336. newEditObj.text(item_2.optionName);
  337. var quOrderItemHidInput = itemLast.find(".quOrderItemHidInput");
  338. quOrderItemHidInput.prop("name",dwOrderbyInputName+item_2.id);
  339. var quItemInputCase = itemLast.find(".quItemInputCase");
  340. quItemInputCase.find("input[name='quItemId']").val(item_2.id);
  341. });
  342. }
  343. function parseMfbk(item,pageNo){
  344. var quModel = $("#mfillblankQuModel").html();
  345. $("#dwSurveyQuContentAppUl").append(quModel);
  346. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  347. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  348. var quInputCase = lastQuItemBody.find(".quInputCase");
  349. parseExtracted(quInputCase, item);
  350. quLogicExtracted(lastQuItemBody, item, pageNo);
  351. var dwMFillblankInputName = "text_qu_"+item.quType+"_"+item.id+"_";
  352. var hiddenInputTag = lastQuItemBody.find(".hidden_input_tag");
  353. hiddenInputTag.prop("name","qu_"+item.quType+"_"+item.id);
  354. hiddenInputTag.val(dwMFillblankInputName);
  355. var quCoItemTable=lastQuItemBody.find(".quCoItem");
  356. quCoItemTable.empty();
  357. var quItemHtml=$("#mFillblankTableModel").html();
  358. var quMultiFillblanks = item.quMultiFillblanks;
  359. $.each(quMultiFillblanks,function(i,item_2){
  360. quCoItemTable.append(quItemHtml);
  361. var itemLast=quCoItemTable.find(".mFillblankTableTr:last");
  362. var editAble = itemLast.find(".editAble")
  363. editAble.text(item_2.optionName);
  364. editAble.prop("for",dwMFillblankInputName+item_2.id);
  365. var dwMFillblankInput = itemLast.find(".dwMFillblankOptionId");
  366. dwMFillblankInput.val(item_2.id);
  367. var dwMFillblankInput = itemLast.find(".dwMFillblankInput");
  368. dwMFillblankInput.prop("name",dwMFillblankInputName+item_2.id);
  369. dwMFillblankInput.prop("id",dwMFillblankInputName+item_2.id);
  370. var quItemInputCase = itemLast.find(".quItemInputCase");
  371. quItemInputCase.find("input[name='quItemId']").val(item_2.id);
  372. });
  373. }
  374. function refquOrderTableTdNum(quOrderByRightTable){
  375. var quOrderyTableTds=quOrderByRightTable.find(".quOrderyTableTd");
  376. $.each(quOrderyTableTds,function(i){
  377. $(this).text(i+1);
  378. });
  379. }
  380. function parsePage(item,pageNo){
  381. var quModel = $("#pageQuModel").html();
  382. $("#dwSurveyQuContentAppUl").append(quModel);
  383. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  384. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  385. var quInputCase = lastQuItemBody.find(".quInputCase");
  386. parseExtracted(quInputCase, item);
  387. quLogicExtracted(lastQuItemBody, item, pageNo);
  388. // nextPageNo
  389. lastQuItemBody.find("input[name='nextPageNo']").val(pageNo+1);
  390. }
  391. function parseParagraph(item,pageNo){
  392. var quModel = $("#paragraphQuModel").html();
  393. $("#dwSurveyQuContentAppUl").append(quModel);
  394. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  395. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  396. var quInputCase = lastQuItemBody.find(".quInputCase");
  397. parseExtracted(quInputCase, item);
  398. quLogicExtracted(lastQuItemBody, item,pageNo);
  399. }
  400. function parseSubmit(pageNo){
  401. var quModel = $("#dwSubmitModel").html();
  402. $("#dwSurveyQuContentAppUl").append(quModel);
  403. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  404. lastQuItemBody.addClass("surveyQu_"+pageNo);
  405. if(pageNo>1){
  406. lastQuItemBody.hide();
  407. }
  408. lastQuItemBody.find("input[name='nextPageNo']").val(pageNo+1);
  409. var pageNoObj = lastQuItemBody.find(".pageNo");
  410. if(!pageNoObj[0]){
  411. lastQuItemBody.append("<input type=\"hidden\" class=\"pageNo\" value=\""+pageNo+"\">");
  412. pageNoObj = lastQuItemBody.find(".pageNo");
  413. }
  414. pageNoObj.val(pageNo);
  415. }