design-data.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389
  1. function querySurveyAll(){
  2. showUIDialog(null,'dwSurveyLoadDialog');
  3. var ctx = $("#ctx").val();
  4. var url = ctx+"/design/survey-design/surveyAll.do";
  5. var surveyId = $("#id").val();
  6. var data = "surveyId="+surveyId+"&sid=";
  7. console.debug(data);
  8. $.ajax({
  9. url:url,
  10. data:data,
  11. type:"post",
  12. success:function(httpResult){
  13. console.debug(httpResult);
  14. if(httpResult.resultCode==200){
  15. var resultData = httpResult.data;
  16. parseSurvey(resultData);
  17. var questions = resultData.questions;
  18. if(questions!=null){
  19. $.each(questions,function(i,item){
  20. var quType = item.quType;
  21. if(quType==="RADIO"){
  22. parseRadio(item);
  23. }else if(quType==="CHECKBOX"){
  24. parseCheckbox(item);
  25. }else if(quType==="FILLBLANK"){
  26. parseFbk(item);
  27. }else if(quType==="SCORE"){
  28. parseScore(item);
  29. }else if(quType==="ORDERQU"){
  30. parseOrder(item);
  31. }else if(quType==="MULTIFILLBLANK"){
  32. parseMfbk(item);
  33. }else if(quType==="PAGETAG"){
  34. parsePage(item);
  35. }else if(quType==="PARAGRAPH"){
  36. parseParagraph(item);
  37. }
  38. });
  39. resetQuItem();
  40. bindQuHoverItem();
  41. loadReset();
  42. }
  43. $("#modelUIDialog").dialog("close");
  44. dwCommonDialogHide();
  45. }else{
  46. // alert("数据获取失败!");
  47. notify(httpResult.resultMsg,10000);
  48. if(httpResult.resultCode===401){
  49. window.location.href="/#/login";
  50. }else if(httpResult.resultCode===403){
  51. window.location.href="/#/403";
  52. }
  53. }
  54. },
  55. error: function(xmlHttpRequest, textStatus, errorThrown){
  56. if(xmlHttpRequest.status===401){
  57. window.location.href="/#/login";
  58. }else if(xmlHttpRequest.status===403){
  59. window.location.href="/#/403";
  60. }
  61. }
  62. });
  63. }
  64. function parseSurvey(data){
  65. $("#dwSurveyName").html(data.surveyName);
  66. $("#dwSurveyNoteEdit").html(data.surveyDetail.surveyNote);
  67. if(data.surveyDetail.effective>1){
  68. $("input[name='effective']").prop("checked",true);
  69. }else{
  70. $("input[name='effective']").prop("checked",false);
  71. }
  72. $("input[name='effectiveIp'][value='"+data.surveyDetail.effectiveIp+"']").attr("checked",true);
  73. $("input[name='rule'][value='"+data.surveyDetail.rule+"']").attr("checked",true);
  74. $("input[name='ruleCode']").val(data.surveyDetail.ruleCode);
  75. $("input[name='refresh'][value='"+data.surveyDetail.refresh+"']").attr("checked",true);
  76. $("input[name='mailOnly'][value='"+data.surveyDetail.mailOnly+"']").attr("checked",true);
  77. $("input[name='ynEndNum'][value='"+data.surveyDetail.ynEndNum+"']").attr("checked",true);
  78. $("input[name='endNum']").val(data.surveyDetail.endNum);
  79. $("input[name='ynEndTime'][value='"+data.surveyDetail.ynEndTime+"']").attr("checked",true);
  80. $("input[name='ynStartTime'][value='"+data.surveyDetail.ynStartTime+"']").attr("checked",true);
  81. $("input[name='showShareSurvey'][value='"+data.surveyDetail.showShareSurvey+"']").attr("checked",true);
  82. $("input[name='showAnswerDa'][value='"+data.surveyDetail.showAnswerDa+"']").attr("checked",true);
  83. $("#startTime").val(data.surveyDetail.startTime);
  84. $("#endTime").val(data.surveyDetail.endTime);
  85. $("input[name='calSumScore'][value='"+data.surveyDetail.calSumScore+"']").attr("checked",true);
  86. $("input[name='onlyIps'][value='"+data.surveyDetail.onlyIps+"']").attr("checked",true);
  87. $("input[name='ruleCodeNum']").val(data.surveyDetail.ruleCodeNum);
  88. $("input[name='onlyWxAnswer'][value='"+data.surveyDetail.onlyWxAnswer+"']").attr("checked",true);
  89. $("input[name='wxUserinfo'][value='"+data.surveyDetail.wxUserinfo+"']").attr("checked",true);
  90. $("input[name='wxAnswerNum']").val(data.surveyDetail.wxAnswerNum);
  91. var wxAnswerNum = data.surveyDetail.wxAnswerNum;
  92. if(wxAnswerNum!="" && wxAnswerNum!=0 && wxAnswerNum!=null){
  93. $("input[name='yn_wxAnswerNum']").attr("checked",true);
  94. $("input[name='wxAnswerNum']").val(wxAnswerNum);
  95. }
  96. $("input[name='breakpoint1'][value='"+data.surveyDetail.breakpoint1+"']").attr("checked",true);
  97. }
  98. function parseExtracted(quInputCase, item) {
  99. quInputCase.find("input[name='quType']").val(item.quType);
  100. quInputCase.find("input[name='quId']").val(item.id);
  101. quInputCase.find("input[name='orderById']").val(item.orderById);
  102. quInputCase.find("input[name='saveTag']").val(1);
  103. quInputCase.find("input[name='hoverTag']").val(0);
  104. quInputCase.find("input[name='isRequired']").val(item.isRequired);
  105. quInputCase.find("input[name='hv']").val(item.hv);
  106. quInputCase.find("input[name='randOrder']").val(item.randOrder);
  107. quInputCase.find("input[name='cellCount']").val(item.cellCount);
  108. quInputCase.find("input[name='paramInt01']").val(item.paramInt01);
  109. quInputCase.find("input[name='paramInt02']").val(item.paramInt02);
  110. quInputCase.find("input[name='paramInt03']").val(item.paramInt03);
  111. quInputCase.find("input[name='paramStr01']").val(item.paramStr01);
  112. quInputCase.find("input[name='paramStr02']").val(item.paramStr02);
  113. }
  114. function quLogicExtracted(lastQuItemBody, item) {
  115. var quType = item.quType;
  116. var quLogicInputCase = lastQuItemBody.find(".quLogicInputCase");
  117. var quLogicItemHtml = $("#quLogicItemModel").html();
  118. var quLogics = item.questionLogics;
  119. $.each(quLogics, function (i, item_1) {
  120. quLogicInputCase.append(quLogicItemHtml);
  121. var quLogicItem = quLogicInputCase.find(".quLogicItem").last();
  122. quLogicItem.addClass("quLogicItem_"+(i+1));
  123. //修改值
  124. quLogicItem.find("input[name='quLogicId']").val(item_1.id);
  125. quLogicItem.find("input[name='skQuId']").val(item_1.skQuId);
  126. quLogicItem.find("input[name='cgQuItemId']").val(item_1.cgQuItemId);
  127. quLogicItem.find("input[name='visibility']").val("1");
  128. quLogicItem.find("input[name='logicType']").val(item_1.logicType);
  129. //如果是评分题
  130. if (quType === "SCORE" || quType === "SCALE" || quType === "CHENSCALE" || quType === "MULTISLIDER" || quType==="ORDERQU" || quType==="CHENSCORE") {
  131. quLogicItem.find("input[name='geLe']").val(item_1.geLe);
  132. quLogicItem.find("input[name='scoreNum']").val(item_1.scoreNum);
  133. quLogicItem.find("input[name='logicType']").val(item_1.logicType);
  134. }
  135. });
  136. if(quLogics!=null){
  137. quLogicInputCase.find("input[name='quLogicItemNum']").val(quLogics.length);
  138. }
  139. lastQuItemBody.find(".quCoTitle .quCoTitleEdit").html(item.quTitle);
  140. refreshQuLogicInfo(lastQuItemBody);
  141. }
  142. function parseRadio(item){
  143. var radioQuModel = $("#radioQuModel .dwQuTypeModel").html();
  144. $("#dwSurveyQuContentAppUl").append("<li class=\"li_surveyQuItemBody\">"+radioQuModel+"</li>");
  145. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  146. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  147. var quInputCase = lastQuItemBody.find(".quInputCase");
  148. parseExtracted(quInputCase, item);
  149. quInputCase.find("input[name='contactsAttr']").val(item.contactsAttr);
  150. quInputCase.find("input[name='contactsField']").val(item.contactsField);
  151. quLogicExtracted(lastQuItemBody, item);
  152. var quCoItemUl = lastQuItemBody.find(".quCoItem ul");
  153. quCoItemUl.empty();
  154. var quRadioItemHtml=$("#quRadioItem").html();
  155. var quRadios = item.quRadios;
  156. $.each(quRadios,function(i,item_2){
  157. quCoItemUl.append("<li class='quCoItemUlLi'>"+quRadioItemHtml+"</li>");
  158. var itemLast = quCoItemUl.find("li:last");
  159. itemLast.find(".editAble").html(item_2.optionName);
  160. if(item_2.isNote == 1) itemLast.find(".optionInpText").show();
  161. var quItemInputCase = itemLast.find(".quItemInputCase");
  162. quItemInputCase.find("input[name='quItemId']").val(item_2.id);
  163. quItemInputCase.find("input[name='isNote']").val(item_2.isNote);
  164. quItemInputCase.find("input[name='checkType']").val(item_2.checkType);
  165. quItemInputCase.find("input[name='isRequiredFill']").val(item_2.isRequiredFill);
  166. quItemInputCase.find("input[name='scoreNum']").val(item_2.scoreNum);
  167. var answerTag = itemLast.find(".answerTag");
  168. if(item_2.scoreNum>0){
  169. answerTag.text("("+item_2.scoreNum+"分)");
  170. answerTag.show();
  171. }
  172. });
  173. if(item.hv===4){
  174. lastQuItemBody.find(".quCoItem").prepend("<div class=\"selectItems\" style=\"margin-top: 6px;\" ><select style=\"padding: 5px;\" class=\"radioSelect\" name=\"qu_RADIO_"+item.id+"\"><option value=\"0\">--下拉效果,请前往预览中查看--</option></select></div>");
  175. }
  176. }
  177. function parseCheckbox(item){
  178. var quModel = $("#checkboxQuModel .dwQuTypeModel").html();
  179. $("#dwSurveyQuContentAppUl").append("<li class=\"li_surveyQuItemBody\">"+quModel+"</li>");
  180. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  181. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  182. var quInputCase = lastQuItemBody.find(".quInputCase");
  183. parseExtracted(quInputCase, item);
  184. quInputCase.find("input[name='contactsAttr']").val(item.contactsAttr);
  185. quInputCase.find("input[name='contactsField']").val(item.contactsField);
  186. quInputCase.find("input[name='paramInt01']").val(item.paramInt01);
  187. quInputCase.find("input[name='paramInt02']").val(item.paramInt02);
  188. quLogicExtracted(lastQuItemBody, item);
  189. var quCoItemUl = lastQuItemBody.find(".quCoItem ul");
  190. quCoItemUl.empty();
  191. var quItemHtml=$("#quCheckboxItem").html();
  192. var quCheckboxs = item.quCheckboxs;
  193. $.each(quCheckboxs,function(i,item_2){
  194. quCoItemUl.append("<li class='quCoItemUlLi'>"+quItemHtml+"</li>");
  195. var itemLast = quCoItemUl.find("li:last");
  196. itemLast.find(".editAble").html(item_2.optionName);
  197. if(item_2.isNote === 1) itemLast.find(".optionInpText").show();
  198. var quItemInputCase = itemLast.find(".quItemInputCase");
  199. quItemInputCase.find("input[name='quItemId']").val(item_2.id);
  200. quItemInputCase.find("input[name='isNote']").val(item_2.isNote);
  201. quItemInputCase.find("input[name='checkType']").val(item_2.checkType);
  202. quItemInputCase.find("input[name='isRequiredFill']").val(item_2.isRequiredFill);
  203. quItemInputCase.find("input[name='scoreNum']").val(item_2.scoreNum);
  204. var answerTag = itemLast.find(".answerTag");
  205. if(item_2.scoreNum>0){
  206. answerTag.text("("+item_2.scoreNum+"分)");
  207. answerTag.show();
  208. }
  209. });
  210. }
  211. function parseFbk(item){
  212. var quModel = $("#fillblankQuModel .dwQuTypeModel").html();
  213. $("#dwSurveyQuContentAppUl").append("<li class=\"li_surveyQuItemBody\">"+quModel+"</li>");
  214. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  215. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  216. var quInputCase = lastQuItemBody.find(".quInputCase");
  217. parseExtracted(quInputCase, item);
  218. quInputCase.find("input[name='contactsAttr']").val(item.contactsAttr);
  219. quInputCase.find("input[name='contactsField']").val(item.contactsField);
  220. quInputCase.find("input[name='checkType']").val(item.checkType);
  221. quInputCase.find("input[name='answerInputWidth']").val(item.answerInputWidth);
  222. quInputCase.find("input[name='answerInputRow']").val(item.answerInputRow);
  223. quInputCase.find("input[name='paramStr01']").val(item.paramStr01);
  224. quInputCase.find("input[name='paramInt01']").val(item.paramInt01);
  225. quLogicExtracted(lastQuItemBody, item);
  226. //lastQuItemBody.find(".quCoTitle .quCoNum").text();
  227. lastQuItemBody.find(".quCoTitle .quCoTitleEdit").html(item.quTitle);
  228. if(item.answerInputRow>1){
  229. var textarea = lastQuItemBody.find("textarea");
  230. textarea.show();
  231. textarea.attr("rows",item.answerInputRow);
  232. lastQuItemBody.find("input[type='text']").hide();
  233. }
  234. }
  235. function parseScore(item){
  236. var quModel = $("#scoreQuModel .dwQuTypeModel").html();
  237. $("#dwSurveyQuContentAppUl").append("<li class=\"li_surveyQuItemBody\">"+quModel+"</li>");
  238. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  239. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  240. var quInputCase = lastQuItemBody.find(".quInputCase");
  241. parseExtracted(quInputCase, item);
  242. quInputCase.find("input[name='contactsAttr']").val(item.contactsAttr);
  243. quInputCase.find("input[name='contactsField']").val(item.contactsField);
  244. quInputCase.find("input[name='paramInt01']").val(item.paramInt01);
  245. quInputCase.find("input[name='paramInt02']").val(item.paramInt02);
  246. quLogicExtracted(lastQuItemBody, item);
  247. var quCoItemTable=lastQuItemBody.find("table.quCoItemTable");
  248. quCoItemTable.empty();
  249. var quItemHtml=$("#quScoreItemModel").html();
  250. var quScores = item.quScores;
  251. $.each(quScores,function(i,item_2){
  252. quCoItemTable.append("<tr class='quScoreOptionTr'>"+quItemHtml+"</tr>");
  253. var itemLast = quCoItemTable.find("tr.quScoreOptionTr:last");
  254. itemLast.find(".editAble").html(item_2.optionName);
  255. if(item_2.isNote == 1) itemLast.find(".optionInpText").show();
  256. var quItemInputCase = itemLast.find(".quItemInputCase");
  257. quItemInputCase.find("input[name='quItemId']").val(item_2.id);
  258. quItemInputCase.find("input[name='isNote']").val(item_2.isNote);
  259. quItemInputCase.find("input[name='checkType']").val(item_2.checkType);
  260. quItemInputCase.find("input[name='isRequiredFill']").val(item_2.isRequiredFill);
  261. var scoreNumTableTr=quCoItemTable.find("tr.quScoreOptionTr:last .scoreNumTable tr");
  262. var paramInt02=item.paramInt02;
  263. scoreNumTableTr.empty();
  264. for(var i=1;i<=paramInt02;i++){
  265. scoreNumTableTr.append("<td>"+i+"</td>");
  266. }
  267. });
  268. }
  269. function parseOrder(item){
  270. var quModel = $("#orderQuModel .dwQuTypeModel").html();
  271. $("#dwSurveyQuContentAppUl").append("<li class=\"li_surveyQuItemBody\">"+quModel+"</li>");
  272. var quItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  273. quItemBody.find(".quDragBody").removeClass("quDragBody");
  274. var quInputCase = quItemBody.find(".quInputCase");
  275. parseExtracted(quInputCase, item);
  276. quInputCase.find("input[name='contactsAttr']").val(item.contactsAttr);
  277. quInputCase.find("input[name='contactsField']").val(item.contactsField);
  278. quInputCase.find("input[name='paramInt01']").val(item.paramInt01);
  279. quInputCase.find("input[name='paramInt02']").val(item.paramInt02);
  280. quLogicExtracted(quItemBody, item);
  281. var quOrderItemLeftUl=quItemBody.find(".quOrderByLeft ul");
  282. var quOrderByRightTable=quItemBody.find(".quOrderByRight table.quOrderByTable");
  283. quOrderItemLeftUl.empty();
  284. quOrderByRightTable.empty();
  285. var quOrderItemLeftHtml=$("#quOrderItemLeftModel").html();
  286. var quOrderItemRightHtml=$("#quOrderItemRightModel").html();
  287. var quScores = item.quOrderbys;
  288. $.each(quScores,function(i,item_2){
  289. quOrderItemLeftUl.append("<li class='quCoItemUlLi'>"+quOrderItemLeftHtml+"</li>");
  290. quOrderByRightTable.append("<tr>"+quOrderItemRightHtml+"</tr>");
  291. var itemLast = quOrderItemLeftUl.find("li:last");
  292. var newEditObj=itemLast.find(".editAble");
  293. newEditObj.text(item_2.optionName);
  294. var quItemInputCase = itemLast.find(".quItemInputCase");
  295. quItemInputCase.find("input[name='quItemId']").val(item_2.id);
  296. refquOrderTableTdNum(quOrderByRightTable);
  297. });
  298. }
  299. function parseMfbk(item){
  300. var quModel = $("#mfillblankQuModel .dwQuTypeModel").html();
  301. $("#dwSurveyQuContentAppUl").append("<li class=\"li_surveyQuItemBody\">"+quModel+"</li>");
  302. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  303. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  304. var quInputCase = lastQuItemBody.find(".quInputCase");
  305. parseExtracted(quInputCase, item);
  306. quInputCase.find("input[name='contactsAttr']").val(item.contactsAttr);
  307. quInputCase.find("input[name='contactsField']").val(item.contactsField);
  308. quInputCase.find("input[name='paramInt01']").val(item.paramInt01);
  309. quInputCase.find("input[name='paramInt02']").val(item.paramInt02);
  310. quInputCase.find("input[name='paramStr01']").val(item.paramStr01);
  311. quLogicExtracted(lastQuItemBody, item);
  312. var quCoItemTable=lastQuItemBody.find("table.mFillblankTable");
  313. quCoItemTable.empty();
  314. var quItemHtml=$("#mFillblankTableModel").html();
  315. var quMultiFillblanks = item.quMultiFillblanks;
  316. $.each(quMultiFillblanks,function(i,item_2){
  317. quCoItemTable.append("<tr class='mFillblankTableTr'>"+quItemHtml+"</tr>");
  318. var itemLast=quCoItemTable.find("tr.mFillblankTableTr:last");
  319. itemLast.find(".editAble").text(item_2.optionName);
  320. var quItemInputCase = itemLast.find(".quItemInputCase");
  321. quItemInputCase.find("input[name='quItemId']").val(item_2.id);
  322. });
  323. }
  324. function parsePage(item){
  325. var quModel = $("#pageQuModel .dwQuTypeModel").html();
  326. $("#dwSurveyQuContentAppUl").append("<li class=\"li_surveyQuItemBody\">"+quModel+"</li>");
  327. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  328. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  329. var quInputCase = lastQuItemBody.find(".quInputCase");
  330. parseExtracted(quInputCase, item);
  331. quInputCase.find("input[name='contactsAttr']").val(item.contactsAttr);
  332. quInputCase.find("input[name='contactsField']").val(item.contactsField);
  333. quInputCase.find("input[name='checkType']").val(item.checkType);
  334. quInputCase.find("input[name='answerInputWidth']").val(item.answerInputWidth);
  335. quInputCase.find("input[name='answerInputRow']").val(item.answerInputRow);
  336. quInputCase.find("input[name='paramStr01']").val(item.paramStr01);
  337. quLogicExtracted(lastQuItemBody, item);
  338. }
  339. function parseParagraph(item){
  340. var quModel = $("#paragraphQuModel .dwQuTypeModel").html();
  341. $("#dwSurveyQuContentAppUl").append("<li class=\"li_surveyQuItemBody\">"+quModel+"</li>");
  342. var lastQuItemBody = $("#dwSurveyQuContentAppUl .li_surveyQuItemBody").last()
  343. lastQuItemBody.find(".quDragBody").removeClass("quDragBody");
  344. var quInputCase = lastQuItemBody.find(".quInputCase");
  345. parseExtracted(quInputCase, item);
  346. quInputCase.find("input[name='contactsAttr']").val(item.contactsAttr);
  347. quInputCase.find("input[name='contactsField']").val(item.contactsField);
  348. quInputCase.find("input[name='checkType']").val(item.checkType);
  349. quInputCase.find("input[name='answerInputWidth']").val(item.answerInputWidth);
  350. quInputCase.find("input[name='answerInputRow']").val(item.answerInputRow);
  351. quInputCase.find("input[name='paramStr01']").val(item.paramStr01);
  352. quLogicExtracted(lastQuItemBody, item);
  353. }