function submit(data) { //保存驱动配置 doPoster("/tableGroup/edit", data, function (data) { if (data.success == true) { bootGrowl("保存表映射关系成功!", "success"); backMappingPage($("#tableGroupSubmitBtn")); } else { bootGrowl(data.resultValue, "danger"); } }); } // 初始化映射关系参数 function initFieldMappingParams(){ // 生成JSON参数 var row = []; var $fieldMappingList = $("#fieldMappingList"); $fieldMappingList.find("tr").each(function(k,v){ var $pk = $(this).find("td:eq(2)").html(); row.push({ "source":$(this).find("td:eq(0)").text(), "target":$(this).find("td:eq(1)").text(), "pk":($pk != "" || $.trim($pk).length > 0) }); }); $("#fieldMapping").val(JSON.stringify(row)); } // 获取选择的CheckBox[value] function getCheckedBoxSize($checkbox){ var checked = []; $checkbox.each(function(){ if($(this).prop('checked')){ checked.push($(this).attr("id")); } }); return checked; } // 绑定删除表字段复选框事件 function bindFieldMappingCheckBoxClick(){ var $checkboxAll = $('.fieldMappingDeleteCheckboxAll'); var $checkbox = $('.fieldMappingDeleteCheckbox'); var $delBtn = $("#fieldMappingDelBtn"); $checkboxAll.iCheck({ checkboxClass: 'icheckbox_square-red', labelHover: false, cursor: true }).on('ifChecked', function (event) { $checkbox.iCheck('check'); }).on('ifUnchecked', function (event) { $checkbox.iCheck('uncheck'); }).on('ifChanged', function (event) { $delBtn.prop('disabled', getCheckedBoxSize($('.fieldMappingDeleteCheckbox')).length < 1); }); // 初始化icheck插件 $checkbox.iCheck({ checkboxClass: 'icheckbox_square-red', cursor: true }).on('ifChanged', function (event) { // 阻止tr触发click事件 event.stopPropagation(); event.cancelBubble=true; $delBtn.prop('disabled', getCheckedBoxSize($checkbox).length < 1); }); } // 绑定字段映射表格点击事件 function bindFieldMappingListClick(){ // 行双击事件 var $tr = $("#fieldMappingList tr"); $tr.unbind("dblclick"); $tr.bind('dblclick', function () { var $pk = $(this).find("td:eq(2)"); var $text = $pk.html(); var isPk = $text == "" || $.trim($text).length == 0; $pk.html(isPk ? '' : ''); initFieldMappingParams(); }); } // 绑定下拉选择事件自动匹配相似字段事件 function bindTableFieldSelect(){ var $sourceSelect = $("#sourceTableField"); var $targetSelect = $("#targetTableField"); // 绑定数据源下拉切换事件 $sourceSelect.on('changed.bs.select',function(e){ $targetSelect.selectpicker('val', $(this).selectpicker('val')); }); bindFieldMappingAddClick($sourceSelect, $targetSelect) } // 绑定添加字段映射点击事件 function bindFieldMappingAddClick($sourceSelect, $targetSelect){ var $btn = $("#fieldMappingAddBtn"); $btn.bind('click', function(){ var sField = $sourceSelect.selectpicker("val"); var tField = $targetSelect.selectpicker("val"); sField = sField == null ? "" : sField; tField = tField == null ? "" : tField; // 非空检查 if(sField == "" && tField == ""){ bootGrowl("至少有一个表字段.", "danger"); return; } // 检查重复字段 var repeated = false; var $fieldMappingList = $("#fieldMappingList"); var $tr = $fieldMappingList.find("tr"); $tr.each(function(k,v){ var sf = $(this).find("td:eq(0)").text(); var tf = $(this).find("td:eq(1)").text(); if(repeated = (sField==sf && tField==tf)){ bootGrowl("映射关系已存在.", "danger"); return false; } }); if(repeated){ return; } var index = $tr.size(); var trHtml = "