var app = new Vue({ el:'#outer', data:{ domainParams : [ { DomainName : '', RegistrantProfileId : '', } ], templateList : [ ], searchParam : { domain : '', status : '', }, pagination:{ page_total: 1, page_rows:20, p:1, nowPage:1, }, tableData : [],//表格数据 result : '', modelTitle : '', modelValue : '', appList : [], checkboxChecked : [], isBatch : true,//是否批量解析域名 domainBatchParsingInfo : { Rr : '', Value : '' }, statusArr:['等待执行','执行中','执行成功','执行失败'], dnsStatus:['正在解析','解析失败','未解析','解析成功',],//域名解析状态 0 未解析, 1 解析成功, -1 解析失败, -2 正在解析 randomDomain : '', randomDomainSave : '', }, created: function(){ }, components:{ 'Selectd': componentSelect, 'Options': componentOption, 'Pagination': componentPage, }, methods: { init: function(){ showLoading(); var _this = this; var data = { domain : this.searchParam.domain, status : this.searchParam.status, page : this.pagination.p, } getAjax(data, 'post', '/api/domainList', function(result){ _this.result = result; _this.tableData = result.data; _this.pagination.page_total = result.page.Count * 1 hideLoading(); }); }, // 分页 nowPage:function(page, page_rows){ this.pagination.p = page; this.pagination.page_rows = page_rows; this.init(); }, //添加域名页面显示 addDomain:function(){ $('#add_modal').modal('show'); this.domainParams = [ { DomainName : '', RegistrantProfileId : '' } ] var _this = this getAjax({}, 'post', '/api/getBaseDomain', function(result){ _this.randomDomainSave = result.data; }); }, showRandom(){ $('#random_modal').modal('show'); var _this = this getAjax({}, 'post', '/api/getBaseDomain', function(result){ _this.randomDomain = result.data; }); }, /** * 域名购买时的添加域名 */ addElement(){ if(this.domainParams.length == 1000){ weile.F.alert('一次至多只能添加1000个域名'); return false; } this.domainParams.push( { DomainName : '', RegistrantProfileId : '', } ) }, /** * 设置随机域名 */ setRandom(index){ if(this.randomDomainSave){ this.domainParams[index].DomainName = this.randomDomainSave +Math.random().toString(36).substr(8)+'.com'; }else{ this.domainParams[index].DomainName = Math.random().toString(36).substr(2)+'.com'; } }, /** * 删除域名 */ deleteElement(index){ this.domainParams.splice(index,1) }, /** * 域名保存 */ addDomainSave : function(){ var _this = this; for(var i in this.domainParams){ if(this.domainParams[i].DomainName == '' || this.domainParams[i].RegistrantProfileId == ''){ weile.F.alert('域名和模板不能为空'); return false; } } var domains = '['; var domainsName = '['; for(var i in this.domainParams){ if(i == this.domainParams.length -1){ domains += '{"DomainName":"'+this.domainParams[i].DomainName+'","RegistrantProfileId":"'+this.domainParams[i].RegistrantProfileId+'"}' domainsName += '"'+this.domainParams[i].DomainName+'"' }else{ domains += '{"DomainName":"'+this.domainParams[i].DomainName+'","RegistrantProfileId":"'+this.domainParams[i].RegistrantProfileId+'"},' domainsName += '"'+this.domainParams[i].DomainName+',"' } } domains += ']'; domainsName += ']'; getAjax({domains:domainsName}, 'post', '/api/checkDomain', function(result){ var res = result.data; var information = ''; for(var d in res){ if(res[d] != 1){ information += d } } if(information != ''){ weile.F.alert(information+'不可注册'); return false; } getAjax({domains:domains}, 'post', '/api/registerDomain', function(result){ weile.F.alert('添加成功'); $('#_global_modal_alert').on('hide.bs.modal', function () { $('#add_modal').modal('hide'); _this.init(); }) }); }); }, /** * 重启 * @return {[type]} [description] */ restart(){ if(this.checkboxChecked.length == 0){ weile.F.alert('请至少选择一个域名'); return false; }; console.log(this.checkboxChecked) }, /** * 域名逐一解析解析显示 * @return {[type]} [description] */ domainParsing(){ if(this.checkboxChecked.length == 0){ weile.F.alert('请至少选择一个域名'); return false; } for(var i in this.checkboxChecked){ if( this.checkboxChecked[i].dns_status == -2){ weile.F.alert('已选的域名中有正在执行中的不可以再进行解析'); return false; } if(this.checkboxChecked[i].status != 2){ weile.F.alert('已选的域名中未全部注册成功过,不能进行解析'); return false; } } this.isBatch = false; $('#parsing_modal').modal('show'); console.log(this.checkboxChecked) }, /** * 域名批量解析解析显示 * @return {[type]} [description] */ domainBatchParsing(){ if(this.checkboxChecked.length == 0){ weile.F.alert('请至少选择一个域名'); return false; } for(var i in this.checkboxChecked){ if(this.checkboxChecked[i].dns_status == -2){ weile.F.alert('已选的域名中有正在执行中的不可以再进行解析'); return false; } if(this.checkboxChecked[i].status != 2){ weile.F.alert('已选的域名中未全部注册成功过,不能进行解析'); return false; } } this.isBatch = true; $('#parsing_modal').modal('show'); }, /** * 域名解析的保存 */ parsingSave(){ var _this = this; var params = []; if(this.isBatch){ if(this.domainBatchParsingInfo.Value == ''){ weile.F.alert('二级域名和ip地址不能为空'); return false; } for(var i in this.checkboxChecked){ var temp = { Domain : this.checkboxChecked[i].domain, Type : 'A', Rr : '@', Value : this.domainBatchParsingInfo.Value } var temp1 = { Domain : this.checkboxChecked[i].domain, Type : 'A', Rr : '*', Value : this.domainBatchParsingInfo.Value } params.push(temp) params.push(temp1) } }else{ for(var i in this.checkboxChecked){ if(this.checkboxChecked[i].Value == ''){ weile.F.alert('ip地址不能为空'); return false; } var temp = { Domain : this.checkboxChecked[i].domain, Type : 'A', Rr : '@', Value : this.checkboxChecked[i].Value } var temp1 = { Domain : this.checkboxChecked[i].domain, Type : 'A', Rr : '*', Value : this.checkboxChecked[i].Value } params.push(temp); params.push(temp1); } } getAjax({domains:JSON.stringify(params)}, 'post', '/api/operateBatchDomain', function(result){ weile.F.alert('解析提交成功'); $('#_global_modal_alert').on('hide.bs.modal', function () { $('#parsing_modal').modal('hide') _this.init(); }) }); }, /** * 随机域名设置 */ randomSave(){ var params = { domain : this.randomDomain } getAjax(params, 'post', '/api/setBaseDomain', function(result){ weile.F.alert('设置成功'); $('#_global_modal_alert').on('hide.bs.modal', function () { $('#random_modal').modal('hide') }) }); }, }, mounted: function(){ var _this = this; getAjax({}, 'post', '/api/infoList', function(result){ console.log(result); _this.templateList = result.data.RegistrantProfile; }); this.init(); }, })