封装数据_方法

var simple_confNetwork={
init:function(){
this.loadform.initsel();
this.loadTemp.initTemp();
this.bindEvents.initEvent();
this.initValidate();
},
ajaxData:function(datas){
var url=datas["url"]||"";
var data=datas["data"]||null;
var callback=datas["callback"]||function(){};
$.ajax({
'url': $.baseUrl+url,
"type":"post",
"contentType":typeof (data)=="string"?"application/x-www-form-urlencoded":"application/json",
"data":typeof (data)=="string"?data:JSON.stringify(data),
"success":callback
});
},
initValidate:function(){
$("#srForm").validate({
rules:{
srIp:{
ip:true
},
srMask:{
required:true,
netMaskBits:true
},
optionTemplateId:"required"
}
});
},
//加载select子项
loadselect:function(container,datas,cols){
datas["callback"]=function(data){
console.log(data);
if($.isEmptyObject(data)){
var $option=$('<option value="">暂无更多选项</option>');
$option.appendTo($("#"+container));
}else{
$.each(data,function(i,obj){
var $option=$('<option value="'+obj[cols.id]+'"></option>');
$option.html(obj[cols.name]);
$option.appendTo($("#"+container));
})
}
}
simple_confNetwork.ajaxData(datas);
},
//加载select
loadform:{
allSr:{},
//初始化select
initsel: function () {
this.getDhcp();
this.getBusiness();
this.getSR();
this.getTemplate();
},
//加载dhcp
getDhcp:function(){
simple_confNetwork.loadselect("DHCP",{
url:"/simpleConf/getServers",
data:null
},{
id:"serverId",
name:"serverName"
});
},
//加载SR
getSR:function(){
var datas = {};
datas["url"] = "/brasConfManager/findAllbrasConf";
datas["callback"] = function (data) {
simple_confNetwork.loadform.allSr=data;
$("#sr").typeahead({
source: data,
displayText: function (item) {
return typeof item !== 'undefined' && typeof item['srname'] != 'undefined' && item['srname'] || item;
},
afterSelect: function (item) {
$("#sr").val(item.srinterfaceip)
}
});
}
simple_confNetwork.ajaxData(datas);
$.base.myTypeahead2({
url:"/brasConfManager/findAllbrasConf",
selector:"#sr",
showName:"srname",
resultName:"srinterfaceip"
});
},
//加载业务
getBusiness:function(){
simple_confNetwork.loadselect("business",{
url:"/simpleConf/getServices",
data:null
},{
id:"serviceId",
name:"serviceName"
});
},
//加载模板名称
getTemplate:function(){
simple_confNetwork.loadselect("temp",{
url:"/option_templateManager/searchTemplateName",
data:null
},{
id:"templateId",
name:"optionTemplateName"
});
},
},
//加载模板options
loadTemp:{
allOptions:{},
tempOptions:["optionName","defaultValue"],
initTemp:function(){
this.getAllOptions();
this.getOptionsByTempId();
},
getAllOptions:function(){
var self=this;
var datas={
url:"/optionDictionaryManager/searchOptionName",
data:null,
callback:function(data){
self.allOptions=data;
}
}
simple_confNetwork.ajaxData(datas);
},
getOptionsByTempId:function(){
var datas={
url:"/simpleConf/getOptions",
data:"templateId="+$("#temp").val(),
callback:function(data){
if($.isEmptyObject(data)){
$("#optionTable").attr("data-isEmpty","false");//模板是否为空
var $tr=$("<tr><td class='text-center'>——此模板暂无选项——</td></tr>");
$tr.appendTo($("#optionTable"));
}else{
$("#optionTable").attr("data-isEmpty","true");
$("#optionTable").empty();
simple_confNetwork.loadTemp.createTr($("#optionTable"),data);
}
}
}
simple_confNetwork.ajaxData(datas);
},
createTr:function(container,options){
var self=this;
$.each(options,function(i,obj){
var $tr=$("<tr class='info' id='"+obj.optionId+"'></tr>")
$.each(self.tempOptions,function(k,v){
var temp=obj[v]==null?"":obj[v];
var $td=$('<td data-col="'+v+'" >'+temp+'</td>');
if(!($td.attr("data-col")=="optionName")){
$td.empty();
if(obj.optionId=="3"){
temp=$("#sr").val();
}
if(obj.optionId=="1"){
temp=$("#srMask").val();
}
var $input=$("<input type='text' class='form-control' value='"+temp+"' netMaskBits />");
$input.appendTo($td);
}else{
$td.empty();
var $select=$("<select class='form-control' style='border:none' disabled>" +
"<option>"+temp+"</option>" +
"</select>");
$select.appendTo($td);
}
$td.appendTo($tr);
})
$tr.appendTo(container);
})
},
},
//绑定事件
bindEvents:{
tempOptions:{},
//加载事件
initEvent:function(){
this.temp_change();
this.temp_addOptions();
this.sub();
this.preview();
this.sr_change();
this.preview_sub();

},
//模板绑定事件
temp_change:function(){
$("#temp").change(function(){
simple_confNetwork.bindEvents.tempOptions={};//清空
$("#addTempOption").removeAttr("disabled");
$("#optionTable").empty();
simple_confNetwork.loadTemp.getOptionsByTempId();
});
},
//sr=>业务
sr_change:function(){
$("#sr").change(function(){

var srs=simple_confNetwork.loadform.allSr;
var self=this;
$("#business").removeAttr("disabled");
$.each(srs,function(i,obj){
if(obj.srname==$(self).val()){
$("#business").val(obj.serviceid).prop("disabled",true);
}
})
});
},
//模板添加事件
temp_addOptions:function(){
$("#addTempOption").click(function(){
var cols=simple_confNetwork.loadTemp.tempOptions;
var data=simple_confNetwork.loadTemp.allOptions;
if($("#optionTable").attr("data-isEmpty")=="false"){
$("#optionTable").empty();
$("#optionTable").attr("data-isEmpty","true");
}
//每次增加select:option不能与之前重复
//筛选不重复
var options={};
$.each(data,function(k,v){
var temp=true;
$("#optionTable tr").each(function(i,obj){
if(k==$(obj).find("select option:selected").text()){
temp=false;
return false;
}
})
if(temp){
options[k]=v;
}
})
console.log(options);
if($.isEmptyObject(options)){
$("#addTempOption").prop("disabled",true);
alert("无更多Option选项,请配置!");
}else{
$tr=$("<tr></tr>");
$.each(cols,function(k,v){
$td=$('<td data-col="'+v+'"></td>');
if(k==0){
var $select=$("<select class='form-control'></select>");
$.each(options,function(i,obj){
var $option=$('<option value="'+obj.optionId+'"></option>');
$option.html(obj.optionName);
$option.appendTo($select);
})
$select.change(function(){
var $tr=$(this).parent().parent();
var index=$("#optionTable tr").index($(this).parent().parent());

var optionId=simple_confNetwork.bindEvents.tempOptions[index];
var $option=$("<option value='"+optionId+"'>"+$(this).find("option[value='"+optionId+"']").text()+"</option>");
$tr.prop("id",$(this).val());
$(this).parents("tr").siblings("tr").find("select option").remove("[value='"+$(this).val()+"']");
$(this).parents("tr").siblings("tr").find("select").append($option);
simple_confNetwork.bindEvents.tempOptions[index]=$(this).val();
})
$select.appendTo($td);
}else{
var $input=$("<input type='text' class='form-control' netMaskBits />");
$input.appendTo($td);
}
$td.appendTo($tr);
})

$tr.appendTo($("#optionTable"));
$tr.find("input").focus();
$tr.prop("id",$tr.find("select").val());
$tr.siblings("tr").find("select option").remove("[value='"+$tr.find("select").val()+"']");
simple_confNetwork.bindEvents.tempOptions[$("#optionTable tr").index($tr)]=$tr.prop("id");
}

});
},
//按钮
//提交
sub:function(){
$("#simple_btnOk").click(function(){
if($("#srForm").valid()){
$("#simple_btnOk").attr("disabled","true");
$("#simple_btnOk span[aria-hidden]").removeClass().addClass('icon-spinner icon-spin').attr("disabled","true");
var url="/simpleConf/saveSubnet";
simple_confNetwork.bindEvents.envelopedData(url,function(data){
alert(data);
$("#simple_btnOk").removeAttr("disabled");
$("#simple_btnOk span[aria-hidden]").removeClass().addClass('fa fa-search');
});
}
});
},
//预览
preview:function(){
$("#preview").click(function(){
var url="/simpleConf/showSubnet";
simple_confNetwork.bindEvents.envelopedData(url,function(data){
$("#previewList").modal("show");
$.base.pageConf.modal_size("previewList");
$("#previewContent").html(data);
});
});
},
//预览=》提交
preview_sub:function(){
$("#preview_btnOk").click(function(){
$("#previewList").modal("hide");
$("#simple_btnOk").trigger('click');
});
},
//封装方法
envelopedData:function(url,subnet){
var models=[];
$("#optionTable").attr("data-isEmpty")=="true"&&$($("#optionTable tr")).each(function(i,obj){
var row={};
$($(obj).children()).each(function(k,v){
var key=$(v).attr("data-col");
key=key=="defaultValue"?"optionValue":key;
var content=$(v).html();
if($(v).children().size()>0){
content=$(v).children().val();
}
row[key]= content;
});
row["optionId"]=$(obj).prop("id");
models.push(row);
});
//封装
var data={};
data["serverId"]=$("#DHCP").val();
data["srIp"]=$("#sr").val();
data["optionTemplateId"]=$("#temp").val();
data["srMask"]=$("#srMask").val();
data["serviceId"]=$("#business").val();
data["models"]=models;
var datas={
url:url,
data:data,
callback:subnet
}
simple_confNetwork.ajaxData(datas);
}
},
};
simple_confNetwork.init();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值