From 53357032555b46be80313e643e1f1144bbc0971e Mon Sep 17 00:00:00 2001 From: zhanghongqing Date: Wed, 29 Aug 2018 22:46:49 +0800 Subject: [PATCH] =?UTF-8?q?app=E4=B8=BB=E9=A2=98=E7=BD=91=E7=AB=99?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=85=B3=E8=81=94=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configuration/AppTopicDomainCfg.java | 24 +- .../configuration/WebsiteDomainTopic.java | 59 ++++ .../configuration/AppCfgController.java | 76 +++- .../nis/web/dao/configuration/AppCfgDao.java | 4 + .../nis/web/dao/configuration/AppCfgDao.xml | 81 ++++- .../service/configuration/AppCfgService.java | 31 +- .../resources/messages/message_en.properties | 5 +- .../resources/messages/message_ru.properties | 1 + .../messages/message_zh_CN.properties | 3 +- .../views/cfg/app/appTopicDomainCfgForm.jsp | 332 ++++++++++++------ .../views/cfg/app/appTopicDomainCfgList.jsp | 18 +- 11 files changed, 483 insertions(+), 151 deletions(-) create mode 100644 src/main/java/com/nis/domain/configuration/WebsiteDomainTopic.java diff --git a/src/main/java/com/nis/domain/configuration/AppTopicDomainCfg.java b/src/main/java/com/nis/domain/configuration/AppTopicDomainCfg.java index 105d2b631..8084d7946 100644 --- a/src/main/java/com/nis/domain/configuration/AppTopicDomainCfg.java +++ b/src/main/java/com/nis/domain/configuration/AppTopicDomainCfg.java @@ -28,12 +28,12 @@ public class AppTopicDomainCfg extends BaseCfg { @Expose private String ratelimit; // private Integer appCode;//specific_service_cfg表一级节点的spec_service_code - private Integer behavCode;//specific_service_cfg表二级节点的spec_service_code + private Long websiteServiceId;//specific_service_cfg表二级节点的spec_service_code private Integer specServiceId; private String domain; private String cfgKeywords; private String appName; - private String topic; + private Long topicId; @Expose @ExcelField(title="expression_type") @@ -51,12 +51,14 @@ public class AppTopicDomainCfg extends BaseCfg { protected Integer isHexbin; - public String getTopic() { - return topic; + + + public Long getTopicId() { + return topicId; } - public void setTopic(String topic) { - this.topic = topic; + public void setTopicId(Long topicId) { + this.topicId = topicId; } public Integer getExprType() { @@ -142,12 +144,12 @@ public class AppTopicDomainCfg extends BaseCfg { this.appName = appName; } - public Integer getBehavCode() { - return behavCode; + public Long getWebsiteServiceId() { + return websiteServiceId; } - public void setBehavCode(Integer behavCode) { - this.behavCode = behavCode; + public void setWebsiteServiceId(Long websiteServiceId) { + this.websiteServiceId = websiteServiceId; } - + } diff --git a/src/main/java/com/nis/domain/configuration/WebsiteDomainTopic.java b/src/main/java/com/nis/domain/configuration/WebsiteDomainTopic.java new file mode 100644 index 000000000..4ba6f904c --- /dev/null +++ b/src/main/java/com/nis/domain/configuration/WebsiteDomainTopic.java @@ -0,0 +1,59 @@ +package com.nis.domain.configuration; + +import java.util.Date; + +public class WebsiteDomainTopic { + + private Long id; // `id` bigint(20) NOT NULL AUTO_INCREMENT, + private Long websiteServiceId; // `website_service_id` bigint(20) DEFAULT NULL COMMENT '网站服务Id', + private String domain; // `domain` varchar(200) DEFAULT NULL COMMENT '域名', + private Long topicId; // `topic_id` bigint(20) DEFAULT NULL COMMENT '主题Id', + private Date createTime; // `create_time` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp(), + private Integer creatorId; // `creator_id` int(11) DEFAULT NULL, + private Integer isValid; // `is_valid` int(1) DEFAULT NULL, + + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + public Long getWebsiteServiceId() { + return websiteServiceId; + } + public void setWebsiteServiceId(Long websiteServiceId) { + this.websiteServiceId = websiteServiceId; + } + public String getDomain() { + return domain; + } + public void setDomain(String domain) { + this.domain = domain; + } + public Long getTopicId() { + return topicId; + } + public void setTopicId(Long topicId) { + this.topicId = topicId; + } + public Date getCreateTime() { + return createTime; + } + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + public Integer getCreatorId() { + return creatorId; + } + public void setCreatorId(Integer creatorId) { + this.creatorId = creatorId; + } + public Integer getIsValid() { + return isValid; + } + public void setIsValid(Integer isValid) { + this.isValid = isValid; + } + + +} diff --git a/src/main/java/com/nis/web/controller/configuration/AppCfgController.java b/src/main/java/com/nis/web/controller/configuration/AppCfgController.java index 074c3f3c8..0e6c35509 100644 --- a/src/main/java/com/nis/web/controller/configuration/AppCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/AppCfgController.java @@ -4,11 +4,13 @@ import java.io.File; import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.POST; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; @@ -16,10 +18,13 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.nis.domain.Page; import com.nis.domain.SysDataDictionaryItem; @@ -35,6 +40,7 @@ import com.nis.domain.configuration.AppTcpCfg; import com.nis.domain.configuration.AppTopicDomainCfg; import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.NtcSubscribeIdCfg; +import com.nis.domain.configuration.WebsiteDomainTopic; import com.nis.domain.configuration.AppBuiltInFeatureFile; import com.nis.domain.maat.ToMaatResult; import com.nis.domain.maat.ToMaatResult.ResponseData; @@ -1017,23 +1023,35 @@ public class AppCfgController extends BaseController { public String TopicDomainCfgList(Model model,@ModelAttribute("cfg")AppTopicDomainCfg cfg,HttpServletRequest request,HttpServletResponse response) { Page searchPage=new Page(request,response,"r"); Page page = appCfgService.findAppTopicDomainList(searchPage, cfg); -// for(AppTopicDomainCfg entity:page.getList()){ -// SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); -// entity.setAppName(app.getSpecServiceName()); -// } - //设置topic主题 - for (AppTopicDomainCfg entity:page.getList()) { - List codeList = CodeDicUtils.getCodeList("serviceCode"); - for (CodeResult codeResult : codeList) { - if(null!=entity.getTopic()&&codeResult.getCode().equals(entity.getTopic())){ - entity.setAppName(codeResult.getItem()); - } - } - } model.addAttribute("page", page); initPageCondition(model,cfg); return "/cfg/app/appTopicDomainCfgList"; } + /** + * + * 获取服务与主题关系表中的域名 + * @param websiteDomainTopic + * @param response + * @return + */ + @ResponseBody + @RequestMapping(value = "WebsiteDomainTopicList",method=RequestMethod.GET) + public List> WebsiteDomainTopicList(@ModelAttribute("websiteDomainTopic")WebsiteDomainTopic websiteDomainTopic,@RequestParam("websiteServiceId") Long websiteServiceId,@RequestParam("topicId") Long topicId,HttpServletResponse response){ + List> mapList = Lists.newArrayList(); + if(websiteServiceId!=null&&topicId!=null){ + List list = appCfgService.getDomainDict(websiteDomainTopic); + if(list!=null&&list.size()>0){ + for (WebsiteDomainTopic domain : list) { + Map map = Maps.newHashMap(); + map.put("domain",domain.getDomain()); + map.put("domainId",domain.getId()); + + mapList.add(map); + } + } + } + return mapList; + } /** * app主题网站配置表单 * @param model @@ -1065,12 +1083,34 @@ public class AppCfgController extends BaseController { @RequestMapping(value = {"saveAppTopicDomainCfg"}) @RequiresPermissions(value={"app:topic:config"}) public String saveAppTopicDomainCfg(Model model,HttpServletRequest request,HttpServletResponse response, - AppTopicDomainCfg entity,RedirectAttributes redirectAttributes) { + AppTopicDomainCfg entity,@RequestParam("userDomain")String userDomain,RedirectAttributes redirectAttributes) { try { -// SpecificServiceCfg specificService = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); -// if(specificService!=null){ -// entity.setAppCode(specificService.getSpecServiceCode()); -// } + //验证域名的重复行 + if(!StringUtil.isBlank(userDomain)){ + WebsiteDomainTopic websiteDomainTopic = new WebsiteDomainTopic(); + websiteDomainTopic.setDomain(userDomain); + List domainDict = appCfgService.getDomainDict(websiteDomainTopic); + if((domainDict!=null&&domainDict.size()>0)){ + addMessage(redirectAttributes,"domain_existed"); + return "redirect:" + adminPath +"/app/topicDomainCfgList?functionId="+entity.getFunctionId(); + }else{ + //保存到域名关联表中 + if(entity!=null&&entity.getWebsiteServiceId()!=null&&entity.getTopicId()!=null){ + websiteDomainTopic.setWebsiteServiceId(entity.getWebsiteServiceId()); + websiteDomainTopic.setTopicId(entity.getTopicId()); + websiteDomainTopic.setCreateTime(new Date()); + websiteDomainTopic.setCreatorId(Integer.valueOf(UserUtils.getUser().getId().toString())); + websiteDomainTopic.setIsValid(Constants.VALID_YES); + appCfgService.saveDomainDict(websiteDomainTopic); + }else{ + addMessage(redirectAttributes,"save_failed"); + return "redirect:" + adminPath +"/app/topicDomainCfgList?functionId="+entity.getFunctionId(); + } + } + } + if(entity!=null&&StringUtil.isBlank(entity.getDomain())&&!StringUtil.isBlank(userDomain)){ + entity.setDomain(userDomain);//自定义域名 + } appCfgService.saveOrUpdateAppTopicDomainCfg(entity); addMessage(redirectAttributes,"save_success"); } catch (Exception e) { diff --git a/src/main/java/com/nis/web/dao/configuration/AppCfgDao.java b/src/main/java/com/nis/web/dao/configuration/AppCfgDao.java index a5d4f8037..3a0355574 100644 --- a/src/main/java/com/nis/web/dao/configuration/AppCfgDao.java +++ b/src/main/java/com/nis/web/dao/configuration/AppCfgDao.java @@ -23,6 +23,7 @@ import com.nis.domain.configuration.BaseCfg; import com.nis.domain.configuration.BaseStringCfg; import com.nis.domain.configuration.ComplexkeywordCfg; import com.nis.domain.configuration.IpPortCfg; +import com.nis.domain.configuration.WebsiteDomainTopic; import com.nis.web.dao.CrudDao; import com.nis.web.dao.MyBatisDao; @@ -94,4 +95,7 @@ public interface AppCfgDao { //修改配置状态 public void updateCfgValid(BaseCfg entity); public void deleteSubscribeIdCfg(AppPolicyCfg entity); + //域名关联表操作 + public List getDomainDict(WebsiteDomainTopic websiteDomainTopic); + public void saveDomainDict(WebsiteDomainTopic websiteDomainTopic); } diff --git a/src/main/java/com/nis/web/dao/configuration/AppCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/AppCfgDao.xml index 675f3b7ee..ea17409ff 100644 --- a/src/main/java/com/nis/web/dao/configuration/AppCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/AppCfgDao.xml @@ -140,8 +140,8 @@ - - + + @@ -357,7 +357,19 @@ - + + + + + + + + + + + + id,website_service_id websiteServiceId,domain,topic_id topicId,create_time createTime,creator_id creatorId,is_valid isValid + r.CFG_ID, r.APP_CODE,r.BEHAV_CODE,r.SPEC_SERVICE_ID,r.CFG_DESC,r.ACTION,r.IS_VALID,r.IS_AUDIT, r.CREATOR_ID,r.CREATE_TIME,r.EDITOR_ID,r.EDIT_TIME,r.AUDITOR_ID,r.AUDIT_TIME, @@ -402,7 +414,7 @@ - r.CFG_ID, r.TOPIC,r.BEHAV_CODE,r.SPEC_SERVICE_ID,r.CFG_DESC,r.ACTION,r.IS_VALID,r.IS_AUDIT, + r.CFG_ID, r.TOPIC_ID,r.WEBSITE_SERVICE_ID,r.SPEC_SERVICE_ID,r.CFG_DESC,r.ACTION,r.IS_VALID,r.IS_AUDIT, r.CREATOR_ID,r.CREATE_TIME,r.EDITOR_ID,r.EDIT_TIME,r.AUDITOR_ID,r.AUDIT_TIME, r.SERVICE_ID,r.REQUEST_ID,r.COMPILE_ID,r.IS_AREA_EFFECTIVE,r.CLASSIFY, r.ATTRIBUTE,r.LABLE,r.AREA_EFFECTIVE_IDS,r.RATELIMIT,r.FUNCTION_ID,r.CFG_TYPE,r.CFG_REGION_CODE, @@ -436,7 +448,7 @@ #{cfgType,jdbcType=VARCHAR},#{cfgRegionCode,jdbcType=INTEGER} - #{topic,jdbcType=VARCHAR},#{behavCode,jdbcType=INTEGER},#{specServiceId,jdbcType=INTEGER}, + #{topicId,jdbcType=BIGINT},#{websiteServiceId,jdbcType=BIGINT},#{specServiceId,jdbcType=INTEGER}, #{cfgDesc,jdbcType=VARCHAR},#{action,jdbcType=INTEGER}, #{isValid,jdbcType=INTEGER},#{isAudit,jdbcType=INTEGER},#{creatorId,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},#{editorId,jdbcType=INTEGER},#{editTime,jdbcType=TIMESTAMP}, @@ -1728,7 +1740,7 @@ SELECT LAST_INSERT_ID() insert into app_topic_domain_cfg ( - TOPIC,BEHAV_CODE,SPEC_SERVICE_ID,CFG_DESC,ACTION,IS_VALID,IS_AUDIT, + TOPIC_ID,WEBSITE_SERVICE_ID,SPEC_SERVICE_ID,CFG_DESC,ACTION,IS_VALID,IS_AUDIT, CREATOR_ID,CREATE_TIME,EDITOR_ID,EDIT_TIME,AUDITOR_ID,AUDIT_TIME, SERVICE_ID,REQUEST_ID,COMPILE_ID,IS_AREA_EFFECTIVE,CLASSIFY, ATTRIBUTE,LABLE,AREA_EFFECTIVE_IDS,RATELIMIT,FUNCTION_ID,CFG_TYPE,CFG_REGION_CODE, @@ -2306,11 +2318,11 @@ cfg_desc = #{cfgDesc,jdbcType=VARCHAR}, - - TOPIC = #{topic,jdbcType=VARCHAR}, + + TOPIC_ID = #{topicId,jdbcType=BIGINT}, - - BEHAV_CODE = #{behavCode,jdbcType=INTEGER}, + + WEBSITE_SERVICE_ID = #{websiteServiceId,jdbcType=BIGINT}, SPEC_SERVICE_ID = #{specServiceId,jdbcType=INTEGER}, @@ -2839,4 +2851,53 @@ FROM ip_port_cfg a where compile_id=#{compileId} and function_id=#{functionId} + + + + + + + SELECT LAST_INSERT_ID() + + insert into website_domain_topic ( + website_service_id,domain,topic_id,create_time,creator_id,is_valid + )values ( + #{websiteServiceId}, + #{domain}, + #{topicId}, + #{createTime}, + #{creatorId}, + #{isValid} + ) + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/configuration/AppCfgService.java b/src/main/java/com/nis/web/service/configuration/AppCfgService.java index 2a0304020..ad859578c 100644 --- a/src/main/java/com/nis/web/service/configuration/AppCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/AppCfgService.java @@ -23,6 +23,7 @@ import com.nis.domain.configuration.AppTopicDomainCfg; import com.nis.domain.configuration.AreaIpCfg; import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.NtcSubscribeIdCfg; +import com.nis.domain.configuration.WebsiteDomainTopic; import com.nis.domain.maat.MaatCfg; import com.nis.domain.maat.MaatCfg.DigestCfg; import com.nis.domain.maat.MaatCfg.GroupCfg; @@ -1219,9 +1220,15 @@ public class AppCfgService extends BaseService { maatCfg.setAreaIpRegionList(areaIpRegionList); maatCfg.setIsValid(entity.getIsValid()); - // 设置APP自定义域 + // 设置APP自定义域 + String domain = entity.getDomain(); + WebsiteDomainTopic websiteDomainTopic = new WebsiteDomainTopic(); + websiteDomainTopic.setDomain(domain); + //查询domainId + List domainDict = appCfgDao.getDomainDict(websiteDomainTopic); + Long domainId = domainDict.get(0).getId(); // "APP_ID="+entity.getAppCode()+Constants.USER_REGION_SPLIT+ - String userRegion = "DOMAIN_ID=" + entity.getCompileId() + Constants.USER_REGION_SPLIT + "DOMAIN_STR=" + String userRegion = "DOMAIN_ID=" + domainId + Constants.USER_REGION_SPLIT + "DOMAIN_STR=" + keywordsEscape(entity.getDomain()); maatCfg.setUserRegion(userRegion); @@ -1797,4 +1804,24 @@ public class AppCfgService extends BaseService { logger.info("app Header配置取消配置响应信息:" + result.getMsg()); } } + + /** + * 获取主题跟服务表中的域名 + * @param websiteDomainTopic + * @return + */ + public List getDomainDict(WebsiteDomainTopic websiteDomainTopic) { + return appCfgDao.getDomainDict(websiteDomainTopic); + } + + /** + * 保存自定义的域名 + * @param websiteDomainTopic + */ + @Transactional(readOnly = false, rollbackFor = RuntimeException.class) + public void saveDomainDict(WebsiteDomainTopic websiteDomainTopic) { + + appCfgDao.saveDomainDict(websiteDomainTopic); + + } } diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index a38f92b0c..034e5ddbd 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -617,7 +617,7 @@ val_dst_ip=Server IP format is incorrect or inconsistent with IP type val_dst_mask=Server IP mask format is incorrect or inconsistent with IP type val_dst_port=Server port is empty or incorrectly formatting(0-65535) val_dst_port_mask=Server port mask format is incorrect(0-65535) -val_protocol=Protocol Can't be empty,and should be 6(TCP),17(UDP),0(\u4efb\u610f) +val_protocol=Protocol Can't be empty,and should be 6(TCP),17(UDP),0(\u4EFB\u610F) val_direction=Direction should be 0(bidirectional) or 1(unidirectional) #===============protocol IP Import end================= @@ -1129,4 +1129,5 @@ bandwith=Bandwith limit_rate_type=Limit Rate Type business_type=Business Type topic=Topic -website_server=Website Server \ No newline at end of file +website_server=Website Server +domain_existed=Domain Has Existed \ No newline at end of file diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index 863cf5202..0ee748f6f 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -1048,3 +1048,4 @@ file_desc=File Desc content_type=Content Type content_length=Content Length response_file=Response File +domain_existed=Domain Has Existed \ No newline at end of file diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index 1a7d7d283..b4d9198e9 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -1126,4 +1126,5 @@ bandwith=\u5E26\u5BBD limit_rate_type=\u9650\u901F\u65B9\u5F0F business_type=\u4E1A\u52A1\u5206\u7C7B topic=\u4E3B\u9898 -website_server=\u7F51\u7AD9 \ No newline at end of file +website_server=\u7F51\u7AD9 +domain_existed=\u57DF\u540D\u5DF2\u7ECF\u5B58\u5728 \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appTopicDomainCfgForm.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appTopicDomainCfgForm.jsp index 954f1b106..ad0082cc1 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appTopicDomainCfgForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appTopicDomainCfgForm.jsp @@ -41,8 +41,99 @@ $(function(){ }, errorContainer: "#messageBox", }); -}); - + + //页面加载时触发初始化操作 + var file = $("#domain").val(); + if(!file){ + $("#userDomain").hide();//隐藏输入框 + $("#response").val("domain"); + $("#domain").selectpicker("show");//隐藏选择框 + }else{ + $("#domain").selectpicker("hide");//隐藏选择框 + $("#response").val("userDomain"); + $("#userDomain").show();//隐藏输入框 + } + alert($("#userDomain").val()) + $("#response").on("change",function(){ + var $this = $(this); + var inputId = $this.val(); + $("#userDomain").val("");//清空 + $("#domain").selectpicker("val",""); + if("userDomain" == inputId){ + $("#userDomain").show();//显示输入框 + $("#domain").selectpicker("hide");//隐藏选择框 + }else{ + $("#userDomain").hide();//隐藏输入框 + $("#domain").selectpicker("show");//显示选择框 + } + }); + // + if('${_cfg.domain}'){ + ajaxDomain($("#websiteServiceId").val(),$("#topicId").val()); + } + //选择主题跟服务 查询域名 + $("#topicId").on("change",function(){ + var websiteServiceId = $("#websiteServiceId").val(); + if(websiteServiceId!=null&&websiteServiceId!=''){ + ajaxDomain(websiteServiceId,$("#topicId").val()); + } + }); + $("#websiteServiceId").on("change",function(){ + var topicId =$("#topicId").val(); + if(topicId!=null&&topicId!=''){ + ajaxDomain($("#websiteServiceId").val(),topicId); + } + }); + + }); + + + function ajaxDomain(webId,topicId){ + var pathName=window.document.location.pathname.substring(0,window.document.location.pathname.indexOf("/nis")+4); + console.log(webId+":"+topicId) + $.ajax({ + type:'get', + url:'${ctx}/app/WebsiteDomainTopicList', + data:{"websiteServiceId":webId,"topicId":topicId}, + dataType:'json', + async:true, + success:function(data,textStatus){//处理返回结果 + if(textStatus=="success"){ + var html=''; + $("#domain").html(html); + $("[name='domain']").selectpicker("refresh"); + $("[name='domain']").selectpicker("render"); + }else{ + html+=''; + $("#domain").html(html); + $("[name='domain']").selectpicker("refresh"); + $("[name='domain']").selectpicker("render"); + } + + } + }, + complete:function(XMLHttpRequest,status){//超时设置 + if(status=="timeout"){ + var html=''; + $("#domain").html(html); + $("[name='domain']").selectpicker("refresh"); + $("[name='domain']").selectpicker("render"); + } + } + }); + } + @@ -70,39 +161,26 @@ $(function(){ <%-- --%> -<%-- --%> +
- <%--
- -
- -
- -
-
-
-
--%>
- +
<%-- --%> - - - + + + + <%-- --%>
-
+
@@ -148,13 +226,16 @@ $(function(){
+
- + + + + + +
-
+
-
- + + - - -
-
-
- - -
- - - - - - > - - - - - - - - - - - - - -
-
- -
-
- -
+
+ +
+
+ +
+ + +
+
+
+
+
+ +
+
+ +
+ +
+
+
+
+
+
+ + + + +
+ +
+ +
+
+
* + +
+
+ + +
+
+
+
+ + + +
@@ -264,6 +363,58 @@ $(function(){
+
+
+ +
+ + + + + + +
+
+
+ +
+ + + + + + > + + + + + + + + + + + + + +
+
+ +
+
+
@@ -283,22 +434,6 @@ $(function(){
-
-
- -
- - -
-
-
-
@@ -313,19 +448,6 @@ $(function(){
-
-
- -
- -
-
-
-