/**
*
* DWSurvey 3.0 中关于问卷设计Javascript
*
* @desc: design survey
* @author: keyuan(@keyuan, keyuan258@gmail.com)
* @github: https://github.com/wkeyuan/DWSurvey
*
* Copyright 2012, 2017 调问问卷(DWSurvey,http://dwsurvey.net)
*
*/
var browseWidth = $(window).width();
var browseHeight = $(window).height();
var ctx = "";
var questionBelongId = "";
var svTag = 2;
var quCBNum = 0; //比较值1
var quCBNum2 = 0; //比较值2
var curEditObj = null;
var curEditObjOldHtml = "";
var dwDialogObj = null;
var ueEditObj = null; //UE编辑器
var isDrag = false;
var appQuObj = null;
var myeditor = null;
var ueDialog = null;
var isSaveProgress = false;
$(document).ready(function () {
ctx = $("#ctx").val();
var surveyId = $.getUrlParam("surveyId");
$("#id").val(surveyId);
questionBelongId = $("#id").val();
browseWidth = $(window).width();
resizeWrapSize();
$(window).resize(function () {
browseWidth = $(window).width();
resizeWrapSize();
if (curEditObj != null) {
var editOffset = $(curEditObj).offset();
$("#dwCommonEditRoot").show();
$("#dwCommonEditRoot").offset({
top: editOffset.top,
left: editOffset.left,
});
}
if (dwDialogObj != null) {
setShowDialogOffset(dwDialogObj);
}
});
ueDialog = $("#dialog").dialog({
width: 680,
/*height:450,*/
autoOpen: false,
modal: true,
position: ["center", "top"],
title: "高级编辑器",
show: { effect: "blind", direction: "up", duration: 500 },
hide: {
effect: "blind",
direction: "left",
duration: 200,
open: function (event, ui) {},
},
});
myeditor = UE.getEditor("dialogUeditor", {
//toolbars:[[]],
initialContent: "", //初始化内容
elementPathEnabled: false,
wordCount: false,
autosave: false,
initialFrameWidth: 680,
initialFrameHeight: 300,
});
$(window).scroll(function () {
var scrollTop = $(window).scrollTop();
var quDesignDialog = $("#tools_wrap");
// var headerHeight = 55;
// var quDesignHeight = 125;
// 头部被隐藏设置为0
var headerHeight = 0;
var quDesignHeight = 0;
if (scrollTop >= headerHeight) {
quDesignDialog.css({ top: "0px" });
} else {
quDesignDialog.css({ top: headerHeight - scrollTop + "px" });
}
var dwBodyLeft = $("#dw_body_left");
var dwBodyRight = $("#dw_body_right");
if (scrollTop >= headerHeight) {
dwBodyLeft.css({ top: "136px" });
dwBodyRight.css({ top: "136px" });
} else {
dwBodyLeft.css({
top: headerHeight + quDesignHeight + 10 - scrollTop + "px",
});
dwBodyRight.css({
top: headerHeight + quDesignHeight + 10 - scrollTop + "px",
});
}
if (scrollTop >= headerHeight && scrollTop <= 100) {
$("#dw_body").css({
"margin-top": 135 + (100 - headerHeight - (100 - scrollTop)) + "px",
});
} else {
$("#dw_body").css({ "margin-top": "135px" });
}
if (curEditObj != null) {
var editOffset = $(curEditObj).offset();
$("#dwCommonEditRoot").show();
$("#dwCommonEditRoot").offset({
top: editOffset.top,
left: editOffset.left,
});
}
if (dwDialogObj != null) {
setShowDialogOffset(dwDialogObj);
}
});
//定时保存逻辑
function intervalSaveSurvey() {
var saveTag = $("#dwSurveyQuContentAppUl input[name='saveTag'][value='0']");
var nmSaveTag = $("#dw_body_content input[name='svyNmSaveTag'][value='0']");
var noteSaveTag = $(
"#dw_body_content input[name='svyNoteSaveTag'][value='0']"
);
if (
!isSaveProgress &&
(saveTag[0] || nmSaveTag[0] || noteSaveTag[0]) &&
!isDrag &&
curEditObj == null &&
dwDialogObj == null
) {
notify("自动保存中...", 5000);
saveSurvey(function () {
isSaveProgress = false;
notify("自动保存成功", 1000);
});
}
}
var intervalSave = setInterval(intervalSaveSurvey, 5000);
var isSort = false;
//拖入题目到问卷中
$(".dragQuUl li").draggable({
connectToSortable: "#dwSurveyQuContentAppUl",
zIndex: 27000,
cursor: "move",
cursorAt: { left: 40, top: 25 },
scroll: true,
scrollSensitivity: 30,
scrollSpeed: 30,
appendTo: "#dw_body_content",
helper: function (event) {
return $(this).find(".dwQuTypeModel").html();
},
start: function (event, ui) {
isDrag = true;
$("#tools_wrap").css({ zIndex: 30 });
/*
var scrollTop=$(window).scrollTop();
if(scrollTop>=70){
$("#tools_wrap").hide("slide",{direction:"up"},300,function(){
$("#tools_wrap").css({"zIndex":30});
}).show("slide",{direction:"up"},500);
}else{
$("#tools_wrap").css({"zIndex":30});
}
*/
resetQuItemHover(null);
//$("#tools_wrap").hide();
//console.debug($(this).attr("class")+":"+$(this).css("zIndex"));
dwCommonDialogHide();
curEditCallback();
},
drag: function (event, ui) {
//console.debug( $( "#designQutypes li" ).draggable('option', 'zIndex'));
//console.debug($(ui.helper).css("zIndex")+$(ui.helper).css("position"));
isDrag = true;
},
stop: function (event, ui) {
//$("#tools_wrap").fadeTo("slow", 0.6).fadeTo("slow", 1);
//$("#tools_wrap").css({"zIndex":200});
if (!isSort) {
$("#tools_wrap").animate({ zIndex: 200 }, 200, function () {
//$("#tools_wrap").css({"zIndex":200});
resetQuItem();
bindQuHoverItem();
});
}
/*var scrollTop=$(window).scrollTop();
if(scrollTop>=70){
$("#tools_wrap").hide("slide",{direction:"up"},100,function(){
$("#tools_wrap").css({"zIndex":200});
}).show("slide",{direction:"up"},800);
}else{
$("#tools_wrap").css({"zIndex":200});
}*/
if (false) {
isDrag = false;
if (appQuObj != null) {
//$("#defaultAppQuObj").before($(this).find(".quTypeModel").html());
$(appQuObj).before($(this).find(".dwQuTypeModel").html());
$(appQuObj).prev().hide();
$(appQuObj).prev().removeClass("quDragBody");
$(appQuObj).prev().show("slow");
resetQuItem();
bindQuHoverItem();
}
}
},
});
$("#dwSurveyQuContentAppUl").sortable({
revert: true,
delay: 800,
placeholder: "showLine",
tolerance: "pointer",
opacity: 0.7,
//helper : "clone",
handle: ".dwQuMove",
scrollSensitivity: 30,
scrollSpeed: 30,
start: function (event, ui) {
$("#tools_wrap").css({ zIndex: 30 });
$(".showLine").height(ui.item.height());
dwCommonDialogHide();
curEditCallback();
isSort = true;
},
sort: function (event, ui) {
isSort = true;
$(".ui-sortable-placeholder").css({ background: "red" });
},
receive: function (event, ui) {},
out: function (event, ui) {
isSort = false;
},
update: function (event, ui) {
if (!isDrag) {
$("#dwSurveyQuContentAppUl input[name='saveTag']").val(0);
}
},
stop: function (event, ui) {
if (isDrag) {
isDrag = false;
isSort = false;
ui.item.html(ui.item.find(".dwQuTypeModel").html());
ui.item.removeClass("ui-draggable");
ui.item.find(".quDragBody").removeClass("quDragBody");
//新加入题-选定题目标题
ui.item.find(".surveyQuItemBody").addClass("hover");
ui.item.addClass("li_surveyQuItemBody");
var quType = ui.item
.find(".surveyQuItemBody input[name='quType']")
.val();
if (quType != "PAGETAG") {
editAble(ui.item.find(".surveyQuItemBody .quCoTitleEdit"));
}
//var curItemBodyOffset=ui.item.offset();
//alert(curItemBodyOffset.top);
//$(document).scrollTop(curItemBodyOffset.top-370);
//$(document).animate({scrollTop:curItemBodyOffset.top-370}, 800);
//$("body").animate({scrollTop:curItemBodyOffset.top-370}, 800);
}
var curItemBodyOffset = ui.item.offset();
$("html,body").animate(
{ scrollTop: curItemBodyOffset.top - 370 },
500,
function () {
$("#tools_wrap").css({ zIndex: 200 });
resetQuItem();
bindQuHoverItem();
}
);
},
});
/* $("#dwSurveyTitle").keydown(function(event){
if(event.keyCode==13){
return false;
}
}); */
/*$(".tools_tabs_left ul li").hover(function(){
var curId=$(this).attr("id");
var tabId=curId.replace("_li","");
$(".tools_tab_div").hide();
$("#"+tabId).show();
$(".tools_tabs_left ul li").removeClass("current");
$(this).addClass("current");
},function(){});*/
var isDialogClick = false;
$(document).click(function () {
curEditCallback();
if (!isDialogClick) {
dwCommonDialogHide();
resetQuItemHover(null);
}
isDialogClick = false;
});
$("#dwCommonEditRoot").unbind();
$("#dwCommonEditRoot").click(function () {
return false;
});
$("#dwCommonDialog").click(function () {
isDialogClick = true;
});
$("#modelUIDialog").click(function () {
isDialogClick = true;
});
$("#modelUIDialog").dialog({
title: "选项设置",
height: 260,
width: 550,
modal: true,
autoOpen: false,
});
$(".tools_tabs_left ul li").click(function () {
var curId = $(this).attr("id");
var tabId = curId.replace("_li", "");
$(".tools_tab_div").hide();
$("#" + tabId).show();
$(".tools_tabs_left ul li").removeClass("current");
$(this).addClass("current");
});
bindQuHoverItem();
$("#surveyAttrSetToolbar").click(function () {
showUIDialog($(this));
/*$(".tabbarDialog").offset({top:$(this).offset().top+60});
$(".tabbarDialog").show();
$(this).addClass("hover");*/
return false;
});
$("#logicToolbar").click(function () {
showUIDialog($(this));
return false;
});
$("input[name='setAutoContacts']").change(function () {
var check = $(this).prop("checked");
if (check) {
$(".contactsFieldLi").show();
} else {
$(".contactsFieldLi").hide();
}
});
$(".option_range").change(function () {
var selVal = $(this).val();
$(this).next().hide();
if (selVal == 3) {
$(this).next().show();
validateGen();
} else if (selVal == "DATE") {
$(this).parents("ul").find(".option_range_date_li").show();
} else {
$(this).parents("ul").find(".option_range_date_li").hide();
}
});
$(".dwQuDialogAddLogic").click(function () {
addQuDialogLogicTr(
true,
function () {},
function () {
alert("此题已经设置了任意选项!");
}
);
return false;
});
$("#dwDialogSaveLogic").click(function () {
var quItemBody = $(dwDialogObj).parents(".surveyQuItemBody");
var quLogicInputCase = quItemBody.find(".quLogicInputCase");
var quType = quItemBody.find("input[name='quType']").val();
var dwQuLogicTrs = $("#dwQuLogicTable tr");
var quLogicItemHtml = $("#quLogicItemModel").html();
$.each(dwQuLogicTrs, function () {
var cgQuItemId = $(this).find(".logicQuOptionSel").val();
var skQuId = $(this).find(".logicQuSel").val();
var logicType = $(this).find(".logicType").val();
var quLogicItemClass = $(this).attr("class");
if (skQuId != "" && cgQuItemId != "") {
var quLogicItem = quLogicInputCase.find("." + quLogicItemClass);
if (quLogicItem[0]) {
var oldSkQuId = quLogicItem.find("input[name='skQuId']").val();
var oldCgQuItemId = quLogicItem
.find("input[name='cgQuItemId']")
.val();
var oldLogicType = quLogicItem.find("input[name='logicType']").val();
if (
oldSkQuId != skQuId ||
cgQuItemId != oldCgQuItemId ||
oldLogicType != logicType
) {
quLogicItem.find("input[name='logicSaveTag']").val("0");
quItemBody.find("input[name='saveTag']").val("0");
quLogicItem.find("input[name='skQuId']").val(skQuId);
quLogicItem.find("input[name='cgQuItemId']").val(cgQuItemId);
quLogicItem.find("input[name='logicType']").val(logicType);
}
} else {
quLogicInputCase.append(quLogicItemHtml);
quLogicItem = quLogicInputCase.find(".quLogicItem").last();
quLogicItem.addClass(quLogicItemClass);
quLogicItem.find("input[name='quLogicId']").val("");
quLogicItem.find("input[name='skQuId']").val(skQuId);
quLogicItem.find("input[name='cgQuItemId']").val(cgQuItemId);
quLogicItem.find("input[name='visibility']").val("1");
quLogicItem.find("input[name='logicType']").val(logicType);
quItemBody.find("input[name='saveTag']").val("0");
}
}
});
refreshQuLogicInfo(quItemBody);
dwCommonDialogHide();
return false;
});
$("#dwDialogSaveMoreItem").click(function () {
var quItemBody = $(dwDialogObj).parents(".surveyQuItemBody");
var quType = quItemBody.find("input[name='quType']").val();
var areaVal = $("#dwQuMoreTextarea").val();
var areaValSplits = areaVal.split("\n");
$.each(areaValSplits, function (i, item) {
item = $.trim(item);
if (item != "") {
if (quType == "RADIO") {
addRadioItem(quItemBody, item);
} else if (quType == "CHECKBOX") {
addCheckboxItem(quItemBody, item);
} else if (quType == "ORDERQU") {
addOrderquItem(quItemBody, item);
} else if (quType == "MULTIFILLBLANK") {
addMultiFillblankItem(quItemBody, item);
} else if (quType == "SCORE") {
addScoreItem(quItemBody, item);
}
}
});
$("#dwQuMoreTextarea").val("");
bindQuHoverItem();
dwCommonDialogHide();
});
$("#dwDialogUeOk").click(function () {
var myeditorContent = myeditor.getContent();
curEditObj = ueEditObj;
setCurEditContent(myeditorContent);
curEditCallback();
ueDialog.dialog("close");
ueEditObj = null;
curEditObj = null;
return false;
});
$("#dwDialogQuSetSave").click(function () {
if (dwDialogObj != null) {
var quItemBody = $(dwDialogObj).parents(".surveyQuItemBody");
//var quType=quItemBody.find("input[name='quType']").val();
var setIsRequired = $(
"#dwCommonDialog input[name='setIsRequired']:checked"
);
var setRandOrder = $(
"#dwCommonDialog input[name='setRandOrder']:checked"
);
var setHv = $("#dwCommonDialog select[name='setHv']").val();
var setCellCount = $("#dwCommonDialog input[name='setCellCount']").val();
var setAutoContacts = $(
"#dwCommonDialog input[name='setAutoContacts']:checked"
);
var setContactsField = $(
"#dwCommonDialog select[name='setContactsField']"
).val();
var oldHv = quItemBody.find("input[name='hv']").val();
var oldCellCount = quItemBody.find("input[name='cellCount']").val();
//alert(set_isRequired+":"+set_randOrder+":"+set_hv);
quItemBody.find("input[name='isRequired']").val(setIsRequired[0] ? 1 : 0);
quItemBody.find("input[name='hv']").val(setHv);
quItemBody.find("input[name='randOrder']").val(setRandOrder[0] ? 1 : 0);
quItemBody.find("input[name='cellCount']").val(setCellCount);
quItemBody.find("input[name='saveTag']").val(0);
var quType = quItemBody.find("input[name='quType']").val();
if (quType == "RADIO" || quType == "CHECKBOX" || quType == "FILLBLANK") {
quItemBody
.find("input[name='contactsAttr']")
.val(setAutoContacts[0] ? 1 : 0);
quItemBody.find("input[name='contactsField']").val(setContactsField);
if (quType == "CHECKBOX") {
var minNum = $(
"#dwCommonDialog .minNumLi input[name='minNum']"
).val();
var maxNum = $(
"#dwCommonDialog .maxNumLi input[name='maxNum']"
).val();
quItemBody.find("input[name='paramInt01']").val(minNum);
quItemBody.find("input[name='paramInt02']").val(maxNum);
}
} else if (quType === "MULTIFILLBLANK") {
var paramInt01 = $("#dwCommonDialog .minMaxLi .minNum");
if (paramInt01[0]) {
quItemBody.find("input[name='paramInt01']").val(paramInt01.val());
}
quItemBody.find("input[name='paramInt02']").val(10);
} else if (quType == "SCORE") {
quItemBody.find("input[name='paramInt01']").val(1);
var paramInt02 = $("#dwCommonDialog .scoreMinMax .maxScore");
if (paramInt02[0]) {
quItemBody.find("input[name='paramInt02']").val(paramInt02.val());
}
//根据分数设置评分选项
var paramInt01Val = 1;
var paramInt02Val = paramInt02.val();
var scoreNumTableTr = quItemBody.find(".scoreNumTable tr");
$.each(scoreNumTableTr, function () {
$(this).empty();
for (var i = paramInt01Val; i <= paramInt02Val; i++) {
$(this).append("
" + i + "
");
}
});
} else if (quType === "UPLOADFILE") {
var fileTypeExtsField = $("#dwCommonDialog .fileTypeExts");
var maxSizeField = $("#dwCommonDialog .maxSize");
var uploadNumField = $("#dwCommonDialog .uploadNum");
quItemBody
.find("input[name='paramInt01']")
.val(fileTypeExtsField.val());
quItemBody.find("input[name='paramInt02']").val(maxSizeField.val());
quItemBody.find("input[name='randOrder']").val(uploadNumField.val());
}
var selVal = $(".option_range").val();
if (selVal == 1) {
//横排 transverse
if (oldHv == 3) {
quTableOptoin2Li(quItemBody);
}
quItemBody.find(".quCoItem ul").addClass("transverse");
} else if (selVal == 2) {
if (oldHv == 3) {
quTableOptoin2Li(quItemBody);
} else {
//竖排
quItemBody.find(".quCoItem ul").removeClass("transverse");
quItemBody.find(".quCoItem ul li").width("");
}
} else if (selVal == 3) {
if (!$("#dwCommonDialogForm").valid()) {
notify("参数不对,请检查!", 800);
return false;
}
if (oldHv == 3) {
if (oldCellCount != setCellCount) {
quTableOption2Table(quItemBody);
}
} else {
quLiOption2Table(quItemBody);
}
}
}
dwCommonDialogHide();
return false;
});
$("#dwDialogSurveyAttrSave").click(function () {
$("input[name='svyAttrSaveTag']").val(0);
notify("保存中...", 5000);
saveSurvey(function () {
isSaveProgress = false;
notify("保存成功", 1000);
});
//关闭窗口
$("#modelUIDialog").dialog("close");
dwCommonDialogHide();
/*var url="";
var data="";
$.ajax({
url:url,
data:data,
type:"post",
success:function(msg){
alert(msg);
}
});*/
return false;
});
$("#dwDialogQuOptionSetSave").click(function () {
var quItemBody = $(dwDialogObj).parents(".surveyQuItemBody");
var quOptionParent = $(dwDialogObj).parent();
var quOption_isNote = $("#modelUIDialog input[name='quOption_isNote']");
var isNote = quOptionParent.find("input[name='isNote']");
var checkType = quOptionParent.find("input[name='checkType']");
var isRequiredFill = quOptionParent.find("input[name='isRequiredFill']");
if (
quOption_isNote.prop("checked") &&
(isNote.val() == "0" || isNote.val() == "")
) {
quItemBody.find("input[name='saveTag']").val(0);
quOptionParent.find("input[name='quItemSaveTag']").val(0);
}
if (quOption_isNote.prop("checked")) {
isNote.val(1);
if (!quOptionParent.find(".optionInpText")[0]) {
$(dwDialogObj).after("");
}
quOptionParent.find(".optionInpText").show();
} else {
isNote.val(0);
quOptionParent.find(".optionInpText").hide();
}
checkType.val("NO");
isRequiredFill.val(0);
//显示填空框
// $(dwDialogObj).after("");
// quOptionParent.find(".optionInpText").show();
$("#modelUIDialog").dialog("close");
//resetQuItemHover(null);
dwCommonDialogHide();
return false;
});
$("#dwDialogQuFillOptionSave").click(function () {
var quItemBody = $(dwDialogObj).parents(".surveyQuItemBody");
var quFill_checkType = $("#modelUIDialog select[name='quFill_checkType']");
var qu_inputWidth = $("#modelUIDialog input[name='qu_inputWidth']");
var qu_inputRow = $("#modelUIDialog input[name='qu_inputRow']");
var option_range_date = $("#modelUIDialog select.option_range_date");
var checkType = quItemBody.find("input[name='checkType']");
var answerInputWidth = quItemBody.find("input[name='answerInputWidth']");
var answerInputRow = quItemBody.find("input[name='answerInputRow']");
var paramInt01 = quItemBody.find("input[name='paramInt01']");
if (
answerInputWidth.val() != qu_inputWidth.val() ||
answerInputRow.val() != qu_inputRow.val() ||
(checkType[0] && checkType.val() != quFill_checkType.val())
) {
quItemBody.find("input[name='saveTag']").val(0);
}
var checkTypeVal = quFill_checkType.val();
if (checkTypeVal == "") {
checkTypeVal = "NO";
}
if (checkType[0]) {
checkType.val(checkTypeVal);
if (checkTypeVal == "DATE") {
if (paramInt01[0]) {
paramInt01.val(option_range_date.val());
} else {
quItemBody
.find(".quInputCase")
.append(
''
);
}
quItemBody.find("input[name='saveTag']").val(0);
}
}
answerInputWidth.val(qu_inputWidth.val());
answerInputRow.val(qu_inputRow.val());
if (qu_inputRow.val() > 1) {
quItemBody.find(".quFillblankAnswerTextarea").show();
quItemBody.find(".quFillblankAnswerInput").hide();
quItemBody
.find(".quFillblankAnswerTextarea")
.attr("rows", qu_inputRow.val());
quItemBody.find(".quFillblankAnswerTextarea").width(qu_inputWidth.val());
} else {
quItemBody.find(".quFillblankAnswerTextarea").hide();
quItemBody.find(".quFillblankAnswerInput").show();
quItemBody.find(".quFillblankAnswerInput").width(qu_inputWidth.val());
}
quItemBody.find(".quCoItemUlLi").removeClass("hover");
$("#modelUIDialog").dialog("close");
resetQuItemHover(null);
dwCommonDialogHide();
return false;
});
function quTableOptoin2Li(quItemBody) {
var quCoItemTds = quItemBody.find(".quCoItem .tableQuColItem tr td");
var ulLiHtml = "
";
$.each(quCoItemTds, function () {
var tdHtml = $(this).html();
if (tdHtml != "") {
ulLiHtml += "
" + tdHtml + "
";
}
});
ulLiHtml += "
";
quItemBody.find(".quCoItem table.tableQuColItem").remove();
quItemBody.find(".quCoItem").append(ulLiHtml);
quItemBody.find(".quCoItem ul li").width("");
quItemBody.find(".quCoItem ul li label").width("");
bindQuHoverItem();
}
function quLiOption2Table(quItemBody) {
var quCoItemlis = quItemBody.find(".quCoItem ul li");
var quCoItemLiSize = quCoItemlis.size();
var cellCount = $("#dwCommonDialog input[name='setCellCount']").val();
var rowCount = parseInt(quCoItemLiSize / cellCount);
var remainder = quCoItemLiSize % cellCount;
var tdWidth = parseInt(600 / cellCount);
var tdLabelWidth = tdWidth - 10;
if (remainder > 0) {
rowCount = rowCount + 1;
}
var tableHtmlBuild = "
";
for (var i = 0; i < rowCount; i++) {
tableHtmlBuild += "
";
//0*2+(1)=1 0*2+(2)=2 1*2+(1)=3 1*2+(2)=4 2*2+1=5 2*2+2=6
for (var j = 0; j < cellCount; j++) {
var liIndex = i * cellCount + j;
if (liIndex < quCoItemLiSize) {
var liObj = $(quCoItemlis).get(liIndex);
tableHtmlBuild += "
" + $(liObj).html() + "
";
} else {
tableHtmlBuild += "
";
}
}
tableHtmlBuild += "
";
}
tableHtmlBuild += "
";
quItemBody.find(".quCoItem ul").remove();
quItemBody.find(".quCoItem").append(tableHtmlBuild);
//设置亮度
quItemBody.find(".quCoItem .tableQuColItem tr td").width(tdWidth);
quItemBody
.find(".quCoItem .tableQuColItem tr td label")
.width(tdLabelWidth);
bindQuHoverItem();
}
//表格变换了行数之后
function quTableOption2Table(quItemBody) {
var quCoItemTds = quItemBody.find(".quCoItem .tableQuColItem tr td");
var quCoItemTdSize = quCoItemTds.size();
var cellCount = $("#dwCommonDialog input[name='setCellCount']").val();
var rowCount = parseInt(quCoItemTdSize / cellCount);
var remainder = quCoItemTdSize % cellCount;
var tdWidth = parseInt(600 / cellCount);
var tdLabelWidth = tdWidth - 10;
if (remainder > 0) {
rowCount = rowCount + 1;
}
var tableHtmlBuild = "
";
for (var i = 0; i < rowCount; i++) {
tableHtmlBuild += "
";
//0*2+(1)=1 0*2+(2)=2 1*2+(1)=3 1*2+(2)=4 2*2+1=5 2*2+2=6
for (var j = 0; j < cellCount; j++) {
var tdIndex = i * cellCount + j;
if (tdIndex < quCoItemTdSize) {
var tdObj = $(quCoItemTds).get(tdIndex);
tableHtmlBuild += "
" + $(tdObj).html() + "
";
} else {
tableHtmlBuild += "
";
}
}
tableHtmlBuild += "
";
}
tableHtmlBuild += "
";
quItemBody.find(".quCoItem table.tableQuColItem").remove();
quItemBody.find(".quCoItem").append(tableHtmlBuild);
//设置亮度
quItemBody.find(".quCoItem .tableQuColItem tr td").width(tdWidth);
quItemBody
.find(".quCoItem .tableQuColItem tr td label")
.width(tdLabelWidth);
bindQuHoverItem();
}
$("#dwSurveyName").click(function () {
editAble($(this));
return false;
});
$("#dwSurveyNoteEdit").click(function () {
editAble($(this));
return false;
});
$(".dwComEditMenuBtn").click(function () {
//dwComEditMenuBtn
var dwMenuUl = $(".dwComEditMenuUl:visible");
//根据当前编辑的对象
var quItemBody = $(curEditObj).parents(".surveyQuItemBody");
var quType = quItemBody.find("input[name='quType']").val();
var curEditClass = $(curEditObj).attr("class");
if (quType == "RADIO" || quType == "CHECKBOX") {
if (curEditClass.indexOf("quCoTitleEdit") < 0) {
$(".dwComEditMenuUl .option_Set_Li").show();
} else {
$(".dwComEditMenuUl .option_Set_Li").hide();
}
} else {
$(".dwComEditMenuUl .option_Set_Li").hide();
}
if (dwMenuUl[0]) {
$(".dwComEditMenuUl").hide();
} else {
$(".dwComEditMenuUl").show();
}
return false;
});
$("#dwCommonDialogClose").click(function () {
dwCommonDialogHide();
resetQuItemHover(null);
});
$("#dwComEditContent").keyup(function () {
$(curEditObj).html($("#dwComEditContent").html());
$(curEditObj).css("display", "inline-block");
var dwEditWidth = $(curEditObj).width();
//var dwEditWidth=$("#dwComEditContent").width();
var quItemBody = $(curEditObj).parents(".surveyQuItemBody");
var thClass = curEditObj.attr("class");
if (
thClass.indexOf("dwSvyNoteEdit") < 0 &&
thClass.indexOf("dwSvyName") < 0
) {
var hv = quItemBody.find("input[name='hv']").val();
if (hv == 3) {
dwEditWidth > 600 ? (dwEditWidth = 600) : dwEditWidth;
} else {
dwEditWidth < 200
? (dwEditWidth = 200)
: dwEditWidth > 600
? (dwEditWidth = 600)
: dwEditWidth;
}
} else {
dwEditWidth = 680;
}
$("#dwCommonEditRoot .dwCommonEdit").css("width", dwEditWidth);
if (curEditObj != null) {
var editOffset = $(curEditObj).offset();
$("#dwCommonEditRoot").show();
$("#dwCommonEditRoot").offset({
top: editOffset.top,
left: editOffset.left,
});
}
});
$("#previewBtn").click(function () {
curEditCallback();
dwCommonDialogHide();
resetQuItemHover(null);
saveSurvey(function () {
isSaveProgress = false;
let href = "/ggfw/static/diaowen/preview.html?surveyId=" + questionBelongId;
let prefix = window.location.href.split("/static/");
console.warn("design.js", prefix[0] + href);
window.location.href = prefix[0] + href;
});
return false;
});
$("#saveBtn").click(function () {
curEditCallback();
dwCommonDialogHide();
resetQuItemHover(null);
notify("保存中...", 5000);
saveSurvey(function () {
isSaveProgress = false;
notify("保存成功", 1000);
});
});
$("#publishBtn").click(function () {
curEditCallback();
dwCommonDialogHide();
resetQuItemHover(null);
saveSurvey(function () {
isSaveProgress = false;
let href = "/ggfw/static/diaowen/preview.html?surveyId=" + questionBelongId;
let prefix = window.location.href.split("/static/");
console.warn("design2.js", prefix[0] + href);
window.location.href = prefix[0] + href;
});
});
function saveSurvey(callback) {
isSaveProgress = true;
var svyNmSaveTag = $("input[name='svyNmSaveTag']").val();
var svyNoteSaveTag = $("input[name='svyNoteSaveTag']").val();
var svyAttrSaveTag = $("input[name='svyAttrSaveTag']").val();
if (
svyNmSaveTag === "0" ||
svyNoteSaveTag === "0" ||
svyAttrSaveTag === "0"
) {
var url = ctx + "/design/survey-design/ajaxSave.do";
var data = "surveyId=" + questionBelongId;
if (svyNmSaveTag === "0") {
var dwSurveyName = $("#dwSurveyName").html();
dwSurveyName = escape(encodeURIComponent(dwSurveyName));
data += "&svyName=" + dwSurveyName;
var dwSurveyNameText = $("#dwSurveyName").text();
dwSurveyNameText = escape(encodeURIComponent(dwSurveyNameText));
data += "&svyNameText=" + dwSurveyNameText;
}
if (svyNoteSaveTag === "0") {
var dwSurveyNoteEdit = $("#dwSurveyNoteEdit").html();
dwSurveyNoteEdit = escape(encodeURIComponent(dwSurveyNoteEdit));
data += "&svyNote=" + dwSurveyNoteEdit;
}
var effective = $("input[name='effective']:checked")[0] ? "4" : "0";
var effectiveIp = $("input[name='effectiveIp']:checked")[0] ? "1" : "0";
var rule = $("input[name='rule']:checked")[0] ? "3" : "0";
var ruleCode = $("input[name='ruleCode']").val();
var refresh = $("input[name='refresh']:checked")[0] ? "1" : "0";
var mailOnly = $("input[name='mailOnly']:checked")[0] ? "1" : "0";
var ynEndNum = $("input[name='ynEndNum']:checked")[0] ? "1" : "0";
var ynEndTime = $("input[name='ynEndTime']:checked")[0] ? "1" : "0";
var endTime = $("input[name='endTime']").val();
var endNum = $("input[name='endNum']").val();
var showShareSurvey = $("input[name='showShareSurvey']:checked")[0]
? "1"
: "0";
var showAnswerDa = $("input[name='showAnswerDa']:checked")[0] ? "1" : "0";
data +=
"&effective=" +
effective +
"&effectiveIp=" +
effectiveIp +
"&rule=" +
rule +
"&refresh=" +
refresh +
"&ruleCode=" +
ruleCode +
"&mailOnly=" +
mailOnly;
data +=
"&ynEndNum=" +
ynEndNum +
"&ynEndTime=" +
ynEndTime +
"&endTime=" +
endTime +
"&endNum=" +
endNum;
data +=
"&showShareSurvey=" + showShareSurvey + "&showAnswerDa=" + showAnswerDa;
$.ajax({
headers: {
token: localStorage.getItem("Ls-Token"),
},
url: url,
data: data,
type: "post",
success: function (msg) {
$("input[name='svyNmSaveTag']").val(1);
$("input[name='svyNoteSaveTag']").val(1);
$("input[name='svyAttrSaveTag']").val(1);
var fristQuItemBody = $(
"#dwSurveyQuContent .li_surveyQuItemBody"
).first();
saveQus(fristQuItemBody, callback);
},
});
} else {
var fristQuItemBody = $(
"#dwSurveyQuContent .li_surveyQuItemBody"
).first();
saveQus(fristQuItemBody, callback);
}
}
querySurveyAll();
resetQuItem();
});
function resetQuItem() {
if (isDrag) {
isDrag = false;
}
var surveyQuItems = $("#dwSurveyQuContent .surveyQuItemBody");
var indexNum = 1;
$.each(surveyQuItems, function (i) {
$(this)
.find(".quInputCase input[name='orderById']")
.val(i + 1);
var quType = $(this).find("input[name='quType']").val();
if (quType != "PAGETAG" && quType != "PARAGRAPH") {
$(this)
.find(".quCoTitle .quCoNum")
.text(indexNum++ + "、");
}
});
var pageTags = $(
"#dwSurveyQuContent .surveyQuItemBody input[name='quType'][value='PAGETAG']"
);
var pageTagSize = pageTags.size() + 1;
$.each(pageTags, function (i) {
var quItemBody = $(this).parents(".surveyQuItemBody");
var pageQuContent = quItemBody.find(".pageQuContent");
pageQuContent.text("下一页(" + (i + 1) + "/" + pageTagSize + ")");
});
}
function bindQuHoverItem() {
$(".SeniorEdit").unbind();
$(".SeniorEdit").click(function () {
ueDialog.dialog("open");
ueEditObj = curEditObj;
myeditor.destroy();
myeditor = null;
myeditor = UE.getEditor("dialogUeditor", {
//toolbars:[[]],
initialContent: "", //初始化编辑器的内容
elementPathEnabled: false,
wordCount: false,
autosave: false,
//下面注释参数不要随便调,在滚动时效果更好
//enableAutoSave:false,
//autoHeightEnabled:false,
//topOffset:60,
//imagePopup:true,
initialFrameWidth: 678,
initialFrameHeight: 300,
});
myeditor.ready(function () {
setTimeout(function () {
if (curEditObj != null) {
myeditor.setContent($(curEditObj).html());
myeditor.focus(true);
}
}, 800);
});
return false;
});
$(".option_Set").unbind();
$(".option_Set").click(function () {
/*var quItemBody=$(curEditObj).parents(".surveyQuItemBody");
quItemBody.addClass("hover");*/
//showDialog($(curEditObj));
showUIDialog($(curEditObj));
/*resetQuItemHover(quItemBody);
$(this).parents(".quCoItemUlLi").addClass("menuBtnClick");*/
return false;
});
$("#dwSurveyQuContent .surveyQuItemBody").unbind();
$("#dwSurveyQuContent .surveyQuItemBody").hover(
function () {
if (isDrag) {
appQuObj = $(this);
} else {
$(this).addClass("hover");
$(".pageBorderTop").removeClass("nohover");
appQuObj = $(this);
}
},
function () {
$(".pageBorderTop").addClass("nohover");
$(this).removeClass("showLine");
var hoverTag = $(this).find("input[name='hoverTag']").val();
if (hoverTag != "hover") {
$(this).removeClass("hover");
}
appQuObj = null;
}
);
$("#dwSurveyQuContent .surveyQuItemBody").click(function () {
curEditCallback();
dwCommonDialogHide();
$(".surveyQuItemBody").removeClass("hover");
$(".surveyQuItemBody").find("input[name='hoverTag']").val("0");
$(this).addClass("hover");
return false;
});
$(".quCoItemUlLi").unbind();
$(".quCoItemUlLi").hover(
function () {
if (!isDrag) {
$(this).addClass("hover");
}
},
function () {
var thClass = $(this).attr("class");
if (thClass.indexOf("menuBtnClick") <= 0) {
$(this).removeClass("hover");
}
}
);
$("#dwSurveyQuContent .editAble").unbind();
$("#dwSurveyQuContent .editAble").click(function () {
editAble($(this));
return false;
});
$(".dwQuDelete").unbind();
$(".dwQuDelete").click(function () {
var quBody = $(this).parents(".surveyQuItemBody");
if (confirm("确认要删除此题吗?")) {
var quId = quBody.find("input[name='quId']").val();
if (quId != "") {
var url = ctx + "/design/question/ajaxDelete.do";
var data = "quId=" + quId;
$.ajax({
headers: {
token: localStorage.getItem("Ls-Token"),
},
url: url,
data: data,
type: "post",
success: function (msg) {
if (msg == "true") {
quBody.hide("slow", function () {
$(this).parent().remove();
resetQuItem();
});
} else {
alert("删除失败,请重试!");
}
},
});
} else {
quBody.hide("slow", function () {
$(this).parent().remove();
resetQuItem();
});
}
}
return false;
});
$(".questionUp").unbind();
$(".questionUp").click(function () {
var nextQuBody = $(this).parents(".li_surveyQuItemBody");
var prevQuBody = $(nextQuBody).prev();
if (prevQuBody[0]) {
var prevQuBodyHtml = prevQuBody.html();
$(nextQuBody).after(
"
" + prevQuBodyHtml + "
"
);
var newNextObj = $(nextQuBody).next();
newNextObj.hide();
newNextObj.slideDown("slow");
prevQuBody.slideUp("slow", function () {
prevQuBody.remove();
resetQuItem();
bindQuHoverItem();
});
nextQuBody.find("input[name='saveTag']").val(0);
newNextObj.find("input[name='saveTag']").val(0);
} else {
notify("已经是第一个了!", 1000);
//alert("已经是第一个了!");
}
});
$(".questionDown").unbind();
$(".questionDown").click(function () {
var prevQuBody = $(this).parents(".li_surveyQuItemBody");
var nextQuBody = $(prevQuBody).next();
if (nextQuBody[0]) {
var nextQuBodyHtml = nextQuBody.html();
$(prevQuBody).before(
"
" + nextQuBodyHtml + "
"
);
var newPrevObj = $(prevQuBody).prev();
newPrevObj.hide();
newPrevObj.slideDown("slow");
nextQuBody.slideUp("slow", function () {
nextQuBody.remove();
resetQuItem();
bindQuHoverItem();
});
prevQuBody.find("input[name='saveTag']").val(0);
newPrevObj.find("input[name='saveTag']").val(0);
} else {
alert("已经是最后一个了!");
}
});
$(".dwQuSet").unbind();
$(".dwQuSet").click(function () {
showDialog($(this));
var quItemBody = $(this).parents(".surveyQuItemBody");
resetQuItemHover(quItemBody);
validateGen();
return false;
});
$(".dwQuLogic").unbind();
$(".dwQuLogic").click(function () {
showDialog($(this));
var quItemBody = $(this).parents(".surveyQuItemBody");
var quType = quItemBody.find("input[name='quType']").val();
var fristQuItemBody = $("#dwSurveyQuContent .li_surveyQuItemBody").first();
saveQus(fristQuItemBody, function () {
$(".dwQuDialogCon").hide();
$("#dwCommonDialog .dwQuDialogLogic").show();
resetQuItemHover(quItemBody);
bindDialogRemoveLogic();
$("#dwQuLogicTable").empty();
//逻辑数据回显示
var quLogicItems = quItemBody.find(".quLogicItem");
if (quLogicItems[0]) {
$.each(quLogicItems, function () {
var skQuId = $(this).find("input[name='skQuId']").val();
var cgQuItemId = $(this).find("input[name='cgQuItemId']").val();
var logicType = $(this).find("input[name='logicType']").val();
// 设置分数 geLe scoreNum
var geLe = "";
var scoreNum = "";
var thClass = $(this).attr("class");
thClass = thClass.replace("quLogicItem", "");
thClass = thClass.replace(" ", "");
addQuDialogLogicTr(
false,
function () {
var lastTr = $("#dwQuLogicTable").find("tr").last();
lastTr.attr("class", thClass);
lastTr.find(".logicQuOptionSel").val(cgQuItemId);
lastTr.find(".logicQuSel").val(skQuId);
lastTr.find(".logicType").val(logicType);
lastTr.find(".logicQuOptionSel").change();
lastTr.find(".logicQuSel").change();
},
function () {}
);
});
} else {
$(".dwQuDialogAddLogic").click();
}
});
return false;
});
$(".addOption,.addColumnOption,.addRowOption").unbind();
$(".addOption,.addColumnOption,.addRowOption").click(function () {
var quItemBody = $(this).parents(".surveyQuItemBody");
var quType = quItemBody.find("input[name='quType']").val();
if (quType == "RADIO") {
editAble(addRadioItem(quItemBody, ""));
} else if (quType == "CHECKBOX") {
editAble(addCheckboxItem(quItemBody, ""));
} else if (quType == "ORDERQU") {
editAble(addOrderquItem(quItemBody, "新选项"));
} else if (quType == "MULTIFILLBLANK") {
editAble(addMultiFillblankItem(quItemBody, "新选项"));
} else if (quType == "SCORE") {
editAble(addScoreItem(quItemBody, "新选项"));
}
bindQuHoverItem();
return false;
});
$(".addMoreOption,.addMoreRowOption,.addMoreColumnOption").unbind();
$(".addMoreOption,.addMoreRowOption,.addMoreColumnOption").click(function () {
showDialog($(this));
var quItemBody = $(this).parents(".surveyQuItemBody");
resetQuItemHover(quItemBody);
return false;
});
$(".quFillblankItem .dwFbMenuBtn").unbind();
$(".quFillblankItem .dwFbMenuBtn").click(function () {
showUIDialog($(this));
return false;
});
$(".dwOptionUp").unbind();
$(".dwOptionUp").click(function () {
//curEditObj
//判断类型区别table跟ul中的排序
var quItemBody = $(curEditObj).parents(".surveyQuItemBody");
var quType = quItemBody.find("input[name='quType']").val();
var hv = quItemBody.find("input[name='hv']").val();
if (hv == 3) {
var nextTd = $(curEditObj).parents("td");
var prevTd = nextTd.prev();
if (prevTd[0]) {
dwOptionUp(prevTd, nextTd);
} else {
var nextTr = $(curEditObj).parents("tr");
var prevTr = nextTr.prev();
if (prevTr[0]) {
prevTd = prevTr.find("td").last();
dwOptionUp_1(prevTr, nextTr);
} else {
alert("已经是第一个了!");
}
}
} else {
var nextLi = null;
var prevLi = null;
var nextLiAfterHtml = "";
if (quType === "RADIO" || quType === "CHECKBOX" || quType === "ORDERQU") {
nextLi = $(curEditObj).parents("li.quCoItemUlLi");
prevLi = nextLi.prev();
var prevLiHtml = prevLi.html();
nextLiAfterHtml = "