|  | @ -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);
 |