完成分类性质菜单,地域运营商特征作用域,特定服务管理权限控制,

修订分类性质菜单,地域运营商特征作用域国际化错误及特定服务管理国际化
This commit is contained in:
zhangshilin
2018-03-28 18:24:09 +08:00
parent 94c8fb6de5
commit 0fde30ee6e
16 changed files with 133 additions and 76 deletions

View File

@@ -223,7 +223,6 @@ public class ServiceDictInfoController extends BaseController {
* @param response
* @return
*/
@RequiresPermissions("user")
@ResponseBody
@RequestMapping(value = "treeData")
public List<Map<String, Object>> treeData(@RequestParam(required=false) String extId,@RequestParam(required=false) String isShowHide, HttpServletResponse response, String itType) {

View File

@@ -221,7 +221,6 @@ public class SysDictInfoController extends BaseController {
* @param response
* @return
*/
@RequiresPermissions("user")
@ResponseBody
@RequestMapping(value = "treeData")
public List<Map<String, Object>> treeData(@RequestParam(required=false) String extId,@RequestParam(required=false) String isShowHide, HttpServletResponse response, String itType) {

View File

@@ -134,7 +134,7 @@ public class SpecificServiceCfgController extends BaseController {
|| specificServiceCfg.getParent().getSpecServiceId() == 0) {
SpecificServiceCfg parent = new SpecificServiceCfg();
parent.setSpecServiceId(0);
parent.setSpecServiceName("根节点");
parent.setSpecServiceName("root_node");
specificServiceCfg.setParent(parent);
}
model.addAttribute("specificServiceCfg", specificServiceCfg);
@@ -157,10 +157,10 @@ public class SpecificServiceCfgController extends BaseController {
RedirectAttributes redirectAttributes,Integer oldId) {
try {
specificServiceCfgService.saveOrUpdate(specificServiceCfg,oldId);
addMessage(redirectAttributes, "保存成功");
addMessage(redirectAttributes, "save_success");
} catch (Exception e) {
e.printStackTrace();
addMessage(redirectAttributes, "保存失败!");
addMessage(redirectAttributes, "save_failed");
}
return "redirect:" + adminPath + "/specific/specificServiceCfg/list";
}
@@ -177,10 +177,10 @@ public class SpecificServiceCfgController extends BaseController {
public String delete(SpecificServiceCfg specificServiceCfg, RedirectAttributes redirectAttributes, String mulitId){
try{
specificServiceCfgService.delete(mulitId);
addMessage(redirectAttributes,"删除成功");
addMessage(redirectAttributes,"delete_success");
}catch (Exception e){
e.printStackTrace();
addMessage(redirectAttributes,"删除失败");
addMessage(redirectAttributes,"delete_failed");
}
return "redirect:"+adminPath+"/specific/specificServiceCfg/list";
@@ -193,7 +193,6 @@ public class SpecificServiceCfgController extends BaseController {
* @param response
* @return
*/
@RequiresPermissions("user")
@ResponseBody
@RequestMapping(value = "treeData")
public List<Map<String, Object>> treeData(@RequestParam(required=false) String extId,@RequestParam(required=false) String isShowHide, HttpServletResponse response){
@@ -201,7 +200,7 @@ public class SpecificServiceCfgController extends BaseController {
Map<String, Object> map2 = Maps.newHashMap();
map2.put("id", 0);
map2.put("pId", 0);
map2.put("name","根节点");
map2.put("name","root_node");
//map2.put("placeholder","0");
mapList.add(map2);
List<SpecificServiceCfg> list = specificServiceCfgService.findAllSpecificServiceCfg(new SpecificServiceCfg(),"");

View File

@@ -170,7 +170,7 @@ public class ServiceDictInfoService extends BaseService{
* 新增或修改业务字典表(添加层级改变)
* @param serviceDictInfo
*/
@Transactional
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveOrUpdate(ServiceDictInfo serviceDictInfo) {
if(serviceDictInfo.getParent()==null
||(serviceDictInfo.getParent()!=null&&serviceDictInfo.getParent().getServiceDictId()==null)
@@ -237,7 +237,7 @@ public class ServiceDictInfoService extends BaseService{
* 删除
* @param serviceDictInfo
*/
@Transactional(readOnly = false)
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void deleteDict(String mulitId) {
String[] ids = mulitId.split(",");

View File

@@ -145,6 +145,7 @@ public class SysDictInfoService extends BaseService{
* 新增或修改生效范围字典表
* @param sysDictInfo
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveOrUpdate(SysDictInfo sysDictInfo) {
if(sysDictInfo.getParent()==null
||(sysDictInfo.getParent()!=null&&sysDictInfo.getParent().getSysDictId()==null)
@@ -215,7 +216,7 @@ public class SysDictInfoService extends BaseService{
* 删除
* @param sysDictInfo
*/
@Transactional(readOnly = false)
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void deleteDict(String mulitId) {
String[] ids = mulitId.split(",");
for(String id:ids){

View File

@@ -3,8 +3,10 @@ package com.nis.web.service.specific;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.beust.jcommander.internal.Lists;
import com.nis.domain.Page;
@@ -59,6 +61,7 @@ public class SpecificServiceCfgService extends BaseService{
* 保存或修改
* @param specificServiceCfg
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveOrUpdate(SpecificServiceCfg specificServiceCfg, Integer oldId) {
if(specificServiceCfg.getGroupId()==null){
specificServiceCfg.setGroupId(0);
@@ -88,8 +91,10 @@ public class SpecificServiceCfgService extends BaseService{
/**
* 删除
* @param specificServiceCfg
* @throws Exception
*/
public void delete(String mulitId) {
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void delete(String mulitId){
String[] ids = mulitId.split(",");
for(String id:ids){
if (!id.equals("")) {

View File

@@ -3,9 +3,11 @@ package com.nis.web.service.specific;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.nis.domain.Page;
import com.nis.domain.SysUser;
@@ -47,6 +49,7 @@ public class SpecificServiceHostCfgService extends BaseService{
* 新增或修改
* @param specificServiceHostCfg
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveOrUpdate(SpecificServiceHostCfg specificServiceHostCfg) {
SysUser user = UserUtils.getUser();
String defaultIp = "0.0.0.0"; //缺省0.0.0.0值表示任意
@@ -112,6 +115,7 @@ public class SpecificServiceHostCfgService extends BaseService{
* 删除
* @param mulitId
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void delete(String mulitId) {
String[] ids = mulitId.split(",");
for(String hostId:ids){

View File

@@ -130,7 +130,16 @@ ssl_feature_monitor=ssl feature monitor
ssl_sni_monitor=ssl sni monitor
ssl_address_monitor=ssl address monitor
specific_service_host_cfg=specific service host cfg
original_remain_monitor=original packet remain monitor
ip_multi_domain_monitor=IP multi domain monitor
website_multi_domain_monitor=website multi domain monitor
request_header_monitor=request header domain monitor
response_header_monitor=response header domian monitor
ip_website_keyword_monitor=IP+website keyword monitor
request_header_keyword_monitor=request header domain keyword monitor
response_header_keyword_monitor=response header domain keyword monitor
mail_multi_monitor=mail multi domain monitor
mail_key_monitor=mail keyword monitor
#============menu end======================
#============yewu begin======================
@@ -340,6 +349,6 @@ protocol_id=protocol ID
protocol_name=protocol name
group_id=group ID
input_protocol_id=please enter protocol ID
input_integer=please enter integer
input_integer=please enter right integer
protocol_desc=protocol description
#==========tedingfuwu end=====================

View File

@@ -126,7 +126,19 @@ ssl_feature_monitor=SSL\u8bc1\u4e66\u7279\u5f81\u76d1\u6d4b
ssl_sni_monitor=SSL\uff08SNI\uff09\u76d1\u6d4b
ssl_address_monitor=SSL\u5730\u5740\u76d1\u6d4b
specific_service_host_cfg=\u7279\u5b9a\u670d\u52a1\u670d\u52a1\u5668IP\u7ba1\u7406
original_remain_monitor=\u539f\u59cb\u5305\u7559\u5b58\u76d1\u6d4b
ip_multi_domain_monitor=IP\u5730\u5740\u591a\u57df\u76d1\u6d4b
website_multi_domain_monitor=\u7f51\u7ad9\u591a\u57df\u76d1\u6d4b
request_header_monitor=\u8bf7\u6c42\u5934\u57df\u76d1\u6d4b
response_header_monitor=\u5e94\u7b54\u5934\u57df\u76d1\u6d4b
ip_website_keyword_monitor=IP+\u7f51\u9875\u5173\u952e\u5b57\u76d1\u6d4b
request_header_keyword_monitor=\u8bf7\u6c42\u5934\u57df\u5173\u952e\u5b57\u76d1\u6d4b
response_header_keyword_monitor=\u5e94\u7b54\u5934\u57df\u5173\u952e\u5b57\u76d1\u6d4b
mail_multi_monitor=\u90ae\u4ef6\u591a\u57df\u76d1\u6d4b
mail_key_monitor=\u90ae\u4ef6\u5173\u952e\u5b57\u76d1\u6d4b
file_transfer_multi_monitor=\u6587\u4ef6\u4f20\u8f93\u591a\u57df\u76d1\u6d4b
ftp_multi_monitor=FTP\u591a\u57df\u76d1\u6d4b
ssl_multi_monitor=SSL\u591a\u57df\u76d1\u6d4b
#==========menu end=====================
#==========yewu zidian begin=====================
@@ -335,6 +347,6 @@ protocol_id=\u534f\u8baeID
protocol_name=\u534f\u8bae\u540d\u79f0
group_id=maat\u7aef\u914d\u7f6e\u5206\u7ec4ID
input_protocol_id=\u8bf7\u8f93\u5165\u534f\u8baeID
input_integer=\u8bf7\u8f93\u5165\u6574\u6570
input_integer=\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u6574\u6570\u503c
protocol_desc=\u534f\u8bae\u63cf\u8ff0
#==========tedingfuwu end=====================

View File

@@ -134,10 +134,12 @@
'itemCode':{
//isLevelNoSure:true,
required:true,
remote:'${ctx}/basics/serviceDictInfo/isItemCodeRepeat?oldItemCode=${serviceDictInfo.itemCode}'
remote:'${ctx}/basics/serviceDictInfo/isItemCodeRepeat?oldItemCode=${serviceDictInfo.itemCode}',
maxlength:64
},
'itemValue':{
required:true
required:true,
maxlength:64
},
'itemType':{
typeSame:true,
@@ -146,6 +148,9 @@
'isLeaf':{
leafChange:true
//leafHasTree:true
},
'itemDesc':{
maxlength:128
}
},
@@ -156,10 +161,12 @@
'itemCode':{
//isLevelNoSure:"选择此配置上下层级数将超过四级",
required:'<spring:message code="required"/>',
remote:'<spring:message code="repeat"/>'
remote:'<spring:message code="repeat"/>',
maxlength:'<spring:message code="maxlength_64"/>'
},
'itemValue':{
required:'<spring:message code="required"/>'
required:'<spring:message code="required"/>',
maxlength:'<spring:message code="maxlength_64"/>'
},
'itemType':{
typeSame:'<spring:message code="typeSame"/>',
@@ -168,15 +175,14 @@
'isLeaf':{
leafChange:'<spring:message code="leafChange"/>'
//leafHasTree:'该配置上级为根节点,不得设为叶子节点'
}
},
'itemDesc':{
maxlength:'<spring:message code="maxlength_128"/>'
}
},
submitHandler: function(form){
var is_level_wrong=errorShow();
if(!is_level_wrong){
return false;
$(".errorShow").show();
}
errorShow();
loading('<spring:message code="submitting"/>');
form.submit();
},
@@ -258,7 +264,7 @@
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="item_code"/>:</label>
<div class="col-md-4">
<form:input path="itemCode" htmlEscape="false" maxlength="50" class="form-control"/>
<form:input path="itemCode" htmlEscape="false" maxlength="60" class="form-control"/>
</div>
</div>
<div class="form-group">
@@ -286,7 +292,7 @@
<div class="form-actions">
<div class="row">
<div class="col-md-offset-3 col-md-9">
<shiro:hasPermission name="sys:menu:edit"><button type="submit" class="btn btn-circle blue"><spring:message code="submit"/></button></shiro:hasPermission>
<button type="submit" class="btn btn-circle blue"><spring:message code="submit"/></button>
<button type="button" class="btn btn-circle grey-salsa btn-outline" onclick="history.go(-1)"><spring:message code="cancel"/></button>
</div>
</div>

View File

@@ -149,7 +149,7 @@
</select>
</div>
<input id="intype" class="form-control input-medium" placeholder="<spring:message code='item_code'></spring:message>" type="text">
<input id="intype" class="form-control input-medium" placeholder="<spring:message code='item_code'></spring:message>" type="text" maxlength="60">
</div>

View File

@@ -108,10 +108,12 @@
},
'itemCode':{
required:true,
remote:'${ctx}/basics/sysDictInfo/isItemCodeRepeat?oldItemCode=${sysDictInfo.itemCode}'
remote:'${ctx}/basics/sysDictInfo/isItemCodeRepeat?oldItemCode=${sysDictInfo.itemCode}',
maxlength:64
},
'itemValue':{
required:true
required:true,
maxlength:64
},
'itemType':{
typeSame:true,
@@ -120,6 +122,9 @@
'isLeaf':{
leafChange:true
//leafHasTree:true
},
'itemDesc':{
maxlength:128
}
},
@@ -129,10 +134,12 @@
},
'itemCode':{
required:'<spring:message code="required"/>',
remote:'<spring:message code="repeat"/>'
remote:'<spring:message code="repeat"/>',
maxlength:'<spring:message code="maxlength_64"/>'
},
'itemValue':{
required:'<spring:message code="required"/>'
required:'<spring:message code="required"/>',
maxlength:'<spring:message code="maxlength_64"/>'
},
'itemType':{
typeSame:'<spring:message code="typeSame"/>',
@@ -141,7 +148,11 @@
'isLeaf':{
leafChange:'<spring:message code="leafChange"/>'
//leafHasTree:'该配置上级为根节点,不得设为叶子节点'
}
},
'itemDesc':{
maxlength:'<spring:message code="maxlength_128"/>'
}
},
submitHandler: function(form){
@@ -225,7 +236,7 @@
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="itemCode"/>:</label>
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="item_code"/>:</label>
<div class="col-md-4">
<form:input path="itemCode" htmlEscape="false" maxlength="50" class="form-control"/>
</div>
@@ -260,7 +271,7 @@
<div class="form-actions">
<div class="row">
<div class="col-md-offset-3 col-md-9">
<shiro:hasPermission name="sys:menu:edit"><button type="submit" class="btn btn-circle blue"><spring:message code="submit"/></button></shiro:hasPermission>
<button type="submit" class="btn btn-circle blue"><spring:message code="submit"/></button>
<button type="button" class="btn btn-circle grey-salsa btn-outline" onclick="history.go(-1)"><spring:message code="cancel"/></button>
</div>
</div>

View File

@@ -152,7 +152,7 @@
</select>
</div>
<input id="intype" class="form-control input-medium" placeholder="<spring:message code='item_code'></spring:message>" type="text">
<input id="intype" class="form-control input-medium" placeholder="<spring:message code='item_code'></spring:message>" type="text" maxlength="60">
</div>
</div>

View File

@@ -8,7 +8,7 @@
<script type="text/javascript">
$(document).ready(function() {
jQuery.validator.addMethod("maxValue", function(value, element) {
return value >=0&&value<210000000;
return value >=0&&value<2100000000;
}, "请填写正确的协议id");
//校验叶子节点无上级不得选为叶子节点
jQuery.validator.addMethod("leafHasTree",function(value,element){
@@ -46,38 +46,47 @@
specServiceId:{
required:true,
digits:true,
maxValue: true,
max: 2100000000,
remote:'${ctx}/specific/specificServiceCfg/isIdRepeat?oldId=${specificServiceCfg.specServiceId}'
},
specServiceName:{
required:true
required:true,
maxlength:64
},
groupId:{
digits:true,
maxValue:true
max:2100000000
},
isLeaf:{
leafHasTree:true,
//leafHasTree:true,
leafChange:true
},
specServiceDesc:{
maxlength:64
}
},
messages: {
specServiceId:{
required:'请填写协议ID',
digits:"请填写整数数字",
maxValue: "请填写正确的协议ID(0~210000000)",
remote:'该协议ID已存在'
required:'<spring:message code="required"/>',
digits:'<spring:message code="input_integer"/>',
max: '<spring:message code="input_integer"/>',
remote:'<spring:message code="repeat"/>'
},
specServiceName:{
required:'请填写协议名称'
required:'<spring:message code="required"/>',
maxlength:'<spring:message code="maxlength_64"/>'
},
groupId:{
digits:'请填写整数数值',
maxValue:'请填写正确的分组Id(0~210000000)'
digits:'<spring:message code="input_integer"/>',
max:'<spring:message code="input_integer"/>'
},
isLeaf:{
leafHasTree:'该配置上级为根节点,不得设为叶子节点',
leafChange:'该配置包含下级配置,不得改为叶子节点'
//leafHasTree:'该配置上级为根节点,不得设为叶子节点',
leafChange:'<spring:message code="leafChange"/>'
},
specServiceDesc:{
maxlength:'<spring:message code="maxlength_64"/>'
}
},
@@ -122,7 +131,7 @@
<div class="portlet box blue">
<div class="portlet-title">
<div class="caption">
<i class="fa fa-gift"></i><shiro:hasPermission name="sys:menu:edit">${not empty specificServiceCfg.specServiceId?'修改':'添加'}</shiro:hasPermission><shiro:lacksPermission name="sys:menu:edit"><spring:message code="show"/></shiro:lacksPermission></div>
<i class="fa fa-gift"></i><c:if test="${not empty specificServiceCfg.specServiceId}"><spring:message code='edit'/></c:if><c:if test="${empty specificServiceCfg.specServiceId}"><spring:message code='add'/></c:if></div>
<div class="tools">
<!-- <a href="javascript:;" class="collapse"> </a>
<a href="#portlet-config" data-toggle="modal" class="config"> </a>
@@ -144,7 +153,8 @@
<div class="form-group">
<label class="col-md-3 control-label"><spring:message code="superior_config"/>:</label>
<div class="col-md-4">
<sys:treeselect id="specificServiceCfg" name="parent.specServiceId" value="${specificServiceCfg.parent.specServiceId}" labelName="parent.specServiceName" labelValue="${specificServiceCfg.parent.specServiceName eq '根节点'?'根节点':fns:getBySpecServiceId(specificServiceCfg.parent.specServiceId).specServiceName}"
<c:set var="fatherName"><spring:message code="root_node"/></c:set>
<sys:treeselect id="specificServiceCfg" name="parent.specServiceId" value="${specificServiceCfg.parent.specServiceId}" labelName="parent.specServiceName" labelValue="${specificServiceCfg.parent.specServiceName eq 'root_node'?fatherName:fns:getBySpecServiceId(specificServiceCfg.parent.specServiceId).specServiceName}"
title="菜单" url="/specific/specificServiceCfg/treeData" extId="${specificServiceCfg.specServiceId}" cssClass="required form-control"/>
</div>
</div>
@@ -170,8 +180,10 @@
<label class="col-md-3 control-label"><font color="red">*</font><spring:message code="is_leaf"/>:</label>
<div class="col-md-4">
<form:select path="isLeaf" class="form-control">
<form:options items="${fns:getDictList('INT_YES_NO')}" itemLabel="<spring:message code="itemValue"/>" itemValue="itemCode" htmlEscape="false"/>
</form:select>
<c:forEach items="${fns:getDictList('INT_YES_NO')}" var="dict">
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
</c:forEach>
</form:select>
</div>
</div>
<div class="form-group">
@@ -183,7 +195,7 @@
<div class="form-actions">
<div class="row">
<div class="col-md-offset-3 col-md-9">
<shiro:hasPermission name="sys:menu:edit"><button type="submit" class="btn btn-circle blue"><spring:message code="submit"/></button></shiro:hasPermission>
<shiro:hasPermission name="specific:service:edit"><button type="submit" class="btn btn-circle blue"><spring:message code="submit"/></button></shiro:hasPermission>
<button type="button" class="btn btn-circle grey-salsa btn-outline" onclick="history.go(-1)"><spring:message code="cancel"/></button>
</div>
</div>

View File

@@ -17,20 +17,14 @@
处理全选、全取消
**/
function selectAll(){
//alert($("#selAll").prop("checked"));
if($("#selAll").prop("checked")){
//$("#treeTable").find(":checkbox[name='check']").attr("checked","checked");
//$("#treeTable").find(":checkbox[name='check']").each(function(){
$("input[name='check']:checkbox").each(function(){
$(this).prop("checked",true);
});
}else{
//$("#treeTable").find(":checkbox[name='check']").attr("checked",false);
//$("#treeTable").find(":checkbox[name='check']").each(function(){
$("input[name='check']:checkbox").each(function(){
//$(this).attr("checked",false);
$(this).removeProp("checked");
});
}
@@ -47,9 +41,9 @@
}
});
if(mulitId!=""){
confirmx('您确认要执行该操作?', url+"?mulitId="+mulitId);
confirmx("<spring:message code='confirm_message'/>", url+"?mulitId="+mulitId);
}else{
alert("至少选择一条数据记录");
alert("<spring:message code='one_more'/>");
}
}
function casec(){
@@ -57,10 +51,12 @@
if(isNaN($("#intype").val())){
$("#showError").show();
return false;
}else{
}else if($("#intype").val()>2100000000){
$("#showError").show();
return false;
}else{
$("#showError").hide();
//alert(11);
return true;
return true;
}
}else{
$("#showError").hide();
@@ -70,7 +66,6 @@
//查询
function page(n,s){
//$("#intype").attr("name",$("#seltype").val());
$("#pageNo").val(n);
$("#pageSize").val(s);
$("#searchForm").attr("action","${ctx}/specific/specificServiceCfg/list");
@@ -115,10 +110,12 @@
<body>
<div class="page-content">
<div class="theme-panel hidden-xs hidden-sm">
<shiro:hasPermission name="specific:service:edit">
<button type="button" class="btn btn-primary"
onClick="javascript:window.location='${ctx}/specific/specificServiceCfg/form'">
<i class="fa fa-plus"></i>
<spring:message code="add"></spring:message>配置</button>
<spring:message code="add"></spring:message><spring:message code="configuration"></spring:message></button>
</shiro:hasPermission>
</div>
<h3 class="page-title">
@@ -153,7 +150,7 @@
<option value="groupId"><spring:message code="group_id"/></option>
</select>
</div>
<input id="intype" class="form-control input-medium" placeholder="<spring:message code='input_protocol_id'/>" type="text" onchange="casec()">
<input id="intype" class="form-control input-medium" placeholder="<spring:message code='input_protocol_id'/>" type="text" onchange="casec()" maxlength="60">
</div>
@@ -163,18 +160,22 @@
</div>
<div class="pull-left">
<shiro:hasPermission name="specific:service:view">
<button type="button" class="btn blue" onClick="page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
</shiro:hasPermission>
<button type="button" class="btn btn-default" onClick="resetx()"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<shiro:hasPermission name="specific:service:edit">
<button type="button" class="btn btn-default" onclick="cmd('${ctx}/specific/specificServiceCfg/form')">
<i class="fa fa-edit"></i> <spring:message code="edit"/></button>
<button type="button" class="btn btn-default" onclick="cmd('${ctx}/specific/specificServiceCfg/delete')">
<i class="fa fa-trash"></i> <spring:message code="delete"/></button>
</shiro:hasPermission>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title="<spring:message code='custom_columns'/>" href="javascript:;">
<i class="icon-wrench"></i>
@@ -240,8 +241,7 @@
<th><spring:message code="group_id"/></th>
<th><spring:message code="is_leaf"/></th>
<th class="sort-column op_time"><spring:message code="operate_time"/></th>
<%-- <shiro:hasPermission name="sys:menu:edit"><th><spring:message code="operation"/></th></shiro:hasPermission>
--%> </tr>
</tr>
</thead>
<tbody>
<c:forEach items="${list}" var="specificServiceCfg" varStatus="ss">
@@ -252,7 +252,7 @@
<td title="${specificServiceCfg.specServiceName}">${specificServiceCfg.specServiceName}</td>
<td title="${specificServiceCfg.specServiceDesc}">${fns:abbr(specificServiceCfg.specServiceDesc,15)}</td>
<td>${specificServiceCfg.groupId }</td>
<td>${fns:getDictLabel("SYS_YES_NO",specificServiceCfg.isLeaf,"0")}</td>
<td><spring:message code="${fns:getDictLabel('INT_YES_NO',specificServiceCfg.isLeaf,'0')}"></spring:message></td>
<td><fmt:formatDate value="${specificServiceCfg.opTime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<%-- <td>
<div class="btn-group btn-xs">

View File

@@ -453,7 +453,7 @@ function sjfdsj(){
<div class="form-actions">
<div class="row">
<div class="col-md-offset-3 col-md-9">
<shiro:hasPermission name="sys:menu:edit"><button type="submit" class="btn btn-circle blue"><spring:message code="submit" /></button></shiro:hasPermission>
<shiro:hasPermission name="specific:serviceIp:edit"><button type="submit" class="btn btn-circle blue"><spring:message code="submit" /></button></shiro:hasPermission>
<button type="button" class="btn btn-circle grey-salsa btn-outline" onclick="history.go(-1)"> <spring:message code="cancel" /></button>
</div>
</div>