dwsurvey-design.js 104 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160
  1. /**
  2. *
  3. * DWSurvey 3.0 中关于问卷设计Javascript
  4. *
  5. * @desc: design survey
  6. * @author: keyuan(@keyuan, keyuan258@gmail.com)
  7. * @github: https://github.com/wkeyuan/DWSurvey
  8. *
  9. * Copyright 2012, 2017 调问问卷(DWSurvey,http://dwsurvey.net)
  10. *
  11. */
  12. var browseWidth=$(window).width();
  13. var browseHeight=$(window).height();
  14. var ctx="";
  15. var questionBelongId="";
  16. var svTag=2;
  17. var quCBNum=0;//比较值1
  18. var quCBNum2=0;//比较值2
  19. var curEditObj=null;
  20. var curEditObjOldHtml="";
  21. var dwDialogObj=null;
  22. var ueEditObj=null;//UE编辑器
  23. var isDrag=false;
  24. var appQuObj=null;
  25. var myeditor=null;
  26. var ueDialog=null;
  27. var isSaveProgress=false;
  28. $(document).ready(function(){
  29. ctx=$("#ctx").val();
  30. var surveyId = $.getUrlParam("surveyId");
  31. $("#id").val(surveyId);
  32. questionBelongId=$("#id").val();
  33. browseWidth=$(window).width();
  34. resizeWrapSize();
  35. $(window).resize(function(){
  36. browseWidth=$(window).width();
  37. resizeWrapSize();
  38. if(curEditObj!=null){
  39. var editOffset=$(curEditObj).offset();
  40. $("#dwCommonEditRoot").show();
  41. $("#dwCommonEditRoot").offset({top:editOffset.top,left:editOffset.left});
  42. }
  43. if(dwDialogObj!=null){
  44. setShowDialogOffset(dwDialogObj);
  45. }
  46. });
  47. ueDialog=$( "#dialog" ).dialog({
  48. width:680,
  49. /*height:450,*/
  50. autoOpen: false,
  51. modal:true,
  52. position:["center","top"],
  53. title:"高级编辑器",
  54. show: {effect:"blind",direction:"up",duration: 500},
  55. hide: {effect:"blind",direction:"left",duration: 200,
  56. open:function(event,ui){
  57. }
  58. }
  59. });
  60. myeditor = UE.getEditor("dialogUeditor",{
  61. //toolbars:[[]],
  62. initialContent: "",//初始化内容
  63. elementPathEnabled:false,
  64. wordCount:false,
  65. autosave:false,
  66. initialFrameWidth : 680,
  67. initialFrameHeight : 300
  68. });
  69. $(window).scroll( function() {
  70. var scrollTop=$(window).scrollTop();
  71. var quDesignDialog=$("#tools_wrap");
  72. var headerHeight=55;
  73. var quDesignHeight=125;
  74. if(scrollTop>=headerHeight){
  75. quDesignDialog.css({ top: "0px"});
  76. }else{
  77. quDesignDialog.css({ top: (headerHeight-scrollTop)+"px"});
  78. }
  79. var dwBodyLeft=$("#dw_body_left");
  80. var dwBodyRight=$("#dw_body_right");
  81. if(scrollTop>=headerHeight){
  82. dwBodyLeft.css({top:"136px"});
  83. dwBodyRight.css({top:"136px"});
  84. }else{
  85. dwBodyLeft.css({ top: (headerHeight+quDesignHeight+10-scrollTop)+"px"});
  86. dwBodyRight.css({ top: (headerHeight+quDesignHeight+10-scrollTop)+"px"});
  87. }
  88. if(scrollTop>=headerHeight && scrollTop<=100){
  89. $("#dw_body").css({"margin-top":(135+((100-headerHeight)-(100-scrollTop)))+"px"});
  90. }else{
  91. $("#dw_body").css({"margin-top":"135px"});
  92. }
  93. if(curEditObj!=null){
  94. var editOffset=$(curEditObj).offset();
  95. $("#dwCommonEditRoot").show();
  96. $("#dwCommonEditRoot").offset({top:editOffset.top,left:editOffset.left});
  97. }
  98. if(dwDialogObj!=null){
  99. setShowDialogOffset(dwDialogObj);
  100. }
  101. } );
  102. //定时保存逻辑
  103. function intervalSaveSurvey(){
  104. var saveTag=$("#dwSurveyQuContentAppUl input[name='saveTag'][value='0']");
  105. var nmSaveTag=$("#dw_body_content input[name='svyNmSaveTag'][value='0']");
  106. var noteSaveTag=$("#dw_body_content input[name='svyNoteSaveTag'][value='0']");
  107. if(!isSaveProgress && ( saveTag[0] || nmSaveTag[0] || noteSaveTag[0]) && !isDrag && curEditObj==null && dwDialogObj==null){
  108. notify("自动保存中...",5000);
  109. saveSurvey(function(){
  110. isSaveProgress=false;
  111. notify("自动保存成功",1000);
  112. });
  113. }
  114. }
  115. var intervalSave=setInterval(intervalSaveSurvey, 5000);
  116. var isSort=false;
  117. //拖入题目到问卷中
  118. $( ".dragQuUl li" ).draggable({
  119. connectToSortable: "#dwSurveyQuContentAppUl",
  120. zIndex:27000,
  121. cursor: "move",cursorAt:{left: 40, top: 25},
  122. scroll: true ,
  123. scrollSensitivity: 30,
  124. scrollSpeed: 30,
  125. appendTo: "#dw_body_content",
  126. helper: function(event){
  127. return $(this).find(".dwQuTypeModel").html();
  128. },
  129. start: function(event, ui) {
  130. isDrag=true;
  131. $("#tools_wrap").css({"zIndex":30});
  132. /*
  133. var scrollTop=$(window).scrollTop();
  134. if(scrollTop>=70){
  135. $("#tools_wrap").hide("slide",{direction:"up"},300,function(){
  136. $("#tools_wrap").css({"zIndex":30});
  137. }).show("slide",{direction:"up"},500);
  138. }else{
  139. $("#tools_wrap").css({"zIndex":30});
  140. }
  141. */
  142. resetQuItemHover(null);
  143. //$("#tools_wrap").hide();
  144. //console.debug($(this).attr("class")+":"+$(this).css("zIndex"));
  145. dwCommonDialogHide();
  146. curEditCallback();
  147. },
  148. drag: function(event, ui) {
  149. //console.debug( $( "#designQutypes li" ).draggable('option', 'zIndex'));
  150. //console.debug($(ui.helper).css("zIndex")+$(ui.helper).css("position"));
  151. isDrag=true;
  152. },
  153. stop: function(event, ui) {
  154. //$("#tools_wrap").fadeTo("slow", 0.6).fadeTo("slow", 1);
  155. //$("#tools_wrap").css({"zIndex":200});
  156. if(!isSort){
  157. $("#tools_wrap").animate({zIndex: 200}, 200 ,function(){
  158. //$("#tools_wrap").css({"zIndex":200});
  159. resetQuItem();
  160. bindQuHoverItem();
  161. });
  162. }
  163. /*var scrollTop=$(window).scrollTop();
  164. if(scrollTop>=70){
  165. $("#tools_wrap").hide("slide",{direction:"up"},100,function(){
  166. $("#tools_wrap").css({"zIndex":200});
  167. }).show("slide",{direction:"up"},800);
  168. }else{
  169. $("#tools_wrap").css({"zIndex":200});
  170. }*/
  171. if(false){
  172. isDrag=false;
  173. if(appQuObj!=null){
  174. //$("#defaultAppQuObj").before($(this).find(".quTypeModel").html());
  175. $(appQuObj).before($(this).find(".dwQuTypeModel").html());
  176. $(appQuObj).prev().hide();
  177. $(appQuObj).prev().removeClass("quDragBody");
  178. $(appQuObj).prev().show("slow");
  179. resetQuItem();
  180. bindQuHoverItem();
  181. }
  182. }
  183. }
  184. });
  185. $( "#dwSurveyQuContentAppUl" ).sortable({
  186. revert: true,
  187. delay:800,
  188. placeholder:"showLine",
  189. tolerance:"pointer",
  190. opacity :0.7,
  191. //helper : "clone",
  192. handle : ".dwQuMove",
  193. scrollSensitivity: 30,
  194. scrollSpeed: 30,
  195. start: function(event,ui){
  196. $("#tools_wrap").css({"zIndex":30});
  197. $(".showLine").height(ui.item.height());
  198. dwCommonDialogHide();
  199. curEditCallback();
  200. isSort=true;
  201. },
  202. sort: function(event,ui){
  203. isSort=true;
  204. $(".ui-sortable-placeholder").css({"background":"red"});
  205. },
  206. receive:function(event,ui){},
  207. out:function(event,ui){isSort=false;},
  208. update: function( event, ui ) {
  209. if(!isDrag){$("#dwSurveyQuContentAppUl input[name='saveTag']").val(0);}
  210. },
  211. stop: function(event,ui){
  212. if(isDrag){
  213. isDrag=false;
  214. isSort=false;
  215. ui.item.html(ui.item.find(".dwQuTypeModel").html());
  216. ui.item.removeClass("ui-draggable");
  217. ui.item.find(".quDragBody").removeClass("quDragBody");
  218. //新加入题-选定题目标题
  219. ui.item.find(".surveyQuItemBody").addClass("hover");
  220. ui.item.addClass("li_surveyQuItemBody");
  221. var quType=ui.item.find(".surveyQuItemBody input[name='quType']").val();
  222. if(quType!="PAGETAG"){
  223. editAble(ui.item.find(".surveyQuItemBody .quCoTitleEdit"));
  224. }
  225. //var curItemBodyOffset=ui.item.offset();
  226. //alert(curItemBodyOffset.top);
  227. //$(document).scrollTop(curItemBodyOffset.top-370);
  228. //$(document).animate({scrollTop:curItemBodyOffset.top-370}, 800);
  229. //$("body").animate({scrollTop:curItemBodyOffset.top-370}, 800);
  230. }
  231. var curItemBodyOffset=ui.item.offset();
  232. $("html,body").animate({scrollTop:curItemBodyOffset.top-370}, 500,function(){
  233. $("#tools_wrap").css({"zIndex":200});
  234. resetQuItem();
  235. bindQuHoverItem();
  236. });
  237. }
  238. });
  239. /* $("#dwSurveyTitle").keydown(function(event){
  240. if(event.keyCode==13){
  241. return false;
  242. }
  243. }); */
  244. /*$(".tools_tabs_left ul li").hover(function(){
  245. var curId=$(this).attr("id");
  246. var tabId=curId.replace("_li","");
  247. $(".tools_tab_div").hide();
  248. $("#"+tabId).show();
  249. $(".tools_tabs_left ul li").removeClass("current");
  250. $(this).addClass("current");
  251. },function(){});*/
  252. var isDialogClick=false;
  253. $(document).click(function(){
  254. curEditCallback();
  255. if(!isDialogClick){
  256. dwCommonDialogHide();
  257. resetQuItemHover(null);
  258. }
  259. isDialogClick=false;
  260. });
  261. $("#dwCommonEditRoot").unbind();
  262. $("#dwCommonEditRoot").click(function(){
  263. return false;
  264. });
  265. $("#dwCommonDialog").click(function(){
  266. isDialogClick=true;
  267. });
  268. $( "#modelUIDialog" ).click(function(){
  269. isDialogClick=true;
  270. });
  271. $( "#modelUIDialog" ).dialog({
  272. title: "选项设置",
  273. height: 260,
  274. width: 550,
  275. modal: true,
  276. autoOpen: false
  277. });
  278. $(".tools_tabs_left ul li").click(function(){
  279. var curId=$(this).attr("id");
  280. var tabId=curId.replace("_li","");
  281. $(".tools_tab_div").hide();
  282. $("#"+tabId).show();
  283. $(".tools_tabs_left ul li").removeClass("current");
  284. $(this).addClass("current");
  285. });
  286. bindQuHoverItem();
  287. $("#surveyAttrSetToolbar").click(function(){
  288. showUIDialog($(this));
  289. /*$(".tabbarDialog").offset({top:$(this).offset().top+60});
  290. $(".tabbarDialog").show();
  291. $(this).addClass("hover");*/
  292. return false;
  293. });
  294. $("#logicToolbar").click(function(){
  295. showUIDialog($(this));
  296. return false;
  297. });
  298. $("input[name='setAutoContacts']").change(function(){
  299. var check=$(this).prop("checked");
  300. if(check){
  301. $(".contactsFieldLi").show();
  302. }else{
  303. $(".contactsFieldLi").hide();
  304. }
  305. });
  306. $(".option_range").change(function(){
  307. var selVal=$(this).val();
  308. $(this).next().hide();
  309. if(selVal==3){
  310. $(this).next().show();
  311. validateGen();
  312. }else if(selVal=="DATE"){
  313. $(this).parents("ul").find(".option_range_date_li").show();
  314. }else{
  315. $(this).parents("ul").find(".option_range_date_li").hide();
  316. }
  317. });
  318. $(".dwQuDialogAddLogic").click(function(){
  319. addQuDialogLogicTr(true,function(){},function(){alert("此题已经设置了任意选项!");});
  320. return false;
  321. });
  322. $("#dwDialogSaveLogic").click(function(){
  323. var quItemBody=$(dwDialogObj).parents(".surveyQuItemBody");
  324. var quLogicInputCase=quItemBody.find(".quLogicInputCase");
  325. var quType=quItemBody.find("input[name='quType']").val();
  326. var dwQuLogicTrs=$("#dwQuLogicTable tr");
  327. var quLogicItemHtml=$("#quLogicItemModel").html();
  328. $.each(dwQuLogicTrs,function(){
  329. var cgQuItemId=$(this).find(".logicQuOptionSel").val();
  330. var skQuId=$(this).find(".logicQuSel").val();
  331. var logicType=$(this).find(".logicType").val();
  332. var quLogicItemClass=$(this).attr("class");
  333. if(skQuId!="" && cgQuItemId!=""){
  334. var quLogicItem=quLogicInputCase.find("."+quLogicItemClass);
  335. if(quLogicItem[0]){
  336. var oldSkQuId=quLogicItem.find("input[name='skQuId']").val();
  337. var oldCgQuItemId=quLogicItem.find("input[name='cgQuItemId']").val();
  338. var oldLogicType=quLogicItem.find("input[name='logicType']").val();
  339. if(oldSkQuId!=skQuId || cgQuItemId!=oldCgQuItemId || oldLogicType!=logicType){
  340. quLogicItem.find("input[name='logicSaveTag']").val("0");
  341. quItemBody.find("input[name='saveTag']").val("0");
  342. quLogicItem.find("input[name='skQuId']").val(skQuId);
  343. quLogicItem.find("input[name='cgQuItemId']").val(cgQuItemId);
  344. quLogicItem.find("input[name='logicType']").val(logicType);
  345. }
  346. }else{
  347. quLogicInputCase.append(quLogicItemHtml);
  348. quLogicItem=quLogicInputCase.find(".quLogicItem").last();
  349. quLogicItem.addClass(quLogicItemClass);
  350. quLogicItem.find("input[name='quLogicId']").val("");
  351. quLogicItem.find("input[name='skQuId']").val(skQuId);
  352. quLogicItem.find("input[name='cgQuItemId']").val(cgQuItemId);
  353. quLogicItem.find("input[name='visibility']").val("1");
  354. quLogicItem.find("input[name='logicType']").val(logicType);
  355. quItemBody.find("input[name='saveTag']").val("0");
  356. }
  357. }
  358. });
  359. refreshQuLogicInfo(quItemBody);
  360. dwCommonDialogHide();
  361. return false;
  362. });
  363. $("#dwDialogSaveMoreItem").click(function(){
  364. var quItemBody=$(dwDialogObj).parents(".surveyQuItemBody");
  365. var quType=quItemBody.find("input[name='quType']").val();
  366. var areaVal=$("#dwQuMoreTextarea").val();
  367. var areaValSplits=areaVal.split("\n");
  368. $.each(areaValSplits,function(i,item){
  369. item=$.trim(item);
  370. if(item!=""){
  371. if(quType=="RADIO"){
  372. addRadioItem(quItemBody,item);
  373. }else if(quType=="CHECKBOX"){
  374. addCheckboxItem(quItemBody,item);
  375. }else if(quType=="ORDERQU"){
  376. addOrderquItem(quItemBody, item);
  377. }else if(quType=="MULTIFILLBLANK"){
  378. addMultiFillblankItem(quItemBody, item);
  379. }else if(quType=="SCORE"){
  380. addScoreItem(quItemBody,item);
  381. }
  382. }
  383. });
  384. $("#dwQuMoreTextarea").val("");
  385. bindQuHoverItem();
  386. dwCommonDialogHide();
  387. });
  388. $("#dwDialogUeOk").click(function(){
  389. var myeditorContent=myeditor.getContent();
  390. curEditObj=ueEditObj;
  391. setCurEditContent(myeditorContent);
  392. curEditCallback();
  393. ueDialog.dialog("close");
  394. ueEditObj=null;
  395. curEditObj=null;
  396. return false;
  397. });
  398. $("#dwDialogQuSetSave").click(function(){
  399. if(dwDialogObj!=null){
  400. var quItemBody=$(dwDialogObj).parents(".surveyQuItemBody");
  401. //var quType=quItemBody.find("input[name='quType']").val();
  402. var setIsRequired=$("#dwCommonDialog input[name='setIsRequired']:checked");
  403. var setRandOrder=$("#dwCommonDialog input[name='setRandOrder']:checked");
  404. var setHv=$("#dwCommonDialog select[name='setHv']").val();
  405. var setCellCount=$("#dwCommonDialog input[name='setCellCount']").val();
  406. var setAutoContacts=$("#dwCommonDialog input[name='setAutoContacts']:checked");
  407. var setContactsField=$("#dwCommonDialog select[name='setContactsField']").val();
  408. var oldHv=quItemBody.find("input[name='hv']").val();
  409. var oldCellCount=quItemBody.find("input[name='cellCount']").val();
  410. //alert(set_isRequired+":"+set_randOrder+":"+set_hv);
  411. quItemBody.find("input[name='isRequired']").val(setIsRequired[0]?1:0);
  412. quItemBody.find("input[name='hv']").val(setHv);
  413. quItemBody.find("input[name='randOrder']").val(setRandOrder[0]?1:0);
  414. quItemBody.find("input[name='cellCount']").val(setCellCount);
  415. quItemBody.find("input[name='saveTag']").val(0);
  416. var quType=quItemBody.find("input[name='quType']").val();
  417. if(quType=="RADIO" || quType=="CHECKBOX" || quType=="FILLBLANK"){
  418. quItemBody.find("input[name='contactsAttr']").val(setAutoContacts[0]?1:0);
  419. quItemBody.find("input[name='contactsField']").val(setContactsField);
  420. }else if(quType==="MULTIFILLBLANK"){
  421. var paramInt01=$("#dwCommonDialog .minMaxLi .minNum");
  422. if(paramInt01[0]){
  423. quItemBody.find("input[name='paramInt01']").val(paramInt01.val());
  424. }
  425. quItemBody.find("input[name='paramInt02']").val(10);
  426. }else if(quType=="SCORE"){
  427. quItemBody.find("input[name='paramInt01']").val(1);
  428. var paramInt02=$("#dwCommonDialog .scoreMinMax .maxScore");
  429. if(paramInt02[0]){
  430. quItemBody.find("input[name='paramInt02']").val(paramInt02.val());
  431. }
  432. //根据分数设置评分选项
  433. var paramInt01Val=1;
  434. var paramInt02Val=paramInt02.val();
  435. var scoreNumTableTr=quItemBody.find(".scoreNumTable tr");
  436. $.each(scoreNumTableTr,function(){
  437. $(this).empty();
  438. for(var i=paramInt01Val;i<=paramInt02Val;i++){
  439. $(this).append("<td>"+i+"</td>");
  440. }
  441. });
  442. }
  443. var selVal=$(".option_range").val();
  444. if(selVal==1){
  445. //横排 transverse
  446. if(oldHv==3){
  447. quTableOptoin2Li(quItemBody);
  448. }
  449. quItemBody.find(".quCoItem ul").addClass("transverse");
  450. }else if(selVal==2){
  451. if(oldHv==3){
  452. quTableOptoin2Li(quItemBody);
  453. }else{
  454. //竖排
  455. quItemBody.find(".quCoItem ul").removeClass("transverse");
  456. quItemBody.find(".quCoItem ul li").width("");
  457. }
  458. }else if(selVal==3){
  459. if(!$("#dwCommonDialogForm").valid()){
  460. notify("参数不对,请检查!",800);
  461. return false;
  462. }
  463. if(oldHv==3){
  464. if(oldCellCount!=setCellCount){
  465. quTableOption2Table(quItemBody);
  466. }
  467. }else{
  468. quLiOption2Table(quItemBody);
  469. }
  470. }
  471. }
  472. dwCommonDialogHide();
  473. return false;
  474. });
  475. $("#dwDialogSurveyAttrSave").click(function(){
  476. $("input[name='svyAttrSaveTag']").val(0);
  477. notify("保存中...",5000);
  478. saveSurvey(function(){
  479. isSaveProgress=false;
  480. notify("保存成功",1000);
  481. });
  482. //关闭窗口
  483. $("#modelUIDialog").dialog("close");
  484. dwCommonDialogHide();
  485. /*var url="";
  486. var data="";
  487. $.ajax({
  488. url:url,
  489. data:data,
  490. type:"post",
  491. success:function(msg){
  492. alert(msg);
  493. }
  494. });*/
  495. return false;
  496. });
  497. $("#dwDialogQuOptionSetSave").click(function(){
  498. var quItemBody=$(dwDialogObj).parents(".surveyQuItemBody");
  499. var quOptionParent=$(dwDialogObj).parent();
  500. var quOption_isNote=$("#modelUIDialog input[name='quOption_isNote']");
  501. var isNote=quOptionParent.find("input[name='isNote']");
  502. var checkType=quOptionParent.find("input[name='checkType']");
  503. var isRequiredFill=quOptionParent.find("input[name='isRequiredFill']");
  504. if(quOption_isNote.prop("checked")&&(isNote.val()=="0" || isNote.val()=="")){
  505. quItemBody.find("input[name='saveTag']").val(0);
  506. quOptionParent.find("input[name='quItemSaveTag']").val(0);
  507. }
  508. if(quOption_isNote.prop("checked")){
  509. isNote.val(1);
  510. if(!quOptionParent.find(".optionInpText")[0]){
  511. $(dwDialogObj).after("<input type='text' class='optionInpText' />");
  512. }
  513. quOptionParent.find(".optionInpText").show();
  514. }else{
  515. isNote.val(0);
  516. quOptionParent.find(".optionInpText").hide();
  517. }
  518. checkType.val("NO");
  519. isRequiredFill.val(0);
  520. //显示填空框
  521. // $(dwDialogObj).after("<input type='text' class='optionInpText' />");
  522. // quOptionParent.find(".optionInpText").show();
  523. $("#modelUIDialog").dialog("close");
  524. //resetQuItemHover(null);
  525. dwCommonDialogHide();
  526. return false;
  527. });
  528. $("#dwDialogQuFillOptionSave").click(function(){
  529. var quItemBody=$(dwDialogObj).parents(".surveyQuItemBody");
  530. var quFill_checkType=$("#modelUIDialog select[name='quFill_checkType']");
  531. var qu_inputWidth=$("#modelUIDialog input[name='qu_inputWidth']");
  532. var qu_inputRow=$("#modelUIDialog input[name='qu_inputRow']");
  533. var option_range_date=$("#modelUIDialog select.option_range_date");
  534. var checkType=quItemBody.find("input[name='checkType']");
  535. var answerInputWidth=quItemBody.find("input[name='answerInputWidth']");
  536. var answerInputRow=quItemBody.find("input[name='answerInputRow']");
  537. var paramInt01=quItemBody.find("input[name='paramInt01']");
  538. if(answerInputWidth.val()!=qu_inputWidth.val() || answerInputRow.val()!=qu_inputRow.val() || (checkType[0] && checkType.val()!=quFill_checkType.val())){
  539. quItemBody.find("input[name='saveTag']").val(0);
  540. }
  541. var checkTypeVal = quFill_checkType.val();
  542. if(checkTypeVal == ""){
  543. checkTypeVal="NO";
  544. }
  545. if(checkType[0]){
  546. checkType.val(checkTypeVal);
  547. if(checkTypeVal=="DATE"){
  548. if(paramInt01[0]){
  549. paramInt01.val(option_range_date.val());
  550. }else{
  551. quItemBody.find(".quInputCase").append("<input type=\"hidden\" name=\"paramInt01\" value=\""+option_range_date.val()+"\">");
  552. }
  553. quItemBody.find("input[name='saveTag']").val(0);
  554. }
  555. }
  556. answerInputWidth.val(qu_inputWidth.val());
  557. answerInputRow.val(qu_inputRow.val());
  558. if(qu_inputRow.val()>1){
  559. quItemBody.find(".quFillblankAnswerTextarea").show();
  560. quItemBody.find(".quFillblankAnswerInput").hide();
  561. quItemBody.find(".quFillblankAnswerTextarea").attr("rows",qu_inputRow.val());
  562. quItemBody.find(".quFillblankAnswerTextarea").width(qu_inputWidth.val());
  563. }else{
  564. quItemBody.find(".quFillblankAnswerTextarea").hide();
  565. quItemBody.find(".quFillblankAnswerInput").show();
  566. quItemBody.find(".quFillblankAnswerInput").width(qu_inputWidth.val());
  567. }
  568. quItemBody.find(".quCoItemUlLi").removeClass("hover");
  569. $("#modelUIDialog").dialog("close");
  570. resetQuItemHover(null);
  571. dwCommonDialogHide();
  572. return false;
  573. });
  574. function quTableOptoin2Li(quItemBody){
  575. var quCoItemTds=quItemBody.find(".quCoItem .tableQuColItem tr td");
  576. var ulLiHtml="<ul>";
  577. $.each(quCoItemTds,function(){
  578. var tdHtml=$(this).html();
  579. if(tdHtml!=""){
  580. ulLiHtml+="<li class='quCoItemUlLi'>"+tdHtml+"</li>";
  581. }
  582. });
  583. ulLiHtml+="<ul>";
  584. quItemBody.find(".quCoItem table.tableQuColItem").remove();
  585. quItemBody.find(".quCoItem").append(ulLiHtml);
  586. quItemBody.find(".quCoItem ul li").width("");
  587. quItemBody.find(".quCoItem ul li label").width("");
  588. bindQuHoverItem();
  589. }
  590. function quLiOption2Table(quItemBody){
  591. var quCoItemlis=quItemBody.find(".quCoItem ul li");
  592. var quCoItemLiSize=quCoItemlis.size();
  593. var cellCount=$("#dwCommonDialog input[name='setCellCount']").val();
  594. var rowCount=parseInt(quCoItemLiSize/cellCount);
  595. var remainder=quCoItemLiSize%cellCount;
  596. var tdWidth=parseInt(600/cellCount);
  597. var tdLabelWidth=tdWidth-10;
  598. if(remainder>0){
  599. rowCount=rowCount+1;
  600. }
  601. var tableHtmlBuild="<table class='tableQuColItem'>";
  602. for(var i=0;i<rowCount;i++){
  603. tableHtmlBuild+="<tr>";
  604. //0*2+(1)=1 0*2+(2)=2 1*2+(1)=3 1*2+(2)=4 2*2+1=5 2*2+2=6
  605. for(var j=0;j<cellCount;j++){
  606. var liIndex=(i*cellCount)+j;
  607. if(liIndex<quCoItemLiSize){
  608. var liObj=$(quCoItemlis).get(liIndex);
  609. tableHtmlBuild+="<td>"+$(liObj).html()+"</td>";
  610. }else{
  611. tableHtmlBuild+="<td><div class='emptyTd'></div></td>";
  612. }
  613. }
  614. tableHtmlBuild+="</tr>";
  615. }
  616. tableHtmlBuild+="</table>";
  617. quItemBody.find(".quCoItem ul").remove();
  618. quItemBody.find(".quCoItem").append(tableHtmlBuild);
  619. //设置亮度
  620. quItemBody.find(".quCoItem .tableQuColItem tr td").width(tdWidth);
  621. quItemBody.find(".quCoItem .tableQuColItem tr td label").width(tdLabelWidth);
  622. bindQuHoverItem();
  623. }
  624. //表格变换了行数之后
  625. function quTableOption2Table(quItemBody){
  626. var quCoItemTds=quItemBody.find(".quCoItem .tableQuColItem tr td");
  627. var quCoItemTdSize=quCoItemTds.size();
  628. var cellCount=$("#dwCommonDialog input[name='setCellCount']").val();
  629. var rowCount=parseInt(quCoItemTdSize/cellCount);
  630. var remainder=quCoItemTdSize%cellCount;
  631. var tdWidth=parseInt(600/cellCount);
  632. var tdLabelWidth=tdWidth-10;
  633. if(remainder>0){
  634. rowCount=rowCount+1;
  635. }
  636. var tableHtmlBuild="<table class='tableQuColItem'>";
  637. for(var i=0;i<rowCount;i++){
  638. tableHtmlBuild+="<tr>";
  639. //0*2+(1)=1 0*2+(2)=2 1*2+(1)=3 1*2+(2)=4 2*2+1=5 2*2+2=6
  640. for(var j=0;j<cellCount;j++){
  641. var tdIndex=(i*cellCount)+j;
  642. if(tdIndex<quCoItemTdSize){
  643. var tdObj=$(quCoItemTds).get(tdIndex);
  644. tableHtmlBuild+="<td>"+$(tdObj).html()+"</td>";
  645. }else{
  646. tableHtmlBuild+="<td><div class='emptyTd'></div></td>";
  647. }
  648. }
  649. tableHtmlBuild+="</tr>";
  650. }
  651. tableHtmlBuild+="</table>";
  652. quItemBody.find(".quCoItem table.tableQuColItem").remove();
  653. quItemBody.find(".quCoItem").append(tableHtmlBuild);
  654. //设置亮度
  655. quItemBody.find(".quCoItem .tableQuColItem tr td").width(tdWidth);
  656. quItemBody.find(".quCoItem .tableQuColItem tr td label").width(tdLabelWidth);
  657. bindQuHoverItem();
  658. }
  659. $("#dwSurveyName").click(function(){
  660. editAble($(this));
  661. return false;
  662. });
  663. $("#dwSurveyNoteEdit").click(function(){
  664. editAble($(this));
  665. return false;
  666. });
  667. $(".dwComEditMenuBtn").click(function(){
  668. //dwComEditMenuBtn
  669. var dwMenuUl=$(".dwComEditMenuUl:visible");
  670. //根据当前编辑的对象
  671. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  672. var quType=quItemBody.find("input[name='quType']").val();
  673. var curEditClass=$(curEditObj).attr("class");
  674. if(quType=="RADIO" || quType=="CHECKBOX"){
  675. if(curEditClass.indexOf("quCoTitleEdit")<0){
  676. $(".dwComEditMenuUl .option_Set_Li").show();
  677. }else{
  678. $(".dwComEditMenuUl .option_Set_Li").hide();
  679. }
  680. }else{
  681. $(".dwComEditMenuUl .option_Set_Li").hide();
  682. }
  683. if(dwMenuUl[0]){
  684. $(".dwComEditMenuUl").hide();
  685. }else{
  686. $(".dwComEditMenuUl").show();
  687. }
  688. return false;
  689. });
  690. $("#dwCommonDialogClose").click(function(){
  691. dwCommonDialogHide();
  692. resetQuItemHover(null);
  693. });
  694. $("#dwComEditContent").keyup(function(){
  695. $(curEditObj).html($("#dwComEditContent").html());
  696. $(curEditObj).css("display","inline-block");
  697. var dwEditWidth=$(curEditObj).width();
  698. //var dwEditWidth=$("#dwComEditContent").width();
  699. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  700. var thClass=curEditObj.attr("class");
  701. if(thClass.indexOf("dwSvyNoteEdit")<0 && thClass.indexOf("dwSvyName")<0){
  702. var hv=quItemBody.find("input[name='hv']").val();
  703. if(hv==3){
  704. dwEditWidth>600?dwEditWidth=600:dwEditWidth;
  705. }else{
  706. dwEditWidth<200?dwEditWidth=200:dwEditWidth>600?dwEditWidth=600:dwEditWidth;
  707. }
  708. }else{
  709. dwEditWidth=680;
  710. }
  711. $("#dwCommonEditRoot .dwCommonEdit").css("width",dwEditWidth);
  712. if(curEditObj!=null){
  713. var editOffset=$(curEditObj).offset();
  714. $("#dwCommonEditRoot").show();
  715. $("#dwCommonEditRoot").offset({top:editOffset.top,left:editOffset.left});
  716. }
  717. });
  718. $("#previewBtn").click(function(){
  719. curEditCallback();
  720. dwCommonDialogHide();
  721. resetQuItemHover(null);
  722. saveSurvey(function(){
  723. isSaveProgress=false;
  724. window.location.href="/static/diaowen/preview.html?surveyId="+questionBelongId;
  725. });
  726. return false;
  727. });
  728. $("#saveBtn").click(function(){
  729. curEditCallback();
  730. dwCommonDialogHide();
  731. resetQuItemHover(null);
  732. notify("保存中...",5000);
  733. saveSurvey(function(){
  734. isSaveProgress=false;
  735. notify("保存成功",1000);
  736. });
  737. });
  738. $("#publishBtn").click(function(){
  739. curEditCallback();
  740. dwCommonDialogHide();
  741. resetQuItemHover(null);
  742. saveSurvey(function(){
  743. isSaveProgress=false;
  744. window.location.href="/static/diaowen/preview.html?surveyId="+questionBelongId;
  745. });
  746. });
  747. function saveSurvey(callback){
  748. isSaveProgress=true;
  749. var svyNmSaveTag=$("input[name='svyNmSaveTag']").val();
  750. var svyNoteSaveTag=$("input[name='svyNoteSaveTag']").val();
  751. var svyAttrSaveTag=$("input[name='svyAttrSaveTag']").val();
  752. if( svyNmSaveTag==="0" || svyNoteSaveTag==="0" || svyAttrSaveTag==="0" ){
  753. var url=ctx+"/design/survey-design/ajaxSave.do";
  754. var data="surveyId="+questionBelongId;
  755. if(svyNmSaveTag==="0"){
  756. var dwSurveyName=$("#dwSurveyName").html();
  757. dwSurveyName=escape(encodeURIComponent(dwSurveyName));
  758. data+="&svyName="+dwSurveyName;
  759. }
  760. if(svyNoteSaveTag==="0"){
  761. var dwSurveyNoteEdit=$("#dwSurveyNoteEdit").html();
  762. dwSurveyNoteEdit=escape(encodeURIComponent(dwSurveyNoteEdit));
  763. data+="&svyNote="+dwSurveyNoteEdit;
  764. }
  765. var effective=$("input[name='effective']:checked")[0]?"4":"0";
  766. var effectiveIp=$("input[name='effectiveIp']:checked")[0]?"1":"0";
  767. var rule=$("input[name='rule']:checked")[0]?"3":"0";
  768. var ruleCode=$("input[name='ruleCode']").val();
  769. var refresh=$("input[name='refresh']:checked")[0]?"1":"0";
  770. var mailOnly=$("input[name='mailOnly']:checked")[0]?"1":"0";
  771. var ynEndNum=$("input[name='ynEndNum']:checked")[0]?"1":"0";
  772. var ynEndTime=$("input[name='ynEndTime']:checked")[0]?"1":"0";
  773. var endTime=$("input[name='endTime']").val();
  774. var endNum=$("input[name='endNum']").val();
  775. var showShareSurvey=$("input[name='showShareSurvey']:checked")[0]?"1":"0";
  776. var showAnswerDa=$("input[name='showAnswerDa']:checked")[0]?"1":"0";
  777. data+="&effective="+effective+"&effectiveIp="+effectiveIp+"&rule="+rule+"&refresh="+refresh+"&ruleCode="+ruleCode+"&mailOnly="+mailOnly;
  778. data+="&ynEndNum="+ynEndNum+"&ynEndTime="+ynEndTime+"&endTime="+endTime+"&endNum="+endNum;
  779. data+="&showShareSurvey="+showShareSurvey+"&showAnswerDa="+showAnswerDa;
  780. $.ajax({
  781. url:url,
  782. data:data,
  783. type:"post",
  784. success:function(msg){
  785. $("input[name='svyNmSaveTag']").val(1);
  786. $("input[name='svyNoteSaveTag']").val(1);
  787. $("input[name='svyAttrSaveTag']").val(1);
  788. var fristQuItemBody=$("#dwSurveyQuContent .li_surveyQuItemBody").first();
  789. saveQus(fristQuItemBody,callback);
  790. }
  791. });
  792. }else{
  793. var fristQuItemBody=$("#dwSurveyQuContent .li_surveyQuItemBody").first();
  794. saveQus(fristQuItemBody,callback);
  795. }
  796. }
  797. querySurveyAll();
  798. resetQuItem();
  799. });
  800. function resetQuItem(){
  801. if(isDrag){
  802. isDrag=false;
  803. }
  804. var surveyQuItems=$("#dwSurveyQuContent .surveyQuItemBody");
  805. var indexNum=1;
  806. $.each(surveyQuItems,function(i){
  807. $(this).find(".quInputCase input[name='orderById']").val(i+1);
  808. var quType=$(this).find("input[name='quType']").val();
  809. if(quType!="PAGETAG" && quType!="PARAGRAPH"){
  810. $(this).find(".quCoTitle .quCoNum").text((indexNum++)+"、");
  811. }
  812. });
  813. var pageTags=$("#dwSurveyQuContent .surveyQuItemBody input[name='quType'][value='PAGETAG']");
  814. var pageTagSize=pageTags.size()+1;
  815. $.each(pageTags,function(i){
  816. var quItemBody=$(this).parents(".surveyQuItemBody");
  817. var pageQuContent=quItemBody.find(".pageQuContent");
  818. pageQuContent.text("下一页("+(i+1)+"/"+pageTagSize+")");
  819. });
  820. }
  821. function bindQuHoverItem(){
  822. $(".SeniorEdit").unbind();
  823. $(".SeniorEdit").click(function(){
  824. ueDialog.dialog( "open" );
  825. ueEditObj=curEditObj;
  826. myeditor.destroy();
  827. myeditor = null;
  828. myeditor = UE.getEditor("dialogUeditor",{
  829. //toolbars:[[]],
  830. initialContent: "",//初始化编辑器的内容
  831. elementPathEnabled:false,
  832. wordCount:false,
  833. autosave:false,
  834. //下面注释参数不要随便调,在滚动时效果更好
  835. //enableAutoSave:false,
  836. //autoHeightEnabled:false,
  837. //topOffset:60,
  838. //imagePopup:true,
  839. initialFrameWidth : 678,
  840. initialFrameHeight : 300
  841. });
  842. myeditor.ready(function(){
  843. setTimeout(function(){
  844. if(curEditObj!=null){
  845. myeditor.setContent($(curEditObj).html());
  846. myeditor.focus(true);
  847. }
  848. },800);
  849. });
  850. return false;
  851. });
  852. $(".option_Set").unbind();
  853. $(".option_Set").click(function(){
  854. /*var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  855. quItemBody.addClass("hover");*/
  856. //showDialog($(curEditObj));
  857. showUIDialog($(curEditObj));
  858. /*resetQuItemHover(quItemBody);
  859. $(this).parents(".quCoItemUlLi").addClass("menuBtnClick");*/
  860. return false;
  861. });
  862. $("#dwSurveyQuContent .surveyQuItemBody").unbind();
  863. $("#dwSurveyQuContent .surveyQuItemBody").hover(function(){
  864. if(isDrag){
  865. appQuObj=$(this);
  866. }else{
  867. $(this).addClass("hover");
  868. $(".pageBorderTop").removeClass("nohover");
  869. appQuObj=$(this);
  870. }
  871. },function(){
  872. $(".pageBorderTop").addClass("nohover");
  873. $(this).removeClass("showLine");
  874. var hoverTag=$(this).find("input[name='hoverTag']").val();
  875. if(hoverTag!="hover"){
  876. $(this).removeClass("hover");
  877. }
  878. appQuObj=null;
  879. });
  880. $("#dwSurveyQuContent .surveyQuItemBody").click(function(){
  881. curEditCallback();
  882. dwCommonDialogHide();
  883. $(".surveyQuItemBody").removeClass("hover");
  884. $(".surveyQuItemBody").find("input[name='hoverTag']").val("0");
  885. $(this).addClass("hover");
  886. return false;
  887. });
  888. $(".quCoItemUlLi").unbind();
  889. $(".quCoItemUlLi").hover(function(){
  890. if(!isDrag){
  891. $(this).addClass("hover");
  892. }
  893. },function(){
  894. var thClass=$(this).attr("class");
  895. if(thClass.indexOf("menuBtnClick")<=0){
  896. $(this).removeClass("hover");
  897. }
  898. });
  899. $("#dwSurveyQuContent .editAble").unbind();
  900. $("#dwSurveyQuContent .editAble").click(function(){
  901. editAble($(this));
  902. return false;
  903. });
  904. $(".dwQuDelete").unbind();
  905. $(".dwQuDelete").click(function(){
  906. var quBody=$(this).parents(".surveyQuItemBody");
  907. if(confirm("确认要删除此题吗?")){
  908. var quId=quBody.find("input[name='quId']").val();
  909. if(quId!=""){
  910. var url=ctx+"/design/question/ajaxDelete.do";
  911. var data="quId="+quId;
  912. $.ajax({
  913. url:url,
  914. data:data,
  915. type:"post",
  916. success:function(msg){
  917. if(msg=="true"){
  918. quBody.hide("slow",function(){$(this).parent().remove();resetQuItem();});
  919. }else{
  920. alert("删除失败,请重试!");
  921. }
  922. }
  923. });
  924. }else{
  925. quBody.hide("slow",function(){$(this).parent().remove();resetQuItem();});
  926. }
  927. }
  928. return false;
  929. });
  930. $(".questionUp").unbind();
  931. $(".questionUp").click(function(){
  932. var nextQuBody=$(this).parents(".li_surveyQuItemBody");
  933. var prevQuBody=$(nextQuBody).prev();
  934. if(prevQuBody[0]){
  935. var prevQuBodyHtml=prevQuBody.html();
  936. $(nextQuBody).after("<li class='li_surveyQuItemBody'>"+prevQuBodyHtml+"</li>");
  937. var newNextObj=$(nextQuBody).next();
  938. newNextObj.hide();
  939. newNextObj.slideDown("slow");
  940. prevQuBody.slideUp("slow",function(){prevQuBody.remove();resetQuItem();bindQuHoverItem();});
  941. nextQuBody.find("input[name='saveTag']").val(0);
  942. newNextObj.find("input[name='saveTag']").val(0);
  943. }else{
  944. notify("已经是第一个了!",1000);
  945. //alert("已经是第一个了!");
  946. }
  947. });
  948. $(".questionDown").unbind();
  949. $(".questionDown").click(function(){
  950. var prevQuBody=$(this).parents(".li_surveyQuItemBody");
  951. var nextQuBody=$(prevQuBody).next();
  952. if(nextQuBody[0]){
  953. var nextQuBodyHtml=nextQuBody.html();
  954. $(prevQuBody).before("<li class='li_surveyQuItemBody' >"+nextQuBodyHtml+"</li>");
  955. var newPrevObj=$(prevQuBody).prev();
  956. newPrevObj.hide();
  957. newPrevObj.slideDown("slow");
  958. nextQuBody.slideUp("slow",function(){nextQuBody.remove();resetQuItem();bindQuHoverItem();});
  959. prevQuBody.find("input[name='saveTag']").val(0);
  960. newPrevObj.find("input[name='saveTag']").val(0);
  961. }else{
  962. alert("已经是最后一个了!");
  963. }
  964. });
  965. $(".dwQuSet").unbind();
  966. $(".dwQuSet").click(function(){
  967. showDialog($(this));
  968. var quItemBody=$(this).parents(".surveyQuItemBody");
  969. resetQuItemHover(quItemBody);
  970. validateGen();
  971. return false;
  972. });
  973. $(".dwQuLogic").unbind();
  974. $(".dwQuLogic").click(function(){
  975. showDialog($(this));
  976. var quItemBody=$(this).parents(".surveyQuItemBody");
  977. var quType=quItemBody.find("input[name='quType']").val();
  978. var fristQuItemBody=$("#dwSurveyQuContent .li_surveyQuItemBody").first();
  979. saveQus(fristQuItemBody,function(){
  980. $(".dwQuDialogCon").hide();
  981. $("#dwCommonDialog .dwQuDialogLogic").show();
  982. resetQuItemHover(quItemBody);
  983. bindDialogRemoveLogic();
  984. $("#dwQuLogicTable").empty();
  985. //逻辑数据回显示
  986. var quLogicItems=quItemBody.find(".quLogicItem");
  987. if(quLogicItems[0]){
  988. $.each(quLogicItems,function(){
  989. var skQuId=$(this).find("input[name='skQuId']").val();
  990. var cgQuItemId=$(this).find("input[name='cgQuItemId']").val();
  991. var logicType=$(this).find("input[name='logicType']").val();
  992. // 设置分数 geLe scoreNum
  993. var geLe="";
  994. var scoreNum="";
  995. var thClass=$(this).attr("class");
  996. thClass=thClass.replace("quLogicItem", "");
  997. thClass=thClass.replace(" ", "");
  998. addQuDialogLogicTr(false,function(){
  999. var lastTr=$("#dwQuLogicTable").find("tr").last();
  1000. lastTr.attr("class",thClass);
  1001. lastTr.find(".logicQuOptionSel").val(cgQuItemId);
  1002. lastTr.find(".logicQuSel").val(skQuId);
  1003. lastTr.find(".logicType").val(logicType);
  1004. lastTr.find(".logicQuOptionSel").change();
  1005. lastTr.find(".logicQuSel").change();
  1006. },function(){});
  1007. });
  1008. }else{
  1009. $(".dwQuDialogAddLogic").click();
  1010. }
  1011. });
  1012. return false;
  1013. });
  1014. $(".addOption,.addColumnOption,.addRowOption").unbind();
  1015. $(".addOption,.addColumnOption,.addRowOption").click(function(){
  1016. var quItemBody=$(this).parents(".surveyQuItemBody");
  1017. var quType=quItemBody.find("input[name='quType']").val();
  1018. if(quType=="RADIO"){
  1019. editAble(addRadioItem(quItemBody,""));
  1020. }else if(quType=="CHECKBOX"){
  1021. editAble(addCheckboxItem(quItemBody, ""));
  1022. }else if(quType=="ORDERQU"){
  1023. editAble(addOrderquItem(quItemBody, "新选项"));
  1024. }else if(quType=="MULTIFILLBLANK"){
  1025. editAble(addMultiFillblankItem(quItemBody, "新选项"));
  1026. }else if(quType=="SCORE"){
  1027. editAble(addScoreItem(quItemBody, "新选项"));
  1028. }
  1029. bindQuHoverItem();
  1030. return false;
  1031. });
  1032. $(".addMoreOption,.addMoreRowOption,.addMoreColumnOption").unbind();
  1033. $(".addMoreOption,.addMoreRowOption,.addMoreColumnOption").click(function(){
  1034. showDialog($(this));
  1035. var quItemBody=$(this).parents(".surveyQuItemBody");
  1036. resetQuItemHover(quItemBody);
  1037. return false;
  1038. });
  1039. $(".quFillblankItem .dwFbMenuBtn").unbind();
  1040. $(".quFillblankItem .dwFbMenuBtn").click(function(){
  1041. showUIDialog($(this));
  1042. return false;
  1043. });
  1044. $(".dwOptionUp").unbind();
  1045. $(".dwOptionUp").click(function(){
  1046. //curEditObj
  1047. //判断类型区别table跟ul中的排序
  1048. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  1049. var quType=quItemBody.find("input[name='quType']").val();
  1050. var hv=quItemBody.find("input[name='hv']").val();
  1051. if(hv==3){
  1052. var nextTd=$(curEditObj).parents("td");
  1053. var prevTd=nextTd.prev();
  1054. if(prevTd[0]){
  1055. dwOptionUp(prevTd, nextTd);
  1056. }else{
  1057. var nextTr=$(curEditObj).parents("tr");
  1058. var prevTr=nextTr.prev();
  1059. if(prevTr[0]){
  1060. prevTd=prevTr.find("td").last();
  1061. dwOptionUp_1(prevTr, nextTr);
  1062. }else{
  1063. alert("已经是第一个了!");
  1064. }
  1065. }
  1066. }else{
  1067. var nextLi=null;
  1068. var prevLi=null;
  1069. var nextLiAfterHtml="";
  1070. if(quType==="RADIO" || quType==="CHECKBOX" || quType==="ORDERQU"){
  1071. nextLi=$(curEditObj).parents("li.quCoItemUlLi");
  1072. prevLi=nextLi.prev();
  1073. var prevLiHtml=prevLi.html();
  1074. nextLiAfterHtml="<li class='quCoItemUlLi'>"+prevLiHtml+"</li>";
  1075. }else if(quType==="MULTIFILLBLANK"){
  1076. nextLi=$(curEditObj).parents("tr.mFillblankTableTr");
  1077. prevLi=nextLi.prev();
  1078. var prevLiHtml=prevLi.html();
  1079. nextLiAfterHtml="<tr class='mFillblankTableTr'>"+prevLiHtml+"</tr>";
  1080. }else if(quType==="SCORE"){
  1081. nextLi=$(curEditObj).parents("tr.quScoreOptionTr");
  1082. prevLi=nextLi.prev();
  1083. var prevLiHtml=prevLi.html();
  1084. nextLiAfterHtml="<tr class='quScoreOptionTr'>"+prevLiHtml+"</tr>";
  1085. }
  1086. if(nextLi!=null){
  1087. if(prevLi[0]){
  1088. $(nextLi).after(nextLiAfterHtml);
  1089. prevLi.hide();
  1090. prevLi.remove();
  1091. var editOffset=nextLi.find("label.editAble").offset();
  1092. $("#dwCommonEditRoot").show();
  1093. $("#dwCommonEditRoot").offset({top:editOffset.top,left:editOffset.left});
  1094. bindQuHoverItem();
  1095. $(curEditObj).click();
  1096. $(nextLi).find("input[name='quItemSaveTag']").val(0);
  1097. $(nextLi).next().find("input[name='quItemSaveTag']").val(0);
  1098. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  1099. quItemBody.find("input[name='saveTag']").val(0);
  1100. }else{
  1101. alert("已经是第一个了!");
  1102. }
  1103. }
  1104. }
  1105. return false;
  1106. });
  1107. function dwOptionUp(prevTd,nextTd){
  1108. var prevTdHtml=prevTd.html();
  1109. $(nextTd).after("<td>"+prevTdHtml+"</td>");
  1110. prevTd.hide();
  1111. prevTd.remove();
  1112. var editOffset=nextTd.find("label.editAble").offset();
  1113. $("#dwCommonEditRoot").show();
  1114. $("#dwCommonEditRoot").offset({top:editOffset.top,left:editOffset.left});
  1115. bindQuHoverItem();
  1116. $(curEditObj).click();
  1117. $(nextTd).find("input[name='quItemSaveTag']").val(0);
  1118. $(nextTd).next().find("input[name='quItemSaveTag']").val(0);
  1119. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  1120. quItemBody.find("input[name='saveTag']").val(0);
  1121. }
  1122. function dwOptionUp_1(prevTr,nextTr){
  1123. var prevTd=prevTr.find("td").last();
  1124. var nextTd=nextTr.find("td").first();
  1125. var prevTdHtml=prevTd.html();
  1126. var nextTdHtml=nextTd.html();
  1127. prevTd.before("<td>"+nextTdHtml+"</td>");
  1128. $(nextTd).after("<td>"+prevTdHtml+"</td>");
  1129. prevTd.hide();
  1130. prevTd.remove();
  1131. nextTd.hide();
  1132. nextTd.remove();
  1133. prevTd=prevTr.find("td").last();
  1134. nextTd=nextTr.find("td").first();
  1135. curEditObj=prevTd.find("label.editAble");
  1136. var editOffset=prevTd.find("label.editAble").offset();
  1137. $("#dwCommonEditRoot").show();
  1138. $("#dwCommonEditRoot").offset({top:editOffset.top,left:editOffset.left});
  1139. bindQuHoverItem();
  1140. $(curEditObj).click();
  1141. $(prevTd).find("input[name='quItemSaveTag']").val(0);
  1142. $(nextTd).find("input[name='quItemSaveTag']").val(0);
  1143. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  1144. quItemBody.find("input[name='saveTag']").val(0);
  1145. }
  1146. $(".dwOptionDown").unbind();
  1147. $(".dwOptionDown").click(function(){
  1148. //判断类型区别table跟ul中的排序
  1149. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  1150. var quType=quItemBody.find("input[name='quType']").val();
  1151. var hv=quItemBody.find("input[name='hv']").val();
  1152. if(hv==3){
  1153. var prevTd=$(curEditObj).parents("td");
  1154. var nextTd=prevTd.next();
  1155. if(nextTd[0]){
  1156. dwOptionDown(prevTd, nextTd);
  1157. }else{
  1158. var nextTr=$(curEditObj).parents("tr");
  1159. var prevTr=nextTr.prev();
  1160. if(prevTr[0]){
  1161. prevTd=prevTr.find("td").last();
  1162. dwOptionUp_1(prevTr, nextTr);
  1163. }else{
  1164. alert("已经是第一个了!");
  1165. }
  1166. }
  1167. }else{
  1168. var prevLi=null;
  1169. var nextLi=null;
  1170. var prevLiBeforeHtml="";
  1171. if(quType==="RADIO" || quType==="CHECKBOX" || quType==="ORDERQU"){
  1172. prevLi=$(curEditObj).parents("li.quCoItemUlLi");
  1173. nextLi=prevLi.next();
  1174. var nextLiHtml=nextLi.html();
  1175. prevLiBeforeHtml="<li class='quCoItemUlLi'>"+nextLiHtml+"</li>";
  1176. }else if(quType==="MULTIFILLBLANK"){
  1177. prevLi=$(curEditObj).parents("tr.mFillblankTableTr");
  1178. nextLi=prevLi.next();
  1179. var nextLiHtml=nextLi.html();
  1180. prevLiBeforeHtml="<tr class='mFillblankTableTr'>"+nextLiHtml+"</tr>";
  1181. }else if(quType==="SCORE"){
  1182. prevLi=$(curEditObj).parents("tr.quScoreOptionTr");
  1183. nextLi=prevLi.next();
  1184. var nextLiHtml=nextLi.html();
  1185. prevLiBeforeHtml="<tr class='quScoreOptionTr'>"+nextLiHtml+"</tr>";
  1186. }
  1187. if(nextLi[0]){
  1188. $(prevLi).before(prevLiBeforeHtml);
  1189. nextLi.hide();
  1190. nextLi.remove();
  1191. var editOffset=prevLi.find("label.editAble").offset();
  1192. $("#dwCommonEditRoot").show();
  1193. $("#dwCommonEditRoot").offset({top:editOffset.top,left:editOffset.left});
  1194. bindQuHoverItem();
  1195. $(curEditObj).click();
  1196. $(prevLi).find("input[name='quItemSaveTag']").val(0);
  1197. $(prevLi).prev().find("input[name='quItemSaveTag']").val(0);
  1198. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  1199. quItemBody.find("input[name='saveTag']").val(0);
  1200. }else{
  1201. alert("已经是最后一个了!");
  1202. }
  1203. }
  1204. return false;
  1205. });
  1206. function dwOptionDown(prevTd,nextTd){
  1207. var nextTdHtml=nextTd.html();
  1208. $(prevTd).before("<td>"+nextTdHtml+"</td>");
  1209. nextTd.hide();
  1210. nextTd.remove();
  1211. var editOffset=prevTd.find("label.editAble").offset();
  1212. $("#dwCommonEditRoot").show();
  1213. $("#dwCommonEditRoot").offset({top:editOffset.top,left:editOffset.left});
  1214. bindQuHoverItem();
  1215. $(curEditObj).click();
  1216. $(prevTd).find("input[name='quItemSaveTag']").val(0);
  1217. $(prevTd).next().find("input[name='quItemSaveTag']").val(0);
  1218. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  1219. quItemBody.find("input[name='saveTag']").val(0);
  1220. }
  1221. $(".dwOptionDel").unbind();
  1222. $(".dwOptionDel").click(function(){
  1223. deleteDwOption();
  1224. return false;
  1225. });
  1226. //引用自address.js
  1227. bindAddrChange();
  1228. }
  1229. function deleteDwOption(){
  1230. if(curEditObj!=null){
  1231. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  1232. var quType=quItemBody.find("input[name='quType']").val();
  1233. if(quType=="RADIO"){
  1234. //添加单选选项
  1235. deleteRadioOption();
  1236. }else if(quType=="CHECKBOX"){
  1237. deleteCheckboxOption();
  1238. }else if(quType=="ORDERQU"){
  1239. deleteOrderquOption();
  1240. }else if(quType=="MULTIFILLBLANK"){
  1241. deleteMultiFillblankOption();
  1242. }else if(quType=="SCORE"){
  1243. deleteScoreOption();
  1244. }
  1245. }
  1246. }
  1247. function curEditCallback(){
  1248. if(curEditObj!=null){
  1249. var dwEditHtml=$("#dwComEditContent").html();
  1250. //var curEditObjHtml=$(curEditObj).html();
  1251. setCurEditContent(dwEditHtml);
  1252. }
  1253. $("#dwSurveyNote").removeClass("click");
  1254. }
  1255. function setCurEditContent(dwEditHtml){
  1256. var thClass=$(curEditObj).attr("class");
  1257. if(dwEditHtml=="" && thClass.indexOf("dwSvyNoteEdit")<0){
  1258. deleteDwOption();
  1259. }else if(dwEditHtml!=curEditObjOldHtml){
  1260. //更新值
  1261. $(curEditObj).html(dwEditHtml);
  1262. //修改保存状态
  1263. setSaveTag0();
  1264. }
  1265. dwCommonEditHide();
  1266. }
  1267. function dwCommonEditHide(){
  1268. $("#dwCommonEditRoot").hide();
  1269. $(".dwComEditMenuUl").hide();
  1270. curEditObj=null;
  1271. }
  1272. function setShowDialogOffset(thDialogObj){
  1273. var thObjClass=thDialogObj.attr("class");
  1274. if(thObjClass.indexOf("dwFbMenuBtn")<0 && thObjClass.indexOf("quCoOptionEdit")<0){
  1275. var thOffset=thDialogObj.offset();
  1276. $("#dwCommonDialog").show(0,function(){
  1277. var thOffsetTop=thOffset.top;
  1278. var thOffsetLeft=thOffset.left+40;
  1279. var dwCommonRefIcon=$("#dwCommonDialog").find(".dwCommonRefIcon");
  1280. dwCommonRefIcon.removeClass("right");
  1281. dwCommonRefIcon.removeClass("left");
  1282. browseWidth=$(window).width();
  1283. browseHeight=$(window).height();
  1284. if((thOffsetLeft-100)>browseWidth/2){
  1285. thOffsetLeft=thOffsetLeft-$("#dwCommonDialog").width()-50;
  1286. dwCommonRefIcon.addClass("right");
  1287. }else{
  1288. dwCommonRefIcon.addClass("left");
  1289. }
  1290. $("#dwCommonDialog").offset({ top: thOffsetTop, left: thOffsetLeft });
  1291. });
  1292. }
  1293. }
  1294. //显示模式窗口
  1295. function showUIDialog(thDialogObj,dwSurveyDialogClass){
  1296. $("#modelUIDialog").dialog("open");
  1297. $(".dwQuDialogCon").hide();
  1298. if(dwSurveyDialogClass!=null){
  1299. $("#modelUIDialog ."+dwSurveyDialogClass).show();
  1300. $("#modelUIDialog").dialog("option","title","数据加载中");
  1301. }else{
  1302. var thObjClass=thDialogObj.attr("class");
  1303. if(thObjClass.indexOf("dwFbMenuBtn")>=0){
  1304. $("#modelUIDialog .dwQuFillDataTypeOption").show();
  1305. $("#modelUIDialog").dialog("open");
  1306. var quItemBody=$(thDialogObj).parents(".surveyQuItemBody");
  1307. var checkType_val=quItemBody.find("input[name='checkType']").val();
  1308. var answerInputWidth_val=quItemBody.find("input[name='answerInputWidth']").val();
  1309. var answerInputRow_val=quItemBody.find("input[name='answerInputRow']").val();
  1310. var paramInt01=quItemBody.find("input[name='paramInt01']");
  1311. if(checkType_val==""){
  1312. checkType_val="NO";
  1313. }
  1314. var qu_inputWidth=$("#modelUIDialog input[name='qu_inputWidth']");
  1315. var qu_inputRow=$("#modelUIDialog input[name='qu_inputRow']");
  1316. var quFill_checkType=$("#modelUIDialog select[name='quFill_checkType']");
  1317. if(answerInputWidth_val==""){
  1318. answerInputWidth_val="300";
  1319. }
  1320. if(answerInputRow_val==""){
  1321. answerInputRow_val="1";
  1322. }
  1323. qu_inputWidth.val(answerInputWidth_val);
  1324. qu_inputRow.val(answerInputRow_val);
  1325. quFill_checkType.val(checkType_val);
  1326. $("#modelUIDialog .dwQuFillDataTypeOption .option_range_date_li").hide();
  1327. if(checkType_val==="DATE"){
  1328. $("#modelUIDialog .dwQuFillDataTypeOption .option_range_date_li").show();
  1329. if(paramInt01[0]){
  1330. $("#modelUIDialog .dwQuFillDataTypeOption .option_range_date_li .option_range_date").val(paramInt01.val());
  1331. }
  1332. }
  1333. resetQuItemHover(quItemBody);
  1334. $(thDialogObj).parents(".quCoItemUlLi").addClass("menuBtnClick");
  1335. $("#modelUIDialog").dialog("option","height",260);
  1336. }else if(thObjClass.indexOf("quCoOptionEdit")>=0) {
  1337. $("#modelUIDialog .dwQuRadioCheckboxOption").show();
  1338. //设置回显值 isNote checkType
  1339. var quOption_isNote=$("#modelUIDialog input[name='quOption_isNote']");
  1340. var quOption_checkType=$("#modelUIDialog select[name='quOption_checkType']");
  1341. var quOption_isRequiredFill=$("#modelUIDialog input[name='quOption_isRequiredFill']");
  1342. var quOptionParent=$(thDialogObj).parent();
  1343. var isNote_val=quOptionParent.find("input[name='isNote']").val();
  1344. var checkType_val=quOptionParent.find("input[name='checkType']").val();
  1345. var isRequiredFill_val=quOptionParent.find("input[name='isRequiredFill']").val();
  1346. if(isNote_val=="1"){
  1347. quOption_isNote.prop("checked",true);
  1348. $(".quOptionFillContentLi,.quOptionFillRequiredLi").show();
  1349. $("#modelUIDialog").dialog("option","height",250);
  1350. }else{
  1351. quOption_isNote.prop("checked",false);
  1352. $(".quOptionFillContentLi,.quOptionFillRequiredLi").hide();
  1353. $("#modelUIDialog").dialog("option","height",180);
  1354. }
  1355. if(checkType_val==""){
  1356. checkType_val="NO";
  1357. }
  1358. quOption_checkType.val(checkType_val);
  1359. if(isRequiredFill_val=="1"){
  1360. quOption_isRequiredFill.prop("checked",true);
  1361. }else{
  1362. quOption_isRequiredFill.prop("checked",false);
  1363. }
  1364. }else if(thObjClass.indexOf("surveyAttrSetToolbar_li")>=0){
  1365. $("#modelUIDialog .dwSurveyAttrSetDialog").show();
  1366. $("#modelUIDialog").dialog("option","height",390);
  1367. }
  1368. }
  1369. dwDialogObj=thDialogObj;
  1370. }
  1371. //显示弹出层
  1372. function showDialog(thDialogObj){
  1373. var thObjClass=thDialogObj.attr("class");
  1374. curEditCallback();
  1375. setShowDialogOffset(thDialogObj);
  1376. var quItemBody=$(thDialogObj).parents(".surveyQuItemBody");
  1377. $("#dwCommonDialog .dwQuDialogCon").hide();
  1378. if(thObjClass.indexOf("addMoreOption")>=0){
  1379. $("#dwCommonDialog .dwQuAddMore").show();
  1380. }else if(thObjClass.indexOf("dwQuSet")>=0){
  1381. $("#dwCommonDialog .dwQuSetCon").show();
  1382. var quType=quItemBody.find("input[name='quType']").val();
  1383. var isRequired=quItemBody.find("input[name='isRequired']").val();
  1384. var hv=quItemBody.find("input[name='hv']").val();
  1385. var randOrder=quItemBody.find("input[name='randOrder']").val();
  1386. var cellCount=quItemBody.find("input[name='cellCount']").val();
  1387. var paramInt01=quItemBody.find("input[name='paramInt01']");
  1388. var paramInt02=quItemBody.find("input[name='paramInt02']");
  1389. var contactsAttr=quItemBody.find("input[name='contactsAttr']").val();
  1390. var contactsField=quItemBody.find("input[name='contactsField']").val();
  1391. $("#dwCommonDialog input[name='setIsRequired']").prop("checked",false);
  1392. $("#dwCommonDialog input[name='setRandOrder']").prop("checked",false);
  1393. $("#dwCommonDialog select[name='setHv']").val(2);
  1394. $("#dwCommonDialog input[name='setAutoContacts']").prop("checked",false);
  1395. $("#dwCommonDialog .contactsFieldLi").hide();
  1396. $("#dwCommonDialog .contactsAttrLi").hide();
  1397. $("#dwCommonDialog .optionAutoOrder").hide();
  1398. $("#dwCommonDialog .optionRangeHv").hide();
  1399. $("#dwCommonDialog .scoreMinMax").hide();
  1400. $("#dwCommonDialog .minMaxLi").hide();
  1401. if(isRequired==1){
  1402. $("#dwCommonDialog input[name='setIsRequired']").prop("checked",true);
  1403. }
  1404. if(randOrder==1){
  1405. $("#dwCommonDialog input[name='setRandOrder']").prop("checked",true);
  1406. }
  1407. if(hv==3){
  1408. $("#dwCommonDialog .option_range_3").show();
  1409. }else{
  1410. $("#dwCommonDialog .option_range_3").hide();
  1411. }
  1412. $("#dwCommonDialog select[name='setHv']").val(hv);
  1413. $("#dwCommonDialog input[name='setCellCount']").val(cellCount);
  1414. //单选,多选 才启用选项随机排列
  1415. if(quType==="RADIO" || quType==="CHECKBOX"){
  1416. $("#dwCommonDialog .optionRangeHv").show();
  1417. }else if(quType==="ORDERQU"){
  1418. }else if(quType==="SCORE"){
  1419. $("#dwCommonDialog .scoreMinMax").show();
  1420. if(paramInt02[0]){
  1421. $("#dwCommonDialog .scoreMinMax .maxScore").val(paramInt02.val());
  1422. }
  1423. }else if(quType==="MULTIFILLBLANK"){
  1424. $("#dwCommonDialog .minMaxLi").show();
  1425. $("#dwCommonDialog .minMaxLi .minSpan .lgleftLabel").text("最少回答");
  1426. $("#dwCommonDialog .minMaxLi .maxSpan").hide();
  1427. $("#dwCommonDialog .minMaxLi .lgRightLabel").text("项");
  1428. if(paramInt01[0]){
  1429. $("#dwCommonDialog .minMaxLi .minNum").val(paramInt01.val());
  1430. }
  1431. }
  1432. //单选,多选,填空题情况下才启用关联到联系设置项
  1433. if((quType=="RADIO" || quType=="CHECKBOX" || quType=="FILLBLANK")){
  1434. if( contactsAttr==1){
  1435. $("#dwCommonDialog input[name='setAutoContacts']").prop("checked",true);
  1436. $("#dwCommonDialog .contactsFieldLi").show();
  1437. $("#dwCommonDialog select[name='setContactsField']").val(contactsField);
  1438. }
  1439. }
  1440. }else if(thObjClass.indexOf("dwQuLogic")>=0){
  1441. $("#dwCommonDialog .dwQuDialogLoad").show();
  1442. }else if(thObjClass.indexOf("dwFbMenuBtn")>=0){
  1443. $("#dwCommonDialog .dwQuFillDataTypeOption").show();
  1444. var checkType_val=quItemBody.find("input[name='checkType']").val();
  1445. if(checkType_val==""){
  1446. checkType_val="NO";
  1447. }
  1448. var checkType=$("#dwCommonDialog select[name='quFill_checkType']");
  1449. checkType.val(checkType_val);
  1450. }else if(thObjClass.indexOf("quCoOptionEdit")>=0){
  1451. $("#dwCommonDialog .dwQuRadioCheckboxOption").show();
  1452. var quOption_isNote=$("#dwCommonDialog input[name='quOption_isNote']");
  1453. var quOption_checkType=$("#dwCommonDialog select[name='quOption_checkType']");
  1454. var quOption_isRequiredFill=$("#dwCommonDialog input[name='quOption_isRequiredFill']");
  1455. var quOptionParent=$(thDialogObj).parent();
  1456. var isNote_val=quOptionParent.find("input[name='isNote']").val();
  1457. var checkType_val=quOptionParent.find("input[name='checkType']").val();
  1458. var isRequiredFill_val=quOptionParent.find("input[name='isRequiredFill']").val();
  1459. if(isNote_val=="1"){
  1460. quOption_isNote.prop("checked",true);
  1461. $(".quOptionFillContentLi,.quOptionFillRequiredLi").show();
  1462. }else{
  1463. quOption_isNote.prop("checked",false);
  1464. $(".quOptionFillContentLi,.quOptionFillRequiredLi").hide();
  1465. }
  1466. if(checkType_val==""){
  1467. checkType_val="NO";
  1468. }
  1469. quOption_checkType.val(checkType_val);
  1470. if(isRequiredFill_val=="1"){
  1471. quOption_isRequiredFill.prop("checked",true);
  1472. }else{
  1473. quOption_isRequiredFill.prop("checked",false);
  1474. }
  1475. }else{
  1476. //暂时加的
  1477. $("#dwCommonDialog .dwQuAddMore").show();
  1478. }
  1479. dwDialogObj=thDialogObj;
  1480. }
  1481. function dwCommonDialogHide(){
  1482. $("#dwCommonDialog").hide();
  1483. $(".menuBtnClick").removeClass("menuBtnClick");
  1484. dwDialogObj=null;
  1485. }
  1486. function resetQuItemHover(quItemBody){
  1487. $(".surveyQuItemBody").removeClass("hover");
  1488. $(".surveyQuItemBody").find("input[name='hoverTag']").val("0");
  1489. if(quItemBody!=null){
  1490. quItemBody.addClass("hover");
  1491. quItemBody.find("input[name='hoverTag']").val("hover");
  1492. }
  1493. }
  1494. function setSaveTag0(){
  1495. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  1496. quItemBody.find("input[name='saveTag']").val(0);
  1497. var thClass=$(curEditObj).attr("class");
  1498. if(thClass.indexOf("quCoTitleEdit")>0){
  1499. //题目标题
  1500. $(curEditObj).parent().find("input[name='quTitleSaveTag']").val(0);
  1501. }else if(thClass.indexOf("quCoOptionEdit")>0){
  1502. //题目选项
  1503. $(curEditObj).parent().find("input[name='quItemSaveTag']").val(0);
  1504. }else if(thClass.indexOf("dwSvyNoteEdit")>=0){
  1505. //问卷欢迎语
  1506. $("input[name='svyNoteSaveTag']").val(0);
  1507. }else if(thClass.indexOf("dwSvyName")>=0){
  1508. $("input[name='svyNmSaveTag']").val(0);
  1509. }
  1510. }
  1511. //触发显示编辑框
  1512. function editAble(editAbleObj){
  1513. dwCommonDialogHide();
  1514. curEditCallback();
  1515. var quItemBody=$(editAbleObj).parents(".surveyQuItemBody");
  1516. resetQuItemHover(quItemBody);
  1517. var thClass=$(editAbleObj).attr("class");
  1518. var editOffset=$(editAbleObj).offset();
  1519. $("#dwCommonEditRoot").removeClass();
  1520. if(thClass.indexOf("quCoTitleEdit")>0){
  1521. //题目标题
  1522. $("#dwCommonEditRoot").addClass("quEdit");
  1523. }else if(thClass.indexOf("quCoOptionEdit")>0){
  1524. //题目选项
  1525. $("#dwCommonEditRoot").addClass("quOptionEdit");
  1526. }else if(thClass.indexOf("dwSvyNoteEdit")>=0){
  1527. //问卷欢迎语
  1528. $("#dwCommonEditRoot").addClass("svyNoteEdit");
  1529. }else if(thClass.indexOf("dwSvyName")>=0){
  1530. $("#dwCommonEditRoot").addClass("svyName");
  1531. }
  1532. $("#dwCommonEditRoot").show();
  1533. $("#dwCommonEditRoot").offset({top:editOffset.top,left:editOffset.left});
  1534. $("#dwComEditContent").focus();
  1535. $("#dwComEditContent").html($(editAbleObj).html());
  1536. var dwEditWidth=$(editAbleObj).width();
  1537. //dwEditWidth<200?dwEditWidth=200:dwEditWidth;
  1538. if(thClass.indexOf("dwSvyNoteEdit")<0 && thClass.indexOf("dwSvyName")<0){
  1539. var hv=quItemBody.find("input[name='hv']").val();
  1540. if(hv==3){
  1541. var dwEditText=$(editAbleObj).text();
  1542. if(dwEditText==""){
  1543. dwEditWidth=$(editAbleObj).parents("td").width()-52;
  1544. }
  1545. dwEditWidth>600?dwEditWidth=600:dwEditWidth;
  1546. }else{
  1547. dwEditWidth<200?dwEditWidth=200:dwEditWidth>600?dwEditWidth=600:dwEditWidth;
  1548. }
  1549. }else{
  1550. dwEditWidth=680;
  1551. }
  1552. $("#dwCommonEditRoot .dwCommonEdit").css("width",dwEditWidth);
  1553. setSelectText($("#dwComEditContent"));
  1554. curEditObj=$(editAbleObj);
  1555. curEditObjOldHtml=$(editAbleObj).html();
  1556. }
  1557. function resizeWrapSize(){
  1558. if(browseWidth<950){
  1559. $("#wrap").width(950);
  1560. $("#tools_wrap").width(950);
  1561. }else{
  1562. $("#wrap").width("100%");
  1563. $("#tools_wrap").width("100%");
  1564. }
  1565. if(browseWidth<780){
  1566. $("#dw_body_content").offset({left:0});
  1567. }else{
  1568. var leftOffset=(browseWidth-780)/2;
  1569. $("#dw_body_content").offset({left:leftOffset});
  1570. }
  1571. }
  1572. function saveQus(quItemBody,callback){
  1573. if(quItemBody[0]){
  1574. var quTypeObj = quItemBody.find("input[name='quType']");
  1575. if(quTypeObj[0]){
  1576. var quType=quTypeObj.val();
  1577. if(quType=="RADIO"){
  1578. saveRadio(quItemBody,callback);
  1579. }else if(quType=="CHECKBOX"){
  1580. saveCheckbox(quItemBody, callback);
  1581. }else if(quType=="FILLBLANK"){
  1582. saveFillblank(quItemBody, callback);
  1583. }else if(quType=="ORDERQU"){
  1584. saveOrderqu(quItemBody, callback);
  1585. }else if(quType=="PAGETAG"){
  1586. savePagetag(quItemBody, callback);
  1587. }else if(quType=="PARAGRAPH"){
  1588. saveParagraph(quItemBody, callback);
  1589. }else if(quType=="MULTIFILLBLANK"){
  1590. saveMultiFillblank(quItemBody, callback);
  1591. }else if(quType=="SCORE"){
  1592. saveScore(quItemBody, callback);
  1593. }else{
  1594. callback();
  1595. }
  1596. }else{
  1597. callback();
  1598. }
  1599. }else{
  1600. callback();
  1601. }
  1602. }
  1603. //*****单选题****//
  1604. /**
  1605. ** 新保存单选题
  1606. **/
  1607. function saveRadio(quItemBody,callback){
  1608. var saveTag=quItemBody.find("input[name='saveTag']").val();
  1609. if(saveTag==0){
  1610. var url=ctx+"/design/qu-radio/ajaxSave.do";
  1611. var quType=quItemBody.find("input[name='quType']").val();
  1612. var quId=quItemBody.find("input[name='quId']").val();
  1613. var orderById=quItemBody.find("input[name='orderById']").val();
  1614. var isRequired=quItemBody.find("input[name='isRequired']").val();
  1615. var hv=quItemBody.find("input[name='hv']").val();
  1616. var randOrder=quItemBody.find("input[name='randOrder']").val();
  1617. var cellCount=quItemBody.find("input[name='cellCount']").val();
  1618. var contactsAttr=quItemBody.find("input[name='contactsAttr']").val();
  1619. var contactsField=quItemBody.find("input[name='contactsField']").val();
  1620. var data="belongId="+questionBelongId+"&orderById="+orderById+"&tag="+svTag+"&quType="+quType+"&quId="+quId;
  1621. data+="&isRequired="+isRequired+"&hv="+hv+"&randOrder="+randOrder+"&cellCount="+cellCount;
  1622. data+="&contactsAttr="+contactsAttr+"&contactsField="+contactsField;
  1623. var quTitleSaveTag=quItemBody.find("input[name='quTitleSaveTag']").val();
  1624. if(quTitleSaveTag==0){
  1625. var quTitle=quItemBody.find(".quCoTitleEdit").html();
  1626. quTitle=escape(encodeURIComponent(quTitle));
  1627. data+="&quTitle="+quTitle;
  1628. }
  1629. var quItemOptions=null;
  1630. if(hv==3){
  1631. //还有是table的情况需要处理
  1632. quItemOptions=quItemBody.find(".quCoItem table.tableQuColItem tr td");
  1633. }else{
  1634. quItemOptions=quItemBody.find(".quCoItem li.quCoItemUlLi");
  1635. }
  1636. $.each(quItemOptions,function(i){
  1637. var optionValue=$(this).find("label.quCoOptionEdit").html();
  1638. var optionId=$(this).find(".quItemInputCase input[name='quItemId']").val();
  1639. var quItemSaveTag=$(this).find(".quItemInputCase input[name='quItemSaveTag']").val();
  1640. var isNote=$(this).find(".quItemInputCase input[name='isNote']").val();
  1641. var checkType=$(this).find(".quItemInputCase input[name='checkType']").val();
  1642. var isRequiredFill=$(this).find(".quItemInputCase input[name='isRequiredFill']").val();
  1643. if(quItemSaveTag==0){
  1644. optionValue=escape(encodeURIComponent(optionValue));
  1645. data+="&optionValue_"+i+"="+optionValue;
  1646. data+="&optionId_"+i+"="+optionId;
  1647. data+="&isNote_"+i+"="+isNote;
  1648. data+="&checkType_"+i+"="+checkType;
  1649. data+="&isRequiredFill_"+i+"="+isRequiredFill;
  1650. }
  1651. //更新 字母 title标记到选项上.
  1652. $(this).addClass("quOption_"+i);
  1653. });
  1654. //逻辑选项
  1655. var quLogicItems=quItemBody.find(".quLogicItem");
  1656. $.each(quLogicItems,function(i){
  1657. var thClass=$(this).attr("class");
  1658. thClass=thClass.replace("quLogicItem quLogicItem_","");
  1659. var quLogicId=$(this).find("input[name='quLogicId']").val();
  1660. var cgQuItemId=$(this).find("input[name='cgQuItemId']").val();
  1661. var skQuId=$(this).find("input[name='skQuId']").val();
  1662. var logicSaveTag=$(this).find("input[name='logicSaveTag']").val();
  1663. var visibility=$(this).find("input[name='visibility']").val();
  1664. var logicType=$(this).find("input[name='logicType']").val();
  1665. var itemIndex=thClass;
  1666. if(logicSaveTag==0){
  1667. data+="&quLogicId_"+itemIndex+"="+quLogicId;
  1668. data+="&cgQuItemId_"+itemIndex+"="+cgQuItemId;
  1669. data+="&skQuId_"+itemIndex+"="+skQuId;
  1670. data+="&visibility_"+itemIndex+"="+visibility;
  1671. data+="&logicType_"+itemIndex+"="+logicType;
  1672. }
  1673. });
  1674. $.ajax({
  1675. url:url,
  1676. data:data,
  1677. type:'post',
  1678. success:function(msg){
  1679. //alert(msg);// resultJson quItemId
  1680. if(msg!="error"){
  1681. var jsons=eval("("+msg+")");
  1682. //alert(jsons);
  1683. var quId=jsons.id;
  1684. quItemBody.find("input[name='quId']").val(quId);
  1685. var quItems=jsons.quItems;
  1686. $.each(quItems,function(i,item){
  1687. var quItemOption=quItemBody.find(".quOption_"+item.title);
  1688. quItemOption.find("input[name='quItemId']").val(item.id);
  1689. quItemOption.find(".quItemInputCase input[name='quItemSaveTag']").val(1);
  1690. });
  1691. //同步logic Id信息
  1692. var quLogics=jsons.quLogics;
  1693. $.each(quLogics,function(i,item){
  1694. var logicItem=quItemBody.find(".quLogicItem_"+item.title);
  1695. logicItem.find("input[name='quLogicId']").val(item.id);
  1696. logicItem.find("input[name='logicSaveTag']").val(1);
  1697. });
  1698. quItemBody.find("input[name='saveTag']").val(1);
  1699. quItemBody.find(".quCoTitle input[name='quTitleSaveTag']").val(1);
  1700. //执行保存下一题
  1701. saveQus(quItemBody.next(),callback);
  1702. //同步-更新题目排序号
  1703. quCBNum2++;
  1704. exeQuCBNum();
  1705. }
  1706. }
  1707. });
  1708. }else{
  1709. saveQus(quItemBody.next(),callback);
  1710. }
  1711. }
  1712. /** 添加选项 **/
  1713. /** 添加单选选项 **/
  1714. function addRadioItem(quItemBody,itemText){
  1715. //得判断是否是table类型
  1716. var hv=quItemBody.find("input[name='hv']").val();
  1717. var cellCount=quItemBody.find("input[name='cellCount']").val();
  1718. var newEditObj=null;
  1719. if(hv==3){
  1720. //表格处理
  1721. var quRadioItemHtml=$("#quRadioItem").html();
  1722. //var quCoItemUl=quItemBody.find(".quCoItem table");
  1723. var quTableObj=quItemBody.find(".quCoItem table.tableQuColItem");
  1724. var emptyTdDiv=quTableObj.find("div.emptyTd");
  1725. if(emptyTdDiv[0]){
  1726. //表示有空位
  1727. var emptyTd=emptyTdDiv.first().parents("td");
  1728. emptyTd.empty();
  1729. emptyTd.append(quRadioItemHtml);
  1730. }else{
  1731. //木有空位,根据cellCount生成新的tr,td
  1732. var appendTr="<tr>";
  1733. for(var i=0;i<cellCount;i++){
  1734. appendTr+="<td>";
  1735. if(i==0){
  1736. appendTr+=quRadioItemHtml;
  1737. }else{
  1738. appendTr+="<div class='emptyTd'></div>";
  1739. }
  1740. appendTr+="</td>";
  1741. }
  1742. appendTr+="</tr>";
  1743. quTableObj.append(appendTr);
  1744. }
  1745. var tdWidth=parseInt(600/cellCount);
  1746. var tdLabelWidth=tdWidth-10;
  1747. quItemBody.find(".quCoItem .tableQuColItem tr td").width(tdWidth);
  1748. quItemBody.find(".quCoItem .tableQuColItem tr td label").width(tdLabelWidth);
  1749. newEditObj=quItemBody.find(".quCoItem table").find(".editAble").last();
  1750. }else{
  1751. //ul li处理
  1752. var quRadioItemHtml=$("#quRadioItem").html();
  1753. var quCoItemUl=quItemBody.find(".quCoItem ul");
  1754. quCoItemUl.append("<li class='quCoItemUlLi'>"+quRadioItemHtml+"</li>");
  1755. quItemBody.find("input[name='saveTag']").val(0);
  1756. newEditObj=quCoItemUl.find("li:last .editAble");
  1757. }
  1758. newEditObj.text(itemText);
  1759. if(itemText==""){
  1760. newEditObj.css("display","inline");
  1761. }
  1762. return newEditObj;
  1763. }
  1764. /** 删除单选题选项 **/
  1765. function deleteRadioOption(){
  1766. //判断是否是table类型
  1767. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  1768. var hv=quItemBody.find("input[name='hv']").val();
  1769. var optionParent=null;
  1770. if(hv==3){
  1771. optionParent=$(curEditObj).parents("td");
  1772. }else{
  1773. optionParent=$(curEditObj).parents("li.quCoItemUlLi");
  1774. }
  1775. var quOptionId=$(optionParent).find("input[name='quItemId']").val();
  1776. if(quOptionId!="" && quOptionId!="0" ){
  1777. var url=ctx+"/design/qu-radio/ajaxDelete.do";
  1778. var data="quItemId="+quOptionId;
  1779. $.ajax({
  1780. url:url,
  1781. data:data,
  1782. type:"post",
  1783. success:function(msg){
  1784. if(msg=="true"){
  1785. delQuOptionCallBack(optionParent);
  1786. }
  1787. }
  1788. });
  1789. }else{
  1790. delQuOptionCallBack(optionParent);
  1791. }
  1792. }
  1793. //*******多选题*******//
  1794. /**
  1795. ** 新保存多选题
  1796. **/
  1797. function saveCheckbox(quItemBody,callback){
  1798. var saveTag=quItemBody.find("input[name='saveTag']").val();
  1799. if(saveTag==0){
  1800. var url=ctx+"/design/qu-checkbox/ajaxSave.do";
  1801. var quType=quItemBody.find("input[name='quType']").val();
  1802. var quId=quItemBody.find("input[name='quId']").val();
  1803. var orderById=quItemBody.find("input[name='orderById']").val();;
  1804. var isRequired=quItemBody.find("input[name='isRequired']").val();
  1805. var hv=quItemBody.find("input[name='hv']").val();
  1806. var randOrder=quItemBody.find("input[name='randOrder']").val();
  1807. var cellCount=quItemBody.find("input[name='cellCount']").val();
  1808. var contactsAttr=quItemBody.find("input[name='contactsAttr']").val();
  1809. var contactsField=quItemBody.find("input[name='contactsField']").val();
  1810. var data="belongId="+questionBelongId+"&orderById="+orderById+"&tag="+svTag+"&quType="+quType+"&quId="+quId;
  1811. data+="&isRequired="+isRequired+"&hv="+hv+"&randOrder="+randOrder+"&cellCount="+cellCount;
  1812. data+="&contactsAttr="+contactsAttr+"&contactsField="+contactsField;
  1813. var quTitleSaveTag=quItemBody.find("input[name='quTitleSaveTag']").val();
  1814. if(quTitleSaveTag==0){
  1815. var quTitle=quItemBody.find(".quCoTitleEdit").html();
  1816. quTitle=escape(encodeURIComponent(quTitle));
  1817. data+="&quTitle="+quTitle;
  1818. }
  1819. var quItemOptions=null;
  1820. if(hv==3){
  1821. //还有是table的情况需要处理
  1822. quItemOptions=quItemBody.find(".quCoItem table.tableQuColItem tr td");
  1823. }else{
  1824. quItemOptions=quItemBody.find(".quCoItem li.quCoItemUlLi");
  1825. }
  1826. $.each(quItemOptions,function(i){
  1827. var optionValue=$(this).find("label.quCoOptionEdit").html();
  1828. var optionId=$(this).find(".quItemInputCase input[name='quItemId']").val();
  1829. var quItemSaveTag=$(this).find(".quItemInputCase input[name='quItemSaveTag']").val();
  1830. var isNote=$(this).find(".quItemInputCase input[name='isNote']").val();
  1831. var checkType=$(this).find(".quItemInputCase input[name='checkType']").val();
  1832. var isRequiredFill=$(this).find(".quItemInputCase input[name='isRequiredFill']").val();
  1833. if(quItemSaveTag==0){
  1834. optionValue=escape(encodeURIComponent(optionValue));
  1835. data+="&optionValue_"+i+"="+optionValue;
  1836. data+="&optionId_"+i+"="+optionId;
  1837. data+="&isNote_"+i+"="+isNote;
  1838. data+="&checkType_"+i+"="+checkType;
  1839. data+="&isRequiredFill_"+i+"="+isRequiredFill;
  1840. }
  1841. //更新 字母 title标记到选项上.
  1842. $(this).addClass("quOption_"+i);
  1843. });
  1844. //逻辑选项
  1845. var quLogicItems=quItemBody.find(".quLogicItem");
  1846. $.each(quLogicItems,function(i){
  1847. var thClass=$(this).attr("class");
  1848. thClass=thClass.replace("quLogicItem quLogicItem_","");
  1849. var quLogicId=$(this).find("input[name='quLogicId']").val();
  1850. var cgQuItemId=$(this).find("input[name='cgQuItemId']").val();
  1851. var skQuId=$(this).find("input[name='skQuId']").val();
  1852. var logicSaveTag=$(this).find("input[name='logicSaveTag']").val();
  1853. var visibility=$(this).find("input[name='visibility']").val();
  1854. var logicType=$(this).find("input[name='logicType']").val();
  1855. var itemIndex=thClass;
  1856. if(logicSaveTag==0){
  1857. data+="&quLogicId_"+itemIndex+"="+quLogicId;
  1858. data+="&cgQuItemId_"+itemIndex+"="+cgQuItemId;
  1859. data+="&skQuId_"+itemIndex+"="+skQuId;
  1860. data+="&visibility_"+itemIndex+"="+visibility;
  1861. data+="&logicType_"+itemIndex+"="+logicType;
  1862. }
  1863. });
  1864. $.ajax({
  1865. url:url,
  1866. data:data,
  1867. type:'post',
  1868. success:function(msg){
  1869. //alert(msg);// resultJson quItemId
  1870. if(msg!="error"){
  1871. var jsons=eval("("+msg+")");
  1872. //alert(jsons);
  1873. var quId=jsons.id;
  1874. quItemBody.find("input[name='quId']").val(quId);
  1875. var quItems=jsons.quItems;
  1876. $.each(quItems,function(i,item){
  1877. var quItemOption=quItemBody.find(".quOption_"+item.title);
  1878. quItemOption.find("input[name='quItemId']").val(item.id);
  1879. quItemOption.find(".quItemInputCase input[name='quItemSaveTag']").val(1);
  1880. });
  1881. //同步logic Id信息
  1882. var quLogics=jsons.quLogics;
  1883. $.each(quLogics,function(i,item){
  1884. var logicItem=quItemBody.find(".quLogicItem_"+item.title);
  1885. logicItem.find("input[name='quLogicId']").val(item.id);
  1886. logicItem.find("input[name='logicSaveTag']").val(1);
  1887. });
  1888. quItemBody.find("input[name='saveTag']").val(1);
  1889. quItemBody.find(".quCoTitle input[name='quTitleSaveTag']").val(1);
  1890. //执行保存下一题
  1891. saveQus(quItemBody.next(),callback);
  1892. //同步-更新题目排序号
  1893. quCBNum2++;
  1894. exeQuCBNum();
  1895. }
  1896. }
  1897. });
  1898. }else{
  1899. saveQus(quItemBody.next(),callback);
  1900. }
  1901. }
  1902. /** 添加选项 **/
  1903. /** 添加多选选项 **/
  1904. function addCheckboxItem(quItemBody,itemText){
  1905. //得判断是否是table类型
  1906. var hv=quItemBody.find("input[name='hv']").val();
  1907. var cellCount=quItemBody.find("input[name='cellCount']").val();
  1908. var newEditObj=null;
  1909. if(hv==3){
  1910. //表格处理
  1911. var quRadioItemHtml=$("#quCheckboxItem").html();
  1912. //var quCoItemUl=quItemBody.find(".quCoItem table");
  1913. var quTableObj=quItemBody.find(".quCoItem table.tableQuColItem");
  1914. var emptyTdDiv=quTableObj.find("div.emptyTd");
  1915. if(emptyTdDiv[0]){
  1916. //表示有空位
  1917. var emptyTd=emptyTdDiv.first().parents("td");
  1918. emptyTd.empty();
  1919. emptyTd.append(quRadioItemHtml);
  1920. }else{
  1921. //木有空位,根据cellCount生成新的tr,td
  1922. var appendTr="<tr>";
  1923. for(var i=0;i<cellCount;i++){
  1924. appendTr+="<td>";
  1925. if(i==0){
  1926. appendTr+=quRadioItemHtml;
  1927. }else{
  1928. appendTr+="<div class='emptyTd'></div>";
  1929. }
  1930. appendTr+="</td>";
  1931. }
  1932. appendTr+="</tr>";
  1933. quTableObj.append(appendTr);
  1934. }
  1935. var tdWidth=parseInt(600/cellCount);
  1936. var tdLabelWidth=tdWidth-10;
  1937. quItemBody.find(".quCoItem .tableQuColItem tr td").width(tdWidth);
  1938. quItemBody.find(".quCoItem .tableQuColItem tr td label").width(tdLabelWidth);
  1939. newEditObj=quItemBody.find(".quCoItem table").find(".editAble").last();
  1940. //itemText="fsdfsdf";
  1941. }else{
  1942. //ul li处理
  1943. var quRadioItemHtml=$("#quCheckboxItem").html();
  1944. var quCoItemUl=quItemBody.find(".quCoItem ul");
  1945. quCoItemUl.append("<li class='quCoItemUlLi'>"+quRadioItemHtml+"</li>");
  1946. quItemBody.find("input[name='saveTag']").val(0);
  1947. newEditObj=quCoItemUl.find("li:last .editAble");
  1948. }
  1949. newEditObj.text(itemText);
  1950. if(itemText==""){
  1951. newEditObj.css("display","inline");
  1952. }
  1953. return newEditObj;
  1954. }
  1955. /** 删除多选题选项 **/
  1956. function deleteCheckboxOption(){
  1957. //判断是否是table类型
  1958. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  1959. var hv=quItemBody.find("input[name='hv']").val();
  1960. var optionParent=null;
  1961. if(hv==3){
  1962. optionParent=$(curEditObj).parents("td");
  1963. }else{
  1964. optionParent=$(curEditObj).parents("li.quCoItemUlLi");
  1965. }
  1966. var quOptionId=$(optionParent).find("input[name='quItemId']").val();
  1967. if(quOptionId!="" && quOptionId!="0" ){
  1968. var url=ctx+"/design/qu-checkbox/ajaxDelete.do";
  1969. var data="quItemId="+quOptionId;
  1970. $.ajax({
  1971. url:url,
  1972. data:data,
  1973. type:"post",
  1974. success:function(msg){
  1975. if(msg=="true"){
  1976. delQuOptionCallBack(optionParent);
  1977. }
  1978. }
  1979. });
  1980. }else{
  1981. delQuOptionCallBack(optionParent);
  1982. }
  1983. }
  1984. function delQuOptionCallBack(optionParent){
  1985. var quItemBody=$(optionParent).parents(".surveyQuItemBody");
  1986. var quType=quItemBody.find("input[name='quType']").val();
  1987. if(quType=="CHECKBOX" || quType=="RADIO"){
  1988. var hv=quItemBody.find("input[name='hv']").val();
  1989. if(hv==3){
  1990. //emptyTd
  1991. var optionTr=$(optionParent).parents("tr");
  1992. var optionNextTr=optionTr.next();
  1993. if(optionNextTr[0]){
  1994. //则后面还有是中间选项,则删除,再依次后面的td往前移动
  1995. $(optionParent).remove();
  1996. moveTabelTd(optionNextTr);
  1997. }else{
  1998. //非中间选项,删除-再添加一个空td
  1999. $(optionParent).remove();
  2000. movePareseLastTr(optionTr);
  2001. }
  2002. }else{
  2003. optionParent.remove();
  2004. }
  2005. }else if(quType=="CHENRADIO" || quType=="CHENCHECKBOX" || quType=="CHENFBK" || quType=="CHENSCORE"){
  2006. //$(curEditObj).parents("td.quChenColumnTd");
  2007. var quCoChenTable=optionParent.parents("table.quCoChenTable");
  2008. var optionParentClass=optionParent.attr("class");
  2009. if(optionParentClass.indexOf("Column")>=0){
  2010. var removeTrs=quCoChenTable.find("tr:gt(0)");
  2011. $.each(removeTrs,function(){
  2012. $(this).find("td:last").remove();
  2013. });
  2014. optionParent.remove();
  2015. }else{
  2016. optionParent.parent().remove();
  2017. }
  2018. }else{
  2019. optionParent.remove();
  2020. }
  2021. dwCommonEditHide();
  2022. bindQuHoverItem();
  2023. }
  2024. function moveTabelTd(nextTr){
  2025. if(nextTr[0]){
  2026. var prevTr=nextTr.prev();
  2027. var nextTds=nextTr.find("td");
  2028. $(nextTds.get(0)).appendTo(prevTr);
  2029. //判断当前next是否是最后一个,是则:判断如果没有选项,则删除tr,如果有选项,则填一个空td
  2030. var nextNextTr=nextTr.next();
  2031. if(!nextNextTr[0]){
  2032. movePareseLastTr(nextTr);
  2033. }
  2034. moveTabelTd($(nextTr).next());
  2035. }
  2036. }
  2037. function movePareseLastTr(nextTr){
  2038. var editAbles=nextTr.find(".editAble");
  2039. if(editAbles[0]){
  2040. //有选项,则补充一个空td
  2041. var editAbleTd=editAbles.parents("td");
  2042. editAbleTd.clone().prependTo(nextTr);
  2043. nextTr.find("td").last().html("<div class='emptyTd'></div>");
  2044. }else{
  2045. nextTr.remove();
  2046. }
  2047. }
  2048. //*******填空题*******//
  2049. /**
  2050. ** 新保存填空题
  2051. **/
  2052. function saveFillblank(quItemBody,callback){
  2053. var saveTag=quItemBody.find("input[name='saveTag']").val();
  2054. if(saveTag==0){
  2055. var url=ctx+"/design/qu-fillblank/ajaxSave.do";
  2056. var quType=quItemBody.find("input[name='quType']").val();
  2057. var quId=quItemBody.find("input[name='quId']").val();
  2058. var orderById=quItemBody.find("input[name='orderById']").val();;
  2059. var isRequired=quItemBody.find("input[name='isRequired']").val();
  2060. var hv=quItemBody.find("input[name='hv']").val();
  2061. var randOrder=quItemBody.find("input[name='randOrder']").val();
  2062. var cellCount=quItemBody.find("input[name='cellCount']").val();
  2063. var answerInputWidth=quItemBody.find("input[name='answerInputWidth']").val();
  2064. var answerInputRow=quItemBody.find("input[name='answerInputRow']").val();
  2065. var contactsAttr=quItemBody.find("input[name='contactsAttr']").val();
  2066. var contactsField=quItemBody.find("input[name='contactsField']").val();
  2067. var checkType=quItemBody.find("input[name='checkType']").val();
  2068. var paramInt01=quItemBody.find("input[name='paramInt01']");
  2069. var data="belongId="+questionBelongId+"&orderById="+orderById+"&tag="+svTag+"&quType="+quType+"&quId="+quId;
  2070. data+="&isRequired="+isRequired+"&hv="+hv+"&randOrder="+randOrder+"&cellCount="+cellCount;
  2071. data+="&answerInputWidth="+answerInputWidth+"&answerInputRow="+answerInputRow;
  2072. data+="&contactsAttr="+contactsAttr+"&contactsField="+contactsField+"&checkType="+checkType;
  2073. if(paramInt01[0]){
  2074. data+="&paramInt01="+paramInt01.val();
  2075. }
  2076. var quTitleSaveTag=quItemBody.find("input[name='quTitleSaveTag']").val();
  2077. if(quTitleSaveTag==0){
  2078. var quTitle=quItemBody.find(".quCoTitleEdit").html();
  2079. quTitle=escape(encodeURIComponent(quTitle));
  2080. data+="&quTitle="+quTitle;
  2081. }
  2082. //逻辑选项
  2083. var quLogicItems=quItemBody.find(".quLogicItem");
  2084. $.each(quLogicItems,function(i){
  2085. var thClass=$(this).attr("class");
  2086. thClass=thClass.replace("quLogicItem quLogicItem_","");
  2087. var quLogicId=$(this).find("input[name='quLogicId']").val();
  2088. var cgQuItemId=$(this).find("input[name='cgQuItemId']").val();
  2089. var skQuId=$(this).find("input[name='skQuId']").val();
  2090. var logicSaveTag=$(this).find("input[name='logicSaveTag']").val();
  2091. var visibility=$(this).find("input[name='visibility']").val();
  2092. var logicType=$(this).find("input[name='logicType']").val();
  2093. var itemIndex=thClass;
  2094. if(logicSaveTag==0){
  2095. data+="&quLogicId_"+itemIndex+"="+quLogicId;
  2096. data+="&cgQuItemId_"+itemIndex+"="+cgQuItemId;
  2097. data+="&skQuId_"+itemIndex+"="+skQuId;
  2098. data+="&visibility_"+itemIndex+"="+visibility;
  2099. data+="&logicType_"+itemIndex+"="+logicType;
  2100. }
  2101. });
  2102. $.ajax({
  2103. url:url,
  2104. data:data,
  2105. type:'post',
  2106. success:function(msg){
  2107. //alert(msg);// resultJson quItemId
  2108. if(msg!="error"){
  2109. var jsons=eval("("+msg+")");
  2110. //alert(jsons);
  2111. var quId=jsons.id;
  2112. quItemBody.find("input[name='quId']").val(quId);
  2113. //同步logic Id信息
  2114. var quLogics=jsons.quLogics;
  2115. $.each(quLogics,function(i,item){
  2116. var logicItem=quItemBody.find(".quLogicItem_"+item.title);
  2117. logicItem.find("input[name='quLogicId']").val(item.id);
  2118. logicItem.find("input[name='logicSaveTag']").val(1);
  2119. });
  2120. quItemBody.find("input[name='saveTag']").val(1);
  2121. quItemBody.find(".quCoTitle input[name='quTitleSaveTag']").val(1);
  2122. //执行保存下一题
  2123. saveQus(quItemBody.next(),callback);
  2124. //同步-更新题目排序号
  2125. quCBNum2++;
  2126. exeQuCBNum();
  2127. }
  2128. }
  2129. });
  2130. }else{
  2131. saveQus(quItemBody.next(),callback);
  2132. }
  2133. }
  2134. //*****评分题****//
  2135. /**
  2136. ** 新保存评分题
  2137. **/
  2138. function saveScore(quItemBody,callback){
  2139. var saveTag=quItemBody.find("input[name='saveTag']").val();
  2140. if(saveTag==0){
  2141. var url=ctx+"/design/qu-score/ajaxSave.do";
  2142. var quType=quItemBody.find("input[name='quType']").val();
  2143. var quId=quItemBody.find("input[name='quId']").val();
  2144. var orderById=quItemBody.find("input[name='orderById']").val();
  2145. var isRequired=quItemBody.find("input[name='isRequired']").val();
  2146. var hv=quItemBody.find("input[name='hv']").val();
  2147. var randOrder=quItemBody.find("input[name='randOrder']").val();
  2148. var cellCount=quItemBody.find("input[name='cellCount']").val();
  2149. var paramInt01=quItemBody.find("input[name='paramInt01']").val();
  2150. var paramInt02=quItemBody.find("input[name='paramInt02']").val();
  2151. var data="belongId="+questionBelongId+"&orderById="+orderById+"&tag="+svTag+"&quType="+quType+"&quId="+quId;
  2152. data+="&isRequired="+isRequired+"&hv="+hv+"&randOrder="+randOrder+"&cellCount="+cellCount;
  2153. data+="&paramInt01="+paramInt01+"&paramInt02="+paramInt02;
  2154. var quTitleSaveTag=quItemBody.find("input[name='quTitleSaveTag']").val();
  2155. if(quTitleSaveTag==0){
  2156. var quTitle=quItemBody.find(".quCoTitleEdit").html();
  2157. quTitle=escape(encodeURIComponent(quTitle));
  2158. data+="&quTitle="+quTitle;
  2159. }
  2160. //评分题选项td
  2161. var quItemOptions=quItemBody.find(".quCoItem table.quCoItemTable tr td.quOptionEditTd");
  2162. $.each(quItemOptions,function(i){
  2163. var optionValue=$(this).find("label.quCoOptionEdit").html();
  2164. var optionId=$(this).find(".quItemInputCase input[name='quItemId']").val();
  2165. var quItemSaveTag=$(this).find(".quItemInputCase input[name='quItemSaveTag']").val();
  2166. if(quItemSaveTag==0){
  2167. optionValue=escape(encodeURIComponent(optionValue));
  2168. data+="&optionValue_"+i+"="+optionValue;
  2169. data+="&optionId_"+i+"="+optionId;
  2170. }
  2171. //更新 字母 title标记到选项上.
  2172. $(this).addClass("quOption_"+i);
  2173. });
  2174. //逻辑选项
  2175. var quLogicItems=quItemBody.find(".quLogicItem");
  2176. $.each(quLogicItems,function(i){
  2177. var thClass=$(this).attr("class");
  2178. thClass=thClass.replace("quLogicItem quLogicItem_","");
  2179. var quLogicId=$(this).find("input[name='quLogicId']").val();
  2180. var cgQuItemId=$(this).find("input[name='cgQuItemId']").val();
  2181. var skQuId=$(this).find("input[name='skQuId']").val();
  2182. var logicSaveTag=$(this).find("input[name='logicSaveTag']").val();
  2183. var visibility=$(this).find("input[name='visibility']").val();
  2184. var geLe=$(this).find("input[name='geLe']").val();
  2185. var scoreNum=$(this).find("input[name='scoreNum']").val();
  2186. var logicType=$(this).find("input[name='logicType']").val();
  2187. var itemIndex=thClass;
  2188. if(logicSaveTag==0){
  2189. data+="&quLogicId_"+itemIndex+"="+quLogicId;
  2190. data+="&cgQuItemId_"+itemIndex+"="+cgQuItemId;
  2191. data+="&skQuId_"+itemIndex+"="+skQuId;
  2192. data+="&visibility_"+itemIndex+"="+visibility;
  2193. data+="&geLe_"+itemIndex+"="+geLe;
  2194. data+="&scoreNum_"+itemIndex+"="+scoreNum;
  2195. data+="&logicType_"+itemIndex+"="+logicType;
  2196. }
  2197. });
  2198. $.ajax({
  2199. url:url,
  2200. data:data,
  2201. type:'post',
  2202. success:function(msg){
  2203. //alert(msg);// resultJson quItemId
  2204. if(msg!="error"){
  2205. var jsons=eval("("+msg+")");
  2206. //alert(jsons);
  2207. var quId=jsons.id;
  2208. quItemBody.find("input[name='quId']").val(quId);
  2209. var quItems=jsons.quItems;
  2210. $.each(quItems,function(i,item){
  2211. var quItemOption=quItemBody.find(".quOption_"+item.title);
  2212. quItemOption.find("input[name='quItemId']").val(item.id);
  2213. quItemOption.find(".quItemInputCase input[name='quItemSaveTag']").val(1);
  2214. });
  2215. //同步logic Id信息
  2216. var quLogics=jsons.quLogics;
  2217. $.each(quLogics,function(i,item){
  2218. var logicItem=quItemBody.find(".quLogicItem_"+item.title);
  2219. logicItem.find("input[name='quLogicId']").val(item.id);
  2220. logicItem.find("input[name='logicSaveTag']").val(1);
  2221. });
  2222. quItemBody.find("input[name='saveTag']").val(1);
  2223. quItemBody.find(".quCoTitle input[name='quTitleSaveTag']").val(1);
  2224. //执行保存下一题
  2225. saveQus(quItemBody.next(),callback);
  2226. //同步-更新题目排序号
  2227. quCBNum2++;
  2228. exeQuCBNum();
  2229. }
  2230. }
  2231. });
  2232. }else{
  2233. saveQus(quItemBody.next(),callback);
  2234. }
  2235. }
  2236. /** 添加选项 **/
  2237. /** 添加评分项 **/
  2238. function addScoreItem(quItemBody,itemText){
  2239. //得判断是否是table类型
  2240. var newEditObj=null;
  2241. //ul li处理
  2242. var quScoreItemHtml=$("#quScoreItemModel").html();
  2243. var quCoItemTable=quItemBody.find("table.quCoItemTable");
  2244. quCoItemTable.append("<tr class='quScoreOptionTr'>"+quScoreItemHtml+"</tr>");
  2245. quItemBody.find("input[name='saveTag']").val(0);
  2246. var scoreNumTableTr=quCoItemTable.find("tr.quScoreOptionTr:last .scoreNumTable tr");
  2247. var paramInt02=quItemBody.find("input[name='paramInt02']").val();
  2248. scoreNumTableTr.empty();
  2249. for(var i=1;i<=paramInt02;i++){
  2250. scoreNumTableTr.append("<td>"+i+"</td>");
  2251. }
  2252. quCoItemTable.find("tr.quScoreOptionTr:last input[name='quItemSaveTag']").val(0);
  2253. newEditObj=quCoItemTable.find("tr.quScoreOptionTr:last .editAble");
  2254. newEditObj.text(itemText);
  2255. if(itemText==""){
  2256. newEditObj.css("display","inline");
  2257. }
  2258. return newEditObj;
  2259. }
  2260. /** 删除评分Score选项 **/
  2261. function deleteScoreOption(){
  2262. var optionParent=null;
  2263. optionParent=$(curEditObj).parents("tr.quScoreOptionTr");
  2264. var quOptionId=$(optionParent).find("input[name='quItemId']").val();
  2265. if(quOptionId!="" && quOptionId!="0" ){
  2266. var url=ctx+"/design/qu-score/ajaxDelete.do";
  2267. var data="quItemId="+quOptionId;
  2268. $.ajax({
  2269. url:url,
  2270. data:data,
  2271. type:"post",
  2272. success:function(msg){
  2273. if(msg=="true"){
  2274. delQuOptionCallBack(optionParent);
  2275. }
  2276. }
  2277. });
  2278. }else{
  2279. delQuOptionCallBack(optionParent);
  2280. }
  2281. }
  2282. //*****排序题****//
  2283. /**
  2284. ** 新保存排序题
  2285. **/
  2286. function saveOrderqu(quItemBody,callback){
  2287. var saveTag=quItemBody.find("input[name='saveTag']").val();
  2288. if(saveTag==0){
  2289. var url=ctx+"/design/qu-orderqu/ajaxSave.do";
  2290. var quType=quItemBody.find("input[name='quType']").val();
  2291. var quId=quItemBody.find("input[name='quId']").val();
  2292. var orderById=quItemBody.find("input[name='orderById']").val();
  2293. var isRequired=quItemBody.find("input[name='isRequired']").val();
  2294. var hv=quItemBody.find("input[name='hv']").val();
  2295. var randOrder=quItemBody.find("input[name='randOrder']").val();
  2296. var cellCount=quItemBody.find("input[name='cellCount']").val();
  2297. var data="belongId="+questionBelongId+"&orderById="+orderById+"&tag="+svTag+"&quType="+quType+"&quId="+quId;
  2298. data+="&isRequired="+isRequired+"&hv="+hv+"&randOrder="+randOrder+"&cellCount="+cellCount;
  2299. var quTitleSaveTag=quItemBody.find("input[name='quTitleSaveTag']").val();
  2300. if(quTitleSaveTag==0){
  2301. var quTitle=quItemBody.find(".quCoTitleEdit").html();
  2302. quTitle=escape(encodeURIComponent(quTitle));
  2303. data+="&quTitle="+quTitle;
  2304. }
  2305. //评分题选项td
  2306. var quItemOptions=quItemBody.find(".quCoItem .quOrderByLeft li.quCoItemUlLi");
  2307. $.each(quItemOptions,function(i){
  2308. var optionValue=$(this).find("label.quCoOptionEdit").html();
  2309. var optionId=$(this).find(".quItemInputCase input[name='quItemId']").val();
  2310. var quItemSaveTag=$(this).find(".quItemInputCase input[name='quItemSaveTag']").val();
  2311. if(quItemSaveTag==0){
  2312. optionValue=escape(encodeURIComponent(optionValue));
  2313. data+="&optionValue_"+i+"="+optionValue;
  2314. data+="&optionId_"+i+"="+optionId;
  2315. }
  2316. //更新 字母 title标记到选项上.
  2317. $(this).addClass("quOption_"+i);
  2318. });
  2319. //逻辑选项
  2320. var quLogicItems=quItemBody.find(".quLogicItem");
  2321. $.each(quLogicItems,function(i){
  2322. var thClass=$(this).attr("class");
  2323. thClass=thClass.replace("quLogicItem quLogicItem_","");
  2324. var quLogicId=$(this).find("input[name='quLogicId']").val();
  2325. var cgQuItemId=$(this).find("input[name='cgQuItemId']").val();
  2326. var skQuId=$(this).find("input[name='skQuId']").val();
  2327. var logicSaveTag=$(this).find("input[name='logicSaveTag']").val();
  2328. var visibility=$(this).find("input[name='visibility']").val();
  2329. var logicType=$(this).find("input[name='logicType']").val();
  2330. var itemIndex=thClass;
  2331. if(logicSaveTag==0){
  2332. data+="&quLogicId_"+itemIndex+"="+quLogicId;
  2333. data+="&cgQuItemId_"+itemIndex+"="+cgQuItemId;
  2334. data+="&skQuId_"+itemIndex+"="+skQuId;
  2335. data+="&visibility_"+itemIndex+"="+visibility;
  2336. data+="&logicType_"+itemIndex+"="+logicType;
  2337. }
  2338. });
  2339. $.ajax({
  2340. url:url,
  2341. data:data,
  2342. type:'post',
  2343. success:function(msg){
  2344. //alert(msg);// resultJson quItemId
  2345. if(msg!="error"){
  2346. var jsons=eval("("+msg+")");
  2347. //alert(jsons);
  2348. var quId=jsons.id;
  2349. quItemBody.find("input[name='quId']").val(quId);
  2350. var quItems=jsons.quItems;
  2351. $.each(quItems,function(i,item){
  2352. var quItemOption=quItemBody.find(".quOption_"+item.title);
  2353. quItemOption.find("input[name='quItemId']").val(item.id);
  2354. quItemOption.find(".quItemInputCase input[name='quItemSaveTag']").val(1);
  2355. });
  2356. //同步logic Id信息
  2357. var quLogics=jsons.quLogics;
  2358. $.each(quLogics,function(i,item){
  2359. var logicItem=quItemBody.find(".quLogicItem_"+item.title);
  2360. logicItem.find("input[name='quLogicId']").val(item.id);
  2361. logicItem.find("input[name='logicSaveTag']").val(1);
  2362. });
  2363. quItemBody.find("input[name='saveTag']").val(1);
  2364. quItemBody.find(".quCoTitle input[name='quTitleSaveTag']").val(1);
  2365. //执行保存下一题
  2366. saveQus(quItemBody.next(),callback);
  2367. //同步-更新题目排序号
  2368. quCBNum2++;
  2369. exeQuCBNum();
  2370. }
  2371. }
  2372. });
  2373. }else{
  2374. saveQus(quItemBody.next(),callback);
  2375. }
  2376. }
  2377. /** 添加选项 **/
  2378. /** 添加排序项 **/
  2379. function addOrderquItem(quItemBody,itemText){
  2380. //得判断是否是table类型
  2381. var newEditObj=null;
  2382. //ul li处理 <li class="quCoItemUlLi">
  2383. var quOrderItemLeftHtml=$("#quOrderItemLeftModel").html();
  2384. var quOrderItemRightHtml=$("#quOrderItemRightModel").html();
  2385. var quOrderItemLeftUl=quItemBody.find(".quOrderByLeft ul");
  2386. var quOrderByRightTable=quItemBody.find(".quOrderByRight table.quOrderByTable");
  2387. quOrderItemLeftUl.append("<li class='quCoItemUlLi'>"+quOrderItemLeftHtml+"</li>");
  2388. quOrderByRightTable.append("<tr>"+quOrderItemRightHtml+"</tr>");
  2389. quItemBody.find("input[name='saveTag']").val(0);
  2390. newEditObj=quOrderItemLeftUl.find("li:last .editAble");
  2391. newEditObj.text(itemText);
  2392. if(itemText==""){
  2393. newEditObj.css("display","inline");
  2394. }
  2395. //quOrderyTableTd
  2396. refquOrderTableTdNum(quOrderByRightTable);
  2397. return newEditObj;
  2398. }
  2399. function refquOrderTableTdNum(quOrderByRightTable){
  2400. var quOrderyTableTds=quOrderByRightTable.find(".quOrderyTableTd");
  2401. $.each(quOrderyTableTds,function(i){
  2402. $(this).text(i+1);
  2403. });
  2404. }
  2405. /** 删除排序选项 **/
  2406. function deleteOrderquOption(){
  2407. var optionParent=null;
  2408. optionParent=$(curEditObj).parents("li.quCoItemUlLi");
  2409. var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
  2410. var rmQuOrderTableTr=quItemBody.find(".quOrderByRight table.quOrderByTable tr:last");
  2411. var quOptionId=$(optionParent).find("input[name='quItemId']").val();
  2412. if(quOptionId!="" && quOptionId!="0" ){
  2413. var url=ctx+"/design/qu-orderqu/ajaxDelete.do";
  2414. var data="quItemId="+quOptionId;
  2415. $.ajax({
  2416. url:url,
  2417. data:data,
  2418. type:"post",
  2419. success:function(msg){
  2420. if(msg=="true"){
  2421. delQuOptionCallBack(optionParent);
  2422. rmQuOrderTableTr.remove();
  2423. }
  2424. }
  2425. });
  2426. }else{
  2427. delQuOptionCallBack(optionParent);
  2428. rmQuOrderTableTr.remove();
  2429. }
  2430. }
  2431. //*******分页标记*******//
  2432. /**
  2433. ** 新保存分页标记
  2434. **/
  2435. function savePagetag(quItemBody,callback){
  2436. var saveTag=quItemBody.find("input[name='saveTag']").val();
  2437. if(saveTag==0){
  2438. var url=ctx+"/design/qu-pagetag/ajaxSave.do";
  2439. var quType=quItemBody.find("input[name='quType']").val();
  2440. var quId=quItemBody.find("input[name='quId']").val();
  2441. var orderById=quItemBody.find("input[name='orderById']").val();;
  2442. var isRequired=quItemBody.find("input[name='isRequired']").val();
  2443. var hv=quItemBody.find("input[name='hv']").val();
  2444. var randOrder=quItemBody.find("input[name='randOrder']").val();
  2445. var cellCount=quItemBody.find("input[name='cellCount']").val();
  2446. var data="belongId="+questionBelongId+"&orderById="+orderById+"&tag="+svTag+"&quType="+quType+"&quId="+quId;
  2447. data+="&isRequired="+isRequired+"&hv="+hv+"&randOrder="+randOrder+"&cellCount="+cellCount;
  2448. var quTitleSaveTag=quItemBody.find("input[name='quTitleSaveTag']").val();
  2449. if(quTitleSaveTag==0){
  2450. var quTitle=quItemBody.find(".quCoTitleEdit").html();
  2451. quTitle=escape(encodeURIComponent(quTitle));
  2452. data+="&quTitle="+quTitle;
  2453. }
  2454. //逻辑选项
  2455. var quLogicItems=quItemBody.find(".quLogicItem");
  2456. $.each(quLogicItems,function(i){
  2457. var thClass=$(this).attr("class");
  2458. thClass=thClass.replace("quLogicItem quLogicItem_","");
  2459. var quLogicId=$(this).find("input[name='quLogicId']").val();
  2460. var cgQuItemId=$(this).find("input[name='cgQuItemId']").val();
  2461. var skQuId=$(this).find("input[name='skQuId']").val();
  2462. var logicSaveTag=$(this).find("input[name='logicSaveTag']").val();
  2463. var visibility=$(this).find("input[name='visibility']").val();
  2464. var logicType=$(this).find("input[name='logicType']").val();
  2465. var itemIndex=thClass;
  2466. if(logicSaveTag==0){
  2467. data+="&quLogicId_"+itemIndex+"="+quLogicId;
  2468. data+="&cgQuItemId_"+itemIndex+"="+cgQuItemId;
  2469. data+="&skQuId_"+itemIndex+"="+skQuId;
  2470. data+="&visibility_"+itemIndex+"="+visibility;
  2471. data+="&logicType_"+itemIndex+"="+logicType;
  2472. }
  2473. });
  2474. $.ajax({
  2475. url:url,
  2476. data:data,
  2477. type:'post',
  2478. success:function(msg){
  2479. //alert(msg);// resultJson quItemId
  2480. if(msg!="error"){
  2481. var jsons=eval("("+msg+")");
  2482. //alert(jsons);
  2483. var quId=jsons.id;
  2484. quItemBody.find("input[name='quId']").val(quId);
  2485. //同步logic Id信息
  2486. var quLogics=jsons.quLogics;
  2487. $.each(quLogics,function(i,item){
  2488. var logicItem=quItemBody.find(".quLogicItem_"+item.title);
  2489. logicItem.find("input[name='quLogicId']").val(item.id);
  2490. logicItem.find("input[name='logicSaveTag']").val(1);
  2491. });
  2492. quItemBody.find("input[name='saveTag']").val(1);
  2493. quItemBody.find(".quCoTitle input[name='quTitleSaveTag']").val(1);
  2494. //执行保存下一题
  2495. saveQus(quItemBody.next(),callback);
  2496. //同步-更新题目排序号
  2497. quCBNum2++;
  2498. exeQuCBNum();
  2499. }
  2500. }
  2501. });
  2502. }else{
  2503. saveQus(quItemBody.next(),callback);
  2504. }
  2505. }
  2506. //*******段落说明题*******//
  2507. /**
  2508. ** 新保存段落题
  2509. **/
  2510. function saveParagraph(quItemBody,callback){
  2511. var saveTag=quItemBody.find("input[name='saveTag']").val();
  2512. if(saveTag==0){
  2513. var url=ctx+"/design/qu-paragraph/ajaxSave.do";
  2514. var quType=quItemBody.find("input[name='quType']").val();
  2515. var quId=quItemBody.find("input[name='quId']").val();
  2516. var orderById=quItemBody.find("input[name='orderById']").val();;
  2517. var isRequired=quItemBody.find("input[name='isRequired']").val();
  2518. var hv=quItemBody.find("input[name='hv']").val();
  2519. var randOrder=quItemBody.find("input[name='randOrder']").val();
  2520. var cellCount=quItemBody.find("input[name='cellCount']").val();
  2521. var data="belongId="+questionBelongId+"&orderById="+orderById+"&tag="+svTag+"&quType="+quType+"&quId="+quId;
  2522. data+="&isRequired="+isRequired+"&hv="+hv+"&randOrder="+randOrder+"&cellCount="+cellCount;
  2523. var quTitleSaveTag=quItemBody.find("input[name='quTitleSaveTag']").val();
  2524. if(quTitleSaveTag==0){
  2525. var quTitle=quItemBody.find(".quCoTitleEdit").html();
  2526. quTitle=escape(encodeURIComponent(quTitle));
  2527. data+="&quTitle="+quTitle;
  2528. }
  2529. //逻辑选项
  2530. var quLogicItems=quItemBody.find(".quLogicItem");
  2531. $.each(quLogicItems,function(i){
  2532. var thClass=$(this).attr("class");
  2533. thClass=thClass.replace("quLogicItem quLogicItem_","");
  2534. var quLogicId=$(this).find("input[name='quLogicId']").val();
  2535. var cgQuItemId=$(this).find("input[name='cgQuItemId']").val();
  2536. var skQuId=$(this).find("input[name='skQuId']").val();
  2537. var logicSaveTag=$(this).find("input[name='logicSaveTag']").val();
  2538. var visibility=$(this).find("input[name='visibility']").val();
  2539. var logicType=$(this).find("input[name='logicType']").val();
  2540. var itemIndex=thClass;
  2541. if(logicSaveTag==0){
  2542. data+="&quLogicId_"+itemIndex+"="+quLogicId;
  2543. data+="&cgQuItemId_"+itemIndex+"="+cgQuItemId;
  2544. data+="&skQuId_"+itemIndex+"="+skQuId;
  2545. data+="&visibility_"+itemIndex+"="+visibility;
  2546. data+="&logicType_"+itemIndex+"="+logicType;
  2547. }
  2548. });
  2549. $.ajax({
  2550. url:url,
  2551. data:data,
  2552. type:'post',
  2553. success:function(msg){
  2554. //alert(msg);// resultJson quItemId
  2555. if(msg!="error"){
  2556. var jsons=eval("("+msg+")");
  2557. //alert(jsons);
  2558. var quId=jsons.id;
  2559. quItemBody.find("input[name='quId']").val(quId);
  2560. //同步logic Id信息
  2561. var quLogics=jsons.quLogics;
  2562. $.each(quLogics,function(i,item){
  2563. var logicItem=quItemBody.find(".quLogicItem_"+item.title);
  2564. logicItem.find("input[name='quLogicId']").val(item.id);
  2565. logicItem.find("input[name='logicSaveTag']").val(1);
  2566. });
  2567. quItemBody.find("input[name='saveTag']").val(1);
  2568. quItemBody.find(".quCoTitle input[name='quTitleSaveTag']").val(1);
  2569. //执行保存下一题
  2570. saveQus(quItemBody.next(),callback);
  2571. //同步-更新题目排序号
  2572. quCBNum2++;
  2573. exeQuCBNum();
  2574. }
  2575. }
  2576. });
  2577. }else{
  2578. saveQus(quItemBody.next(),callback);
  2579. }
  2580. }
  2581. /** 多项填空题 **/
  2582. /**
  2583. ** 新保存多项填空题
  2584. **/
  2585. function saveMultiFillblank(quItemBody,callback){
  2586. var saveTag=quItemBody.find("input[name='saveTag']").val();
  2587. if(saveTag==0){
  2588. var url=ctx+"/design/qu-multi-fillblank/ajaxSave.do";
  2589. var quType=quItemBody.find("input[name='quType']").val();
  2590. var quId=quItemBody.find("input[name='quId']").val();
  2591. var orderById=quItemBody.find("input[name='orderById']").val();
  2592. var isRequired=quItemBody.find("input[name='isRequired']").val();
  2593. var hv=quItemBody.find("input[name='hv']").val();
  2594. var randOrder=quItemBody.find("input[name='randOrder']").val();
  2595. var cellCount=quItemBody.find("input[name='cellCount']").val();
  2596. var paramInt01=quItemBody.find("input[name='paramInt01']").val();
  2597. var paramInt02=quItemBody.find("input[name='paramInt02']").val();
  2598. var data="belongId="+questionBelongId+"&orderById="+orderById+"&tag="+svTag+"&quType="+quType+"&quId="+quId;
  2599. data+="&isRequired="+isRequired+"&hv="+hv+"&randOrder="+randOrder+"&cellCount="+cellCount;
  2600. data+="&paramInt01="+paramInt01+"&paramInt02="+paramInt02;
  2601. var quTitleSaveTag=quItemBody.find("input[name='quTitleSaveTag']").val();
  2602. if(quTitleSaveTag==0){
  2603. var quTitle=quItemBody.find(".quCoTitleEdit").html();
  2604. quTitle=escape(encodeURIComponent(quTitle));
  2605. data+="&quTitle="+quTitle;
  2606. }
  2607. //评分题选项td
  2608. var quItemOptions=quItemBody.find(".quCoItem table.mFillblankTable tr td.mFillblankTableEditTd");
  2609. $.each(quItemOptions,function(i){
  2610. var optionValue=$(this).find("label.quCoOptionEdit").html();
  2611. var optionId=$(this).find(".quItemInputCase input[name='quItemId']").val();
  2612. var quItemSaveTag=$(this).find(".quItemInputCase input[name='quItemSaveTag']").val();
  2613. if(quItemSaveTag==0){
  2614. optionValue=escape(encodeURIComponent(optionValue));
  2615. data+="&optionValue_"+i+"="+optionValue;
  2616. data+="&optionId_"+i+"="+optionId;
  2617. }
  2618. //更新 字母 title标记到选项上.
  2619. $(this).addClass("quOption_"+i);
  2620. });
  2621. //逻辑选项
  2622. var quLogicItems=quItemBody.find(".quLogicItem");
  2623. $.each(quLogicItems,function(i){
  2624. var thClass=$(this).attr("class");
  2625. thClass=thClass.replace("quLogicItem quLogicItem_","");
  2626. var quLogicId=$(this).find("input[name='quLogicId']").val();
  2627. var cgQuItemId=$(this).find("input[name='cgQuItemId']").val();
  2628. var skQuId=$(this).find("input[name='skQuId']").val();
  2629. var logicSaveTag=$(this).find("input[name='logicSaveTag']").val();
  2630. var visibility=$(this).find("input[name='visibility']").val();
  2631. var logicType=$(this).find("input[name='logicType']").val();
  2632. var itemIndex=thClass;
  2633. if(logicSaveTag==0){
  2634. data+="&quLogicId_"+itemIndex+"="+quLogicId;
  2635. data+="&cgQuItemId_"+itemIndex+"="+cgQuItemId;
  2636. data+="&skQuId_"+itemIndex+"="+skQuId;
  2637. data+="&visibility_"+itemIndex+"="+visibility;
  2638. data+="&logicType_"+itemIndex+"="+logicType;
  2639. }
  2640. });
  2641. $.ajax({
  2642. url:url,
  2643. data:data,
  2644. type:'post',
  2645. success:function(msg){
  2646. //alert(msg);// resultJson quItemId
  2647. if(msg!="error"){
  2648. var jsons=eval("("+msg+")");
  2649. //alert(jsons);
  2650. var quId=jsons.id;
  2651. quItemBody.find("input[name='quId']").val(quId);
  2652. var quItems=jsons.quItems;
  2653. $.each(quItems,function(i,item){
  2654. var quItemOption=quItemBody.find(".quOption_"+item.title);
  2655. quItemOption.find("input[name='quItemId']").val(item.id);
  2656. quItemOption.find(".quItemInputCase input[name='quItemSaveTag']").val(1);
  2657. });
  2658. //同步logic Id信息
  2659. var quLogics=jsons.quLogics;
  2660. $.each(quLogics,function(i,item){
  2661. var logicItem=quItemBody.find(".quLogicItem_"+item.title);
  2662. logicItem.find("input[name='quLogicId']").val(item.id);
  2663. logicItem.find("input[name='logicSaveTag']").val(1);
  2664. });
  2665. quItemBody.find("input[name='saveTag']").val(1);
  2666. quItemBody.find(".quCoTitle input[name='quTitleSaveTag']").val(1);
  2667. //执行保存下一题
  2668. saveQus(quItemBody.next(),callback);
  2669. //同步-更新题目排序号
  2670. quCBNum2++;
  2671. exeQuCBNum();
  2672. }
  2673. }
  2674. });
  2675. }else{
  2676. saveQus(quItemBody.next(),callback);
  2677. }
  2678. }
  2679. /** 添加选项 **/
  2680. /** 添加多项填空题项 **/
  2681. function addMultiFillblankItem(quItemBody,itemText){
  2682. //得判断是否是table类型
  2683. var newEditObj=null;
  2684. //ul li处理
  2685. var quScoreItemHtml=$("#mFillblankTableModel").html();
  2686. var quCoItemTable=quItemBody.find("table.mFillblankTable");
  2687. quCoItemTable.append("<tr class='mFillblankTableTr'>"+quScoreItemHtml+"</tr>");
  2688. quItemBody.find("input[name='saveTag']").val(0);
  2689. newEditObj=quCoItemTable.find("tr.mFillblankTableTr:last .editAble");
  2690. newEditObj.text(itemText);
  2691. if(itemText==""){
  2692. newEditObj.css("display","inline");
  2693. }
  2694. return newEditObj;
  2695. }
  2696. /** 删除多项填空题选项 **/
  2697. function deleteMultiFillblankOption(){
  2698. var optionParent=null;
  2699. optionParent=$(curEditObj).parents("tr.mFillblankTableTr");
  2700. var quOptionId=$(optionParent).find("input[name='quItemId']").val();
  2701. if(quOptionId!="" && quOptionId!="0" ){
  2702. var url=ctx+"/design/qu-multi-fillblank/ajaxDelete.do";
  2703. var data="quItemId="+quOptionId;
  2704. $.ajax({
  2705. url:url,
  2706. data:data,
  2707. type:"post",
  2708. success:function(msg){
  2709. if(msg=="true"){
  2710. delQuOptionCallBack(optionParent);
  2711. }
  2712. }
  2713. });
  2714. }else{
  2715. delQuOptionCallBack(optionParent);
  2716. }
  2717. }
  2718. /**逻辑设置**/
  2719. //添加逻辑选项
  2720. function addQuDialogLogicTr(autoClass,trueCallback,falseCallback){
  2721. //当前题的选项
  2722. var quItemBody=$(dwDialogObj).parents(".surveyQuItemBody");
  2723. var quItemInputCases=quItemBody.find(".quItemInputCase");
  2724. var quLogicInputCase=quItemBody.find(".quLogicInputCase");
  2725. var curQuId=quItemBody.find("input[name='quId']").val();
  2726. var quType=quItemBody.find("input[name='quType']").val();
  2727. var logicQuOptionSels=$("#dwQuLogicTable").find(".logicQuOptionSel");
  2728. var dwLogicQuSels=$("#dwQuLogicTable").find(".logicQuSel");
  2729. //判断有无选项任意选项
  2730. var executeTag=true;
  2731. $.each(logicQuOptionSels,function(){
  2732. var selOptionVal=$(this).val();
  2733. if(selOptionVal=="0"){
  2734. executeTag=false;
  2735. return false;
  2736. }
  2737. });
  2738. if(executeTag){
  2739. var appendTrHtml=$("#setQuLogicItemTrModel").html();
  2740. $("#dwQuLogicTable").append("<tr>"+appendTrHtml+"</tr>");
  2741. var lastTr=$("#dwQuLogicTable").find("tr").last();
  2742. if(quType==="FILLBLANK"){
  2743. lastTr.find(".ifSpanText1").text("如果回答");
  2744. }
  2745. if(autoClass){
  2746. var quLogicItemNum=quLogicInputCase.find("input[name='quLogicItemNum']");
  2747. var newQuLogicItemNum=(parseInt(quLogicItemNum.val())+1);
  2748. quLogicItemNum.val(newQuLogicItemNum);
  2749. var newQuLogicItemClass="quLogicItem_"+newQuLogicItemNum;
  2750. lastTr.attr("class",newQuLogicItemClass);
  2751. }
  2752. var dwQuOptionSel=lastTr.find(".logicQuOptionSel");
  2753. var eachTag=true;
  2754. $.each(quItemInputCases,function(){
  2755. // var optionText=$(this).prev().text();
  2756. var optionText=$(this).parent().find("label.quCoOptionEdit").text();
  2757. var optionId=$(this).find("input[name='quItemId']").val();
  2758. eachTag=true;
  2759. $.each(logicQuOptionSels,function(){
  2760. var selOptionVal=$(this).val();
  2761. if(selOptionVal==optionId){
  2762. eachTag=false;
  2763. return false;
  2764. }
  2765. });
  2766. if(eachTag){
  2767. dwQuOptionSel.append("<option value='"+optionId+"'>"+optionText+"</option>");
  2768. }
  2769. });
  2770. if(logicQuOptionSels.size()==0){
  2771. dwQuOptionSel.append("<option value='0'>任意选项</option>");
  2772. }else{
  2773. $("#dwQuLogicTable").find(".logicQuOptionSel option[value='0']").remove();
  2774. }
  2775. if(quType==="FILLBLANK"){
  2776. dwQuOptionSel.val("0");
  2777. }
  2778. var logicQuSel=lastTr.find(".logicQuSel");
  2779. var quItemBodys=$("#dwSurveyQuContent .surveyQuItemBody");
  2780. $.each(quItemBodys,function(){
  2781. //logicQuSels
  2782. if($(this).find(".quCoTitleEdit")[0]){
  2783. var quCoNumText=$(this).find(".quCoNum").text();
  2784. var quTitleText=$(this).find(".quCoTitleEdit").text();
  2785. var quId=$(this).find("input[name='quId']").val();
  2786. eachTag=true;
  2787. if(curQuId==quId){
  2788. eachTag=false;
  2789. }
  2790. if(eachTag){
  2791. $.each(dwLogicQuSels,function(){
  2792. var dwLogicQuSelVal=$(this).val();
  2793. if(dwLogicQuSelVal==quId){
  2794. eachTag=false;
  2795. return false;
  2796. }
  2797. });
  2798. }
  2799. if(eachTag){
  2800. logicQuSel.append("<option value='"+quId+"'>"+quCoNumText+quTitleText+"</option>");
  2801. }
  2802. }
  2803. });
  2804. if(quType==="ORDERQU"){
  2805. dwQuOptionSel.empty();
  2806. dwQuOptionSel.append("<option value='0'>回答完成</option>");
  2807. lastTr.find(".ifSpanText1").text("如果本题");
  2808. }
  2809. logicQuSel.append("<option value='1'>正常结束(计入结果)</option>");
  2810. if(autoClass){
  2811. logicQuSel.prepend("<option value=''>-请选择题目-</option>");
  2812. dwQuOptionSel.prepend("<option value=''>-请选择选项-</option>");
  2813. }
  2814. bindDialogRemoveLogic();
  2815. trueCallback();
  2816. }else{
  2817. falseCallback();
  2818. }
  2819. }
  2820. //绑定逻辑设置中选项删除事件
  2821. function bindDialogRemoveLogic(){
  2822. $(".dialogRemoveLogic").unbind();
  2823. $(".dialogRemoveLogic").click(function(){
  2824. var logicItemTr=$(this).parents("tr");
  2825. var logicItemTrClass=logicItemTr.attr("class");
  2826. //同时移除页面只保存的信息--注意如果已经保存到库中,修改
  2827. var quItemBody=$(dwDialogObj).parents(".surveyQuItemBody");
  2828. var quLogicItem=quItemBody.find("."+logicItemTrClass);
  2829. if(quLogicItem[0]){
  2830. //有则判断,是否已经加入到数据库
  2831. var quLogicIdVal=quLogicItem.find("input[name='quLogicId']").val();
  2832. if(quLogicIdVal!=""){
  2833. quLogicItem.find("input[name='visibility']").val(0);
  2834. quLogicItem.find("input[name='logicSaveTag']").val(0);
  2835. quItemBody.find("input[name='saveTag']").val(0);
  2836. }else{
  2837. quLogicItem.remove();
  2838. }
  2839. //更新select option信息
  2840. var logicQuOptionSel=logicItemTr.find(".logicQuOptionSel option:selected");
  2841. var logicQuSel=logicItemTr.find(".logicQuSel option:selected");
  2842. if(logicQuOptionSel.val()!=""){
  2843. $("#dwQuLogicTable").find(".logicQuOptionSel").append("<option value='"+logicQuOptionSel.val()+"'>"+logicQuOptionSel.text()+"</option>");
  2844. }
  2845. if(logicQuSel.val()!=""){
  2846. $("#dwQuLogicTable").find(".logicQuSel").append("<option value='"+logicQuSel.val()+"'>"+logicQuSel.text()+"</option>");
  2847. }
  2848. }
  2849. logicItemTr.remove();
  2850. refreshQuLogicInfo(quItemBody);
  2851. return false;
  2852. });
  2853. /*设置逻辑时,选中某个选项时的操作
  2854. $(".logicQuOptionSel").unbind();
  2855. $(".logicQuOptionSel").change(function(){
  2856. var thVal=$(this).val();
  2857. //刷新
  2858. $("#dwQuLogicTable").find(".logicQuOptionSel").not(this).find("option[value='"+thVal+"']").remove();
  2859. });*/
  2860. $(".logicQuSel").unbind();
  2861. $(".logicQuSel").change(function(){
  2862. var thVal=$(this).val();
  2863. //当题目选项中选项 提前结束,或正常结束,则不作处理
  2864. if(thVal!=="1" && thVal!=="2"){
  2865. //移除前面选项中存在的当前被选择的选项
  2866. $("#dwQuLogicTable").find(".logicQuSel").not(this).find("option[value='"+thVal+"']").remove();
  2867. }
  2868. });
  2869. }
  2870. //刷新每题的逻辑显示数目
  2871. function refreshQuLogicInfo(quItemBody){
  2872. var quLogicItems=quItemBody.find(".quLogicItem input[name='visibility'][value='1']");
  2873. var quLogicItemSize=quLogicItems.size();
  2874. if(quLogicItemSize>0){
  2875. quItemBody.find(".quLogicInfo").text(quLogicItemSize);
  2876. }
  2877. }
  2878. function exeQuCBNum(){
  2879. if(quCBNum==quCBNum2){
  2880. quCBNum=0;
  2881. quCBNum2=0;
  2882. //全部题排序号同步一次
  2883. //对如新增插入题-需要同步调整其它题的排序
  2884. //对如删除题-需要同步调整其它题的排序
  2885. }
  2886. }
  2887. function setSelectText(el) {
  2888. try {
  2889. window.getSelection().selectAllChildren(el[0]); //全选
  2890. window.getSelection().collapseToEnd(el[0]); //光标置后
  2891. /*var Check = check_title_select(el.text());
  2892. window.getSelection().selectAllChildren(el[0]); //全选
  2893. if (!Check) {
  2894. window.getSelection().collapseToEnd(el[0]); //光标置后
  2895. }*/
  2896. } catch (err) {
  2897. //在此处理错误
  2898. }
  2899. // if(document.selection){
  2900. //
  2901. // }else{
  2902. // var Check = check_title_select(el.text());
  2903. //
  2904. // window.getSelection().selectAllChildren(el[0]);//全选
  2905. // if(!Check){
  2906. // window.getSelection().collapseToEnd(el[0]);//光标置后
  2907. // }
  2908. // }
  2909. }
  2910. function validateGen(){
  2911. $("#dwCommonDialogForm").validate({
  2912. rules:{
  2913. setCellCount:{
  2914. required:true,
  2915. digits:true,
  2916. min:1
  2917. }
  2918. },
  2919. errorPlacement: function(error, element) {
  2920. //error.appendTo(element.parent().parent());
  2921. element.parent().append(error);
  2922. // $(element).css("borderColor","#C40000");
  2923. }
  2924. });
  2925. $("input[name='setCellCount']").unbind();
  2926. $("input[name='setCellCount']").blur(function(){
  2927. $("#dwCommonDialogForm").validate();
  2928. });
  2929. $("input[name='setCellCount']").blur();
  2930. }
  2931. function loadReset(){
  2932. var surveyQuItems=$("#dwSurveyQuContent .surveyQuItemBody");
  2933. $.each(surveyQuItems,function(i){
  2934. refreshQuLogicInfo($(this));
  2935. });
  2936. }
  2937. function notify(msg,delayHid) {
  2938. $(".notification").remove();
  2939. if(delayHid==null){
  2940. delayHid=5000;
  2941. }
  2942. $( "<div>" )
  2943. .appendTo( document.body )
  2944. .text( msg )
  2945. .addClass( "notification ui-state-default ui-corner-bottom" )
  2946. .position({
  2947. my: "center top",
  2948. at: "center top",
  2949. of: window
  2950. })
  2951. .show({
  2952. effect: "blind"
  2953. })
  2954. .delay( delayHid )
  2955. .hide({
  2956. effect: "blind",
  2957. duration: "slow"
  2958. }, function() {
  2959. $( this ).remove();
  2960. });
  2961. }