|
@ -10,11 +10,14 @@
|
|
|
var schemeVersionList = [];
|
|
|
var validAdd = null;
|
|
|
|
|
|
|
|
|
/* *************************** 自定义模块 ***************************** */
|
|
|
var jobLayout = {
|
|
|
dialog:null,
|
|
|
grid:null,
|
|
|
cacheDatasetIdList:[],
|
|
|
cacheDatasetCodeList:[],
|
|
|
cacheMappingInitData:[],
|
|
|
cacheMappingData:[],
|
|
|
init:function(){
|
|
|
var me = this;
|
|
|
$('.m-retrieve-area').show();
|
|
@ -51,6 +54,7 @@
|
|
|
validate : true,
|
|
|
unSetValidateAttr:false,
|
|
|
columns: [
|
|
|
{ display: 'status', name: 'status', hide:true },
|
|
|
{ display: 'scheme_id', name: 'scheme_id', hide:true },
|
|
|
{ display: 'datasetId', name: 'datasetId', hide:true },
|
|
|
{display:'适配方案',name:'', width: '20%',render: function (row, rowindex, value, column) {
|
|
@ -64,7 +68,7 @@
|
|
|
return select.prop("outerHTML");
|
|
|
}},
|
|
|
{display:'版本',name:'',width: '20%',render: function (row, rowindex, value, column) {
|
|
|
var select= '<select class="sel-version-name form-control required" id="versionNm'+rowindex+'" style="margin-top:3px;font-size:12px;">';
|
|
|
var select= '<select class="sel-version-name form-control required" data-rowindex="'+rowindex+'" id="versionNm'+rowindex+'" style="margin-top:3px;font-size:12px;">';
|
|
|
var versionList = [];
|
|
|
for(var i=0;i<schemeVersionList.length;i++){
|
|
|
if(schemeVersionList[i].schemeId == row.scheme_id){
|
|
@ -91,17 +95,25 @@
|
|
|
}},
|
|
|
{display:'操作', name: 'operator', width: '20%', render: function (row, rowindex, value, column) {
|
|
|
var html = '<div class="m-inline-buttons" style="width:120px;">';
|
|
|
html += '<a href="javascript:void(0)" style="width: 80px;" class="mapping" data-rowindex="'+rowindex+'" data-datasetid="'+row.datasetId+'" onclick="javascript:jobLayout.mapping(\''+rowindex+'\')">数据映射</a>';
|
|
|
html += '<a href="javascript:void(0)" style="width: 80px;" class="mapping" data-rowindex="'+rowindex+'" onclick="javascript:jobLayout.mapping(\''+rowindex+'\')">数据映射</a>';
|
|
|
html += '<a class="m-btn-delete" onclick="javascript:jobLayout.delete(\''+rowindex+'\')"></a>';
|
|
|
|
|
|
return html;
|
|
|
}}
|
|
|
],
|
|
|
onSuccess:function(data, grid){//成功获取服务器数据的事件
|
|
|
//缓存初始化勾选的数据集id
|
|
|
var detailModelList = data.detailModelList;
|
|
|
for(var i=0;i<detailModelList.length;i++){
|
|
|
me.cacheDatasetIdList[i] = detailModelList[i].datasetId;
|
|
|
me.cacheDatasetCodeList[i]="";
|
|
|
me.cacheMappingInitData[i]="";
|
|
|
me.cacheMappingData[i]="";
|
|
|
}
|
|
|
},
|
|
|
onAfterShowData: function (gridData) {//显示完数据事件
|
|
|
validAdd = new jQuery.jValidation.Validation($("#div_job_grid"),{immediate:true,onSubmit:false});
|
|
|
// $('#div_job_grid').on('blur','.required',function() {
|
|
|
// jQuery.jValidation.Validation.validateElement(this);
|
|
|
// });
|
|
|
|
|
|
//【适配方案】change事件
|
|
|
$(".sel-scheme-name").on("change", function() {
|
|
|
var rowIndex = $(this).attr("id").replace("schemeNm","");
|
|
@ -117,16 +129,29 @@
|
|
|
}
|
|
|
$("#versionNm"+rowIndex).html("");
|
|
|
$("#versionNm"+rowIndex).append(option);
|
|
|
//改变
|
|
|
jQuery.data($("#dataSets"+rowIndex)[0], "checkedRowsIndex", []);
|
|
|
jQuery.data($(".mapping").eq(rowIndex)[0], "mappingData","");
|
|
|
//清空值
|
|
|
me.cacheDatasetIdList[rowIndex]="";
|
|
|
me.cacheDatasetCodeList[rowIndex]="";
|
|
|
me.cacheMappingInitData[rowIndex]="";
|
|
|
me.cacheMappingData[rowIndex]="";
|
|
|
$("#dataSets"+rowIndex).val("");
|
|
|
|
|
|
});
|
|
|
|
|
|
//【版本】change事件
|
|
|
$(".sel-version-name").on("change", function() {
|
|
|
var rowIndex = $(this).data("rowindex");
|
|
|
//清空值
|
|
|
me.cacheDatasetIdList[rowIndex]="";
|
|
|
me.cacheDatasetCodeList[rowIndex]="";
|
|
|
me.cacheMappingInitData[rowIndex]="";
|
|
|
me.cacheMappingData[rowIndex]="";
|
|
|
$("#dataSets"+rowIndex).val("");
|
|
|
});
|
|
|
|
|
|
//【数据集名称】focus事件
|
|
|
$(".sel-dataset-name").on("focus", function() {
|
|
|
|
|
|
|
|
|
var rowindex = $(this).attr("data-rowindex");
|
|
|
jobLayout.grid.select(rowindex);//选中行
|
|
|
var selectedVersionId = $("#versionNm"+rowindex).val();
|
|
@ -134,13 +159,22 @@
|
|
|
$.ligerDialog.error("当前版本为空,不能选择数据集!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
/* 判断适配方案与版本是否重复*/
|
|
|
var resultArr = me.getGridData();
|
|
|
var uniqueArr = me.uniqueArray(resultArr);
|
|
|
if(resultArr.length!==uniqueArr.length){
|
|
|
$.ligerDialog.error("相同适配方案下,不能有相同的版本!");
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
var row = jobLayout.grid.getSelectedRow();
|
|
|
var checkedRowsIndex =JSON.stringify(jQuery.data($("#dataSets"+rowindex)[0], "checkedRowsIndex")) || "";//获取缓存勾选的数据集
|
|
|
var cacheDatasetId =JSON.stringify(me.cacheDatasetIdList[rowindex]);//获取缓存勾选的数据集
|
|
|
var params = {
|
|
|
schemeId:$("#schemeNm"+rowindex).val(),
|
|
|
versionId: $("#versionNm"+rowindex).val(),
|
|
|
schemeNm:$("#schemeNm"+rowindex).find("option:selected").text(),
|
|
|
checkedRowsIndex:checkedRowsIndex};
|
|
|
cacheDatasetId:cacheDatasetId};
|
|
|
me.dialog = $.ligerDialog.open({
|
|
|
height: 600,
|
|
|
width: 600,
|
|
@ -161,6 +195,7 @@
|
|
|
$('#btnAdd').click(function () {
|
|
|
me.gridScrollTop();//1、将滚动条滚动到底部
|
|
|
var dataRow = {
|
|
|
status:'',
|
|
|
scheme_id:'',
|
|
|
scheme_version_id:'',
|
|
|
datasetName:'',
|
|
@ -175,30 +210,15 @@
|
|
|
//将新添加的行插入到最后一列
|
|
|
me.grid.addRow(dataRow);
|
|
|
$(".sel-scheme-name#schemeNm"+rowData.length).trigger("change");
|
|
|
|
|
|
$(".m-btn-delete").eq(rowData.length).data("flag","add");
|
|
|
|
|
|
me.cacheDatasetIdList.push("");
|
|
|
me.cacheDatasetCodeList.push("");
|
|
|
});
|
|
|
$('#btnSave').click(function(){
|
|
|
|
|
|
if(!validAdd.validate()){
|
|
|
return false;
|
|
|
}
|
|
|
var rowData = me.grid.getData();
|
|
|
var resultArr = [];
|
|
|
for (var i = 0; i < rowData.length; i++) {
|
|
|
var row = { schemeId:$("#schemeNm"+i).val(),
|
|
|
versionId: $("#versionNm"+i).val(),
|
|
|
dataSets:jQuery.data($("#dataSets"+i)[0], "dataSets")==undefined?rowData[i].datasetId:jQuery.data($("#dataSets"+i)[0], "dataSets"),
|
|
|
relation:jQuery.data( $(".mapping").eq(i)[0], "mappingData")==undefined || ""?"":jQuery.data( $(".mapping").eq(i)[0], "mappingData")}
|
|
|
resultArr.push(row);
|
|
|
}
|
|
|
/* 判断适配方案与版本是否重复*/
|
|
|
var uniqueArr = me.uniqueArray(resultArr);
|
|
|
if(resultArr.length!==uniqueArr.length){
|
|
|
$.ligerDialog.error("相同适配方案下,不能有相同的版本!");
|
|
|
return false;
|
|
|
}
|
|
|
var resultArr = me.getGridData();//获取表格数据
|
|
|
|
|
|
$.ajax({
|
|
|
url: "${contextRoot}/crawler/saveDateSet",
|
|
@ -221,6 +241,21 @@
|
|
|
|
|
|
});
|
|
|
},
|
|
|
getGridData:function(){
|
|
|
|
|
|
var me = this;
|
|
|
var rowData = this.grid.getData();
|
|
|
var resultArr = [];
|
|
|
for (var i = 0; i < rowData.length; i++) {
|
|
|
var row = {
|
|
|
schemeId:$("#schemeNm"+i).val(),
|
|
|
versionId: $("#versionNm"+i).val(),
|
|
|
dataSets:me.cacheDatasetIdList[i],
|
|
|
relation:me.cacheMappingData[i]}
|
|
|
resultArr.push(row);
|
|
|
}
|
|
|
return resultArr;
|
|
|
},
|
|
|
contains:function(a, e){
|
|
|
for(j=0;j<a.length;j++)if(a[j]==e)return true;
|
|
|
return false;
|
|
@ -252,7 +287,7 @@
|
|
|
mapping:function(rowindex){
|
|
|
|
|
|
var versionId = $("#versionNm"+rowindex).val();
|
|
|
var datasetIdStr = jQuery.data($("#dataSets"+rowindex)[0], "dataSets")==undefined?$(".mapping").eq(rowindex).data("datasetid"):jQuery.data($("#dataSets"+rowindex)[0], "dataSets");
|
|
|
var datasetIdStr = this.cacheDatasetIdList[rowindex]==undefined?"":this.cacheDatasetIdList[rowindex];
|
|
|
if(versionId==null){
|
|
|
$.ligerDialog.error("当前版本为空,不能进行数据映射!");
|
|
|
return false;
|
|
@ -273,15 +308,33 @@
|
|
|
});
|
|
|
},
|
|
|
//删除数据映射
|
|
|
delete:function(rowindex)
|
|
|
{
|
|
|
|
|
|
delete:function(rowindex) {
|
|
|
this.grid.select(rowindex);//选中行
|
|
|
var me = this;
|
|
|
var addFlag = $(".m-btn-delete").eq(rowindex).data("flag");//判断是否是新增的数据。若是新增的数据,则直接删除数据,不发送后台请求
|
|
|
if(addFlag=="add"){
|
|
|
var row = me.grid.getSelectedRow();
|
|
|
var rowData = me.grid.getData();
|
|
|
//判断是否是新增的数据。若是新增的数据,则直接删除数据,不发送后台请求
|
|
|
if(row.__status=="add"){
|
|
|
$.ligerDialog.confirm("确定要删除该适配方案数据映射吗?", function (confirm) {
|
|
|
if (confirm)
|
|
|
{
|
|
|
|
|
|
//保存当前编辑的数据
|
|
|
for (var i = 0; i < rowData.length; i++) {
|
|
|
me.grid.rows[i].scheme_id = $("#schemeNm"+i).val();
|
|
|
me.grid.rows[i].scheme_version_id= $("#versionNm"+i).val();
|
|
|
me.grid.rows[i].datasetName= $("#dataSets"+i).val();
|
|
|
}
|
|
|
//删除行缓存的数据
|
|
|
var cacheDatasetIdList = me.cacheDatasetIdList;
|
|
|
var cacheDatasetCodeList = me.cacheDatasetCodeList;
|
|
|
var cacheMappingInitData = me.cacheMappingInitData;
|
|
|
var cacheMappingData = me.cacheMappingData;
|
|
|
cacheDatasetIdList.splice(rowindex,1);
|
|
|
cacheDatasetCodeList.splice(rowindex,1);
|
|
|
cacheMappingInitData.splice(rowindex,1);
|
|
|
cacheMappingData.splice(rowindex,1);
|
|
|
//删除行
|
|
|
me.grid.deleteRow(rowindex);
|
|
|
}
|
|
|
});
|
|
@ -291,6 +344,17 @@
|
|
|
$.ligerDialog.error("当前没有选择适配版本,不能删除!");
|
|
|
return false;
|
|
|
}
|
|
|
var addFlag = false;
|
|
|
for (var i = 0; i < rowData.length; i++) {
|
|
|
if(rowData[i].status==""){//新增
|
|
|
addFlag = true;
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
if(addFlag){//有新增数据并且未保存
|
|
|
$.ligerDialog.error("当前有未保存的数据,请先保存,再删除");
|
|
|
return false;
|
|
|
}
|
|
|
$.ligerDialog.confirm("确定要删除该适配方案数据映射吗?", function (confirm) {
|
|
|
if (confirm)
|
|
|
{
|
|
@ -303,7 +367,7 @@
|
|
|
success :function(data){
|
|
|
if(data.successFlg) {
|
|
|
$.ligerDialog.success(data.message);
|
|
|
jobLayout.grid.loadData(true);
|
|
|
jobLayout.grid.loadData(true);//重新加载表格数据
|
|
|
}
|
|
|
else{
|
|
|
$.ligerDialog.error(data.message);
|