design-data.js 19 KB

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