design-data.js 19 KB

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