dw-design-init.js 125 KB

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