From 52f72480792595a6ab2e0656588ef488d96d4df5 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Wed, 7 Feb 2018 21:04:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E6=88=90=E6=A8=A1=E6=9D=BF=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jeesite/common/security/AesUtils.java | 12 +++ .../jeesite/modules/sys/db/InitCoreData.xlsx | Bin 175609 -> 175455 bytes .../modules/test/dao/TestDataChildDao.java | 2 +- .../jeesite/modules/test/dao/TestDataDao.java | 2 +- .../jeesite/modules/test/dao/TestTreeDao.java | 2 +- .../jeesite/modules/test/entity/TestData.java | 2 +- .../modules/test/entity/TestDataChild.java | 18 ++-- .../jeesite/modules/test/entity/TestTree.java | 10 +- .../test/service/TestDataChildService.java | 71 ------------- .../modules/test/service/TestDataService.java | 6 +- .../modules/test/service/TestTreeService.java | 2 +- .../test/web/TestDataChildController.java | 99 ------------------ .../modules/test/web/TestDataController.java | 3 +- .../modules/test/web/TestTreeController.java | 2 +- .../views/modules/test/testDataForm.html | 4 +- .../views/modules/test/testDataList.html | 6 +- .../views/modules/test/testTreeForm.html | 2 +- .../views/modules/test/testTreeList.html | 14 ++- 18 files changed, 48 insertions(+), 209 deletions(-) delete mode 100644 web/src/main/java/com/jeesite/modules/test/service/TestDataChildService.java delete mode 100644 web/src/main/java/com/jeesite/modules/test/web/TestDataChildController.java diff --git a/common/src/main/java/com/jeesite/common/security/AesUtils.java b/common/src/main/java/com/jeesite/common/security/AesUtils.java index 7b710546..77f4716b 100644 --- a/common/src/main/java/com/jeesite/common/security/AesUtils.java +++ b/common/src/main/java/com/jeesite/common/security/AesUtils.java @@ -5,6 +5,7 @@ package com.jeesite.common.security; import java.io.UnsupportedEncodingException; import java.security.GeneralSecurityException; +import java.security.SecureRandom; import javax.crypto.Cipher; import javax.crypto.KeyGenerator; @@ -24,6 +25,8 @@ public class AesUtils { private static final String AES = "AES"; private static final String AES_CBC = "AES/CBC/PKCS5Padding"; private static final int DEFAULT_AES_KEYSIZE = 128; // 生成AES密钥, 默认长度为128位(16字节). + private static final int DEFAULT_IVSIZE = 16; // 生成随机向量, 默认大小为cipher.getBlockSize(), 16字节 + private static final SecureRandom RANDOM = new SecureRandom(); // 用于 生成 generateIV随机数对象 private static final String DEFAULT_URL_ENCODING = "UTF-8"; private static final byte[] DEFAULT_KEY = new byte[]{-97,88,-94,9,70,-76,126,25,0,3,-20,113,108,28,69,125}; @@ -110,6 +113,15 @@ public class AesUtils { } } + /** + * 生成随机向量,默认大小为cipher.getBlockSize(), 16字节. + */ + public static byte[] genIV() { + byte[] bytes = new byte[DEFAULT_IVSIZE]; + RANDOM.nextBytes(bytes); + return bytes; + } + /** * 使用AES加密原始字符串. * diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/db/InitCoreData.xlsx b/modules/core/src/main/java/com/jeesite/modules/sys/db/InitCoreData.xlsx index a9a5cd42a25bba487fbba87e235f1f6305fade38..28cd8e4d1c94d220bd48edd5a0fd6b99d9b4d5c0 100644 GIT binary patch delta 49445 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

leQ0pgS@!DZ5o;!cGHsg6 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 z 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 delta 49628 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 e3o3E?a=GXL&%y(06l@%_N^vyOY`HxX8 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 { diff --git a/web/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java b/web/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java index aaa05da3..b2d65b48 100644 --- a/web/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java +++ b/web/src/main/java/com/jeesite/modules/test/dao/TestDataDao.java @@ -10,7 +10,7 @@ import com.jeesite.modules.test.entity.TestData; /** * 测试数据DAO接口 * @author ThinkGem - * @version 2018-02-05 + * @version 2018-02-07 */ @MyBatisDao public interface TestDataDao extends CrudDao { diff --git a/web/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java b/web/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java index bd0fd896..adeb9d5f 100644 --- a/web/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java +++ b/web/src/main/java/com/jeesite/modules/test/dao/TestTreeDao.java @@ -10,7 +10,7 @@ import com.jeesite.modules.test.entity.TestTree; /** * 测试树表DAO接口 * @author ThinkGem - * @version 2018-02-06 + * @version 2018-02-07 */ @MyBatisDao public interface TestTreeDao extends TreeDao { diff --git a/web/src/main/java/com/jeesite/modules/test/entity/TestData.java b/web/src/main/java/com/jeesite/modules/test/entity/TestData.java index b6e7fbe0..ab54f58d 100644 --- a/web/src/main/java/com/jeesite/modules/test/entity/TestData.java +++ b/web/src/main/java/com/jeesite/modules/test/entity/TestData.java @@ -22,7 +22,7 @@ import com.jeesite.common.mybatis.mapper.query.QueryType; /** * 测试数据Entity * @author ThinkGem - * @version 2018-02-05 + * @version 2018-02-07 */ @Table(name="test_data", alias="a", columns={ @Column(name="id", attrName="id", label="编号", isPK=true), diff --git a/web/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java b/web/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java index 634016d1..be1ccb23 100644 --- a/web/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java +++ b/web/src/main/java/com/jeesite/modules/test/entity/TestDataChild.java @@ -20,12 +20,12 @@ import com.jeesite.common.mybatis.mapper.query.QueryType; /** * 测试数据Entity * @author ThinkGem - * @version 2018-02-05 + * @version 2018-02-07 */ @Table(name="test_data_child", alias="a", columns={ @Column(name="id", attrName="id", label="编号", isPK=true), @Column(name="test_sort", attrName="testSort", label="排序号"), - @Column(name="test_data_id", attrName="testDataId.id", label="父表主键"), + @Column(name="test_data_id", attrName="testData.id", label="父表主键"), @Column(name="test_input", attrName="testInput", label="单行文本", queryType=QueryType.LIKE), @Column(name="test_textarea", attrName="testTextarea", label="多行文本", queryType=QueryType.LIKE), @Column(name="test_select", attrName="testSelect", label="下拉框"), @@ -55,7 +55,7 @@ public class TestDataChild extends DataEntity { private static final long serialVersionUID = 1L; private Long testSort; // 排序号 - private TestData testDataId; // 父表主键 父类 + private TestData testData; // 父表主键 父类 private String testInput; // 单行文本 private String testTextarea; // 多行文本 private String testSelect; // 下拉框 @@ -74,8 +74,8 @@ public class TestDataChild extends DataEntity { } - public TestDataChild(TestData testDataId){ - this.testDataId = testDataId; + public TestDataChild(TestData testData){ + this.testData = testData; } public Long getTestSort() { @@ -87,12 +87,12 @@ public class TestDataChild extends DataEntity { } @Length(min=0, max=64, message="父表主键长度不能超过 64 个字符") - public TestData getTestDataId() { - return testDataId; + public TestData getTestData() { + return testData; } - public void setTestDataId(TestData testDataId) { - this.testDataId = testDataId; + public void setTestData(TestData testData) { + this.testData = testData; } @Length(min=0, max=200, message="单行文本长度不能超过 200 个字符") diff --git a/web/src/main/java/com/jeesite/modules/test/entity/TestTree.java b/web/src/main/java/com/jeesite/modules/test/entity/TestTree.java index aa6d0257..aa36f6e0 100644 --- a/web/src/main/java/com/jeesite/modules/test/entity/TestTree.java +++ b/web/src/main/java/com/jeesite/modules/test/entity/TestTree.java @@ -15,12 +15,12 @@ import com.jeesite.common.mybatis.mapper.query.QueryType; /** * 测试树表Entity * @author ThinkGem - * @version 2018-02-06 + * @version 2018-02-07 */ @Table(name="test_tree", alias="a", columns={ @Column(name="tree_code", attrName="treeCode", label="节点编码", isPK=true), @Column(includeEntity=TreeEntity.class), - @Column(name="tree_name", attrName="treeName", label="树节点名", queryType=QueryType.LIKE, isTreeName=true), + @Column(name="tree_name", attrName="treeName", label="节点名称", queryType=QueryType.LIKE, isTreeName=true), @Column(includeEntity=DataEntity.class), }, orderBy="a.tree_sorts, a.tree_code" ) @@ -28,7 +28,7 @@ public class TestTree extends TreeEntity { private static final long serialVersionUID = 1L; private String treeCode; // 节点编码 - private String treeName; // 树节点名 + private String treeName; // 节点名称 public TestTree() { this(null); @@ -54,8 +54,8 @@ public class TestTree extends TreeEntity { this.treeCode = treeCode; } - @NotBlank(message="树节点名不能为空") - @Length(min=0, max=200, message="树节点名长度不能超过 200 个字符") + @NotBlank(message="节点名称不能为空") + @Length(min=0, max=200, message="节点名称长度不能超过 200 个字符") public String getTreeName() { return treeName; } diff --git a/web/src/main/java/com/jeesite/modules/test/service/TestDataChildService.java b/web/src/main/java/com/jeesite/modules/test/service/TestDataChildService.java deleted file mode 100644 index 79b8ff7d..00000000 --- a/web/src/main/java/com/jeesite/modules/test/service/TestDataChildService.java +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Copyright (c) 2013-Now http://jeesite.com All rights reserved. - */ -package com.jeesite.modules.test.service; - -import java.util.List; - -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.jeesite.common.entity.Page; -import com.jeesite.common.service.CrudService; -import com.jeesite.modules.test.entity.TestDataChild; -import com.jeesite.modules.test.dao.TestDataChildDao; - -/** - * 测试子表Service - * @author ThinkGem - * @version 2018-01-31 - */ -@Service -@Transactional(readOnly=true) -public class TestDataChildService extends CrudService { - - /** - * 获取单条数据 - * @param testDataChild - * @return - */ - public TestDataChild get(TestDataChild testDataChild) { - return super.get(testDataChild); - } - - /** - * 查询分页数据 - * @param page 分页对象 - * @param testDataChild - * @return - */ - public Page findPage(Page page, TestDataChild testDataChild) { - return super.findPage(page, testDataChild); - } - - /** - * 保存数据(插入或更新) - * @param testDataChild - */ - @Transactional(readOnly=false) - public void save(TestDataChild testDataChild) { - super.save(testDataChild); - } - - /** - * 更新状态 - * @param testDataChild - */ - @Transactional(readOnly=false) - public void updateStatus(TestDataChild testDataChild) { - super.updateStatus(testDataChild); - } - - /** - * 删除数据 - * @param testDataChild - */ - @Transactional(readOnly=false) - public void delete(TestDataChild testDataChild) { - super.delete(testDataChild); - } - -} \ No newline at end of file diff --git a/web/src/main/java/com/jeesite/modules/test/service/TestDataService.java b/web/src/main/java/com/jeesite/modules/test/service/TestDataService.java index 21d44725..d396a0e8 100644 --- a/web/src/main/java/com/jeesite/modules/test/service/TestDataService.java +++ b/web/src/main/java/com/jeesite/modules/test/service/TestDataService.java @@ -20,7 +20,7 @@ import com.jeesite.modules.test.dao.TestDataChildDao; /** * 测试数据Service * @author ThinkGem - * @version 2018-02-05 + * @version 2018-02-07 */ @Service @Transactional(readOnly=true) @@ -68,7 +68,7 @@ public class TestDataService extends CrudService { // 保存 TestData子表 for (TestDataChild testDataChild : testData.getTestDataChildList()){ if (!TestDataChild.STATUS_DELETE.equals(testDataChild.getStatus())){ - testDataChild.setTestDataId(testData); + testDataChild.setTestData(testData); if (testDataChild.getIsNewRecord()){ testDataChild.preInsert(); testDataChildDao.insert(testDataChild); @@ -99,7 +99,7 @@ public class TestDataService extends CrudService { public void delete(TestData testData) { super.delete(testData); TestDataChild testDataChild = new TestDataChild(); - testDataChild.setTestDataId(testData); + testDataChild.setTestData(testData); testDataChildDao.delete(testDataChild); } diff --git a/web/src/main/java/com/jeesite/modules/test/service/TestTreeService.java b/web/src/main/java/com/jeesite/modules/test/service/TestTreeService.java index 2b5d3a8b..e112c8be 100644 --- a/web/src/main/java/com/jeesite/modules/test/service/TestTreeService.java +++ b/web/src/main/java/com/jeesite/modules/test/service/TestTreeService.java @@ -17,7 +17,7 @@ import com.jeesite.modules.file.utils.FileUploadUtils; /** * 测试树表Service * @author ThinkGem - * @version 2018-02-06 + * @version 2018-02-07 */ @Service @Transactional(readOnly=true) diff --git a/web/src/main/java/com/jeesite/modules/test/web/TestDataChildController.java b/web/src/main/java/com/jeesite/modules/test/web/TestDataChildController.java deleted file mode 100644 index eec31283..00000000 --- a/web/src/main/java/com/jeesite/modules/test/web/TestDataChildController.java +++ /dev/null @@ -1,99 +0,0 @@ -/** - * Copyright (c) 2013-Now http://jeesite.com All rights reserved. - */ -package com.jeesite.modules.test.web; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; - -import com.jeesite.common.config.Global; -import com.jeesite.common.entity.Page; -import com.jeesite.common.web.BaseController; -import com.jeesite.modules.sys.utils.UserUtils; -import com.jeesite.modules.test.entity.TestDataChild; -import com.jeesite.modules.test.service.TestDataChildService; - -/** - * 测试子表Controller - * @author ThinkGem - * @version 2018-01-31 - */ -@Controller -@RequestMapping(value = "${adminPath}/test/testDataChild") -public class TestDataChildController extends BaseController { - - @Autowired - private TestDataChildService testDataChildService; - - /** - * 获取数据 - */ - @ModelAttribute - public TestDataChild get(String id, boolean isNewRecord) { - return testDataChildService.get(id, isNewRecord); - } - - /** - * 查询列表 - */ - @RequiresPermissions("test:testDataChild:view") - @RequestMapping(value = {"list", ""}) - public String list(TestDataChild testDataChild, Model model) { - model.addAttribute("testDataChild", testDataChild); - return "modules/test/testDataChildList"; - } - - /** - * 查询列表数据 - */ - @RequiresPermissions("test:testDataChild:view") - @RequestMapping(value = "listData") - @ResponseBody - public Page listData(TestDataChild testDataChild, HttpServletRequest request, HttpServletResponse response) { - Page page = testDataChildService.findPage(new Page(request, response), testDataChild); - return page; - } - - /** - * 查看编辑表单 - */ - @RequiresPermissions("test:testDataChild:view") - @RequestMapping(value = "form") - public String form(TestDataChild testDataChild, Model model) { - model.addAttribute("testDataChild", testDataChild); - return "modules/test/testDataChildForm"; - } - - /** - * 保存数据 - */ - @RequiresPermissions("test:testDataChild:edit") - @PostMapping(value = "save") - @ResponseBody - public String save(@Validated TestDataChild testDataChild) { - testDataChildService.save(testDataChild); - return renderResult(Global.TRUE, "保存数据成功!"); - } - - /** - * 删除数据 - */ - @RequiresPermissions("test:testDataChild:edit") - @RequestMapping(value = "delete") - @ResponseBody - public String delete(TestDataChild testDataChild) { - testDataChildService.delete(testDataChild); - return renderResult(Global.TRUE, "删除数据成功!"); - } - -} \ No newline at end of file diff --git a/web/src/main/java/com/jeesite/modules/test/web/TestDataController.java b/web/src/main/java/com/jeesite/modules/test/web/TestDataController.java index d7c656fd..4f38553b 100644 --- a/web/src/main/java/com/jeesite/modules/test/web/TestDataController.java +++ b/web/src/main/java/com/jeesite/modules/test/web/TestDataController.java @@ -19,14 +19,13 @@ import org.springframework.web.bind.annotation.ResponseBody; import com.jeesite.common.config.Global; import com.jeesite.common.entity.Page; import com.jeesite.common.web.BaseController; -import com.jeesite.modules.sys.utils.UserUtils; import com.jeesite.modules.test.entity.TestData; import com.jeesite.modules.test.service.TestDataService; /** * 测试数据Controller * @author ThinkGem - * @version 2018-02-05 + * @version 2018-02-07 */ @Controller @RequestMapping(value = "${adminPath}/test/testData") diff --git a/web/src/main/java/com/jeesite/modules/test/web/TestTreeController.java b/web/src/main/java/com/jeesite/modules/test/web/TestTreeController.java index 16413fbb..42771711 100644 --- a/web/src/main/java/com/jeesite/modules/test/web/TestTreeController.java +++ b/web/src/main/java/com/jeesite/modules/test/web/TestTreeController.java @@ -29,7 +29,7 @@ import com.jeesite.modules.test.service.TestTreeService; /** * 测试树表Controller * @author ThinkGem - * @version 2018-02-06 + * @version 2018-02-07 */ @Controller @RequestMapping(value = "${adminPath}/test/testTree") diff --git a/web/src/main/resources/views/modules/test/testDataForm.html b/web/src/main/resources/views/modules/test/testDataForm.html index 32a39718..937691af 100644 --- a/web/src/main/resources/views/modules/test/testDataForm.html +++ b/web/src/main/resources/views/modules/test/testDataForm.html @@ -205,7 +205,7 @@ $("#testDataChildDataGrid").dataGrid({ {header:'状态', name:'status', editable:true, hidden:true}, {header:'主键', name:'id', editable:true, hidden:true}, {header:'排序号', name:'testSort', width:150, editable:true, edittype:'text', editoptions:{'maxlength':'11', 'class':'form-control digits'}}, - {header:'父表主键', name:'testDataId.id', editable:true, hidden:true}, + {header:'父表主键', name:'testData.id', editable:true, hidden:true}, {header:'单行文本', name:'testInput', width:150, editable:true, edittype:'text', editoptions:{'maxlength':'200', 'class':'form-control'}}, {header:'多行文本', name:'testTextarea', width:150, editable:true, edittype:'textarea', editoptions:{'maxlength':'200', 'class':'form-control', 'rows':'1'}}, {header:'下拉框', name:'testSelect', width:100, @@ -317,7 +317,7 @@ $("#testDataChildDataGrid").dataGrid({ // 编辑表格的提交数据参数 editGridInputFormListName: 'testDataChildList', // 提交的数据列表名 - editGridInputFormListAttrs: 'status,id,testSort,testDataId.id,testInput,testTextarea,testSelect,testSelectMultiple,testRadio,testCheckbox,testDate,testDatetime,testUser.userCode,testOffice.officeCode,testAreaCode,testAreaName,', // 提交数据列表的属性字段 + editGridInputFormListAttrs: 'status,id,testSort,testData.id,testInput,testTextarea,testSelect,testSelectMultiple,testRadio,testCheckbox,testDate,testDatetime,testUser.userCode,testOffice.officeCode,testAreaCode,testAreaName,', // 提交数据列表的属性字段 // 加载成功后执行事件 ajaxSuccess: function(data){ diff --git a/web/src/main/resources/views/modules/test/testDataList.html b/web/src/main/resources/views/modules/test/testDataList.html index 13c0db8e..01654783 100644 --- a/web/src/main/resources/views/modules/test/testDataList.html +++ b/web/src/main/resources/views/modules/test/testDataList.html @@ -139,8 +139,8 @@ $('#dataGrid').dataGrid({ {header:'复选框', name:'testCheckbox', index:'a.test_checkbox', width:150, align:"center", formatter: function(val, obj, row, act){ return js.getDictLabel(${@DictUtils.getDictListJson('sys_menu_type')}, val, '未知', true); }}, - {header:'日期选择', name:'testDate', index:'a.test_date', width:150, align:"left"}, - {header:'日期时间', name:'testDatetime', index:'a.test_datetime', width:150, align:"left"}, + {header:'日期选择', name:'testDate', index:'a.test_date', width:150, align:"center"}, + {header:'日期时间', name:'testDatetime', index:'a.test_datetime', width:150, align:"center"}, {header:'用户选择', name:'testUser.userName', index:'a.test_user_code', width:150, align:"center"}, {header:'部门选择', name:'testOffice.officeName', index:'a.test_office_code', width:150, align:"center"}, {header:'区域选择', name:'testAreaName', index:'a.test_area_code', width:150, align:"center"}, @@ -148,7 +148,7 @@ $('#dataGrid').dataGrid({ {header:'状态', name:'status', index:'a.status', width:150, align:"center", formatter: function(val, obj, row, act){ return js.getDictLabel(${@DictUtils.getDictListJson('sys_search_status')}, val, '未知', true); }}, - {header:'创建时间', name:'createDate', index:'a.create_date', width:150, align:"left"}, + {header:'创建时间', name:'createDate', index:'a.create_date', width:150, align:"center"}, {header:'备注信息', name:'remarks', index:'a.remarks', width:150, align:"left"}, {header:'操作', name:'actions', width:120, sortable:false, title:false, formatter: function(val, obj, row, act){ var actions = []; diff --git a/web/src/main/resources/views/modules/test/testTreeForm.html b/web/src/main/resources/views/modules/test/testTreeForm.html index e6d89217..4b12d354 100644 --- a/web/src/main/resources/views/modules/test/testTreeForm.html +++ b/web/src/main/resources/views/modules/test/testTreeForm.html @@ -51,7 +51,7 @@

+ * 节点名称:
<#form:input path="treeName" maxlength="200" class="form-control required"/>
diff --git a/web/src/main/resources/views/modules/test/testTreeList.html b/web/src/main/resources/views/modules/test/testTreeList.html index 3d54ffab..658892c2 100644 --- a/web/src/main/resources/views/modules/test/testTreeList.html +++ b/web/src/main/resources/views/modules/test/testTreeList.html @@ -19,7 +19,7 @@ <#form:form id="searchForm" model="${testTree}" action="${ctx}/test/testTree/listData" method="post" class="form-inline hide" data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
- +
<#form:input path="treeName" maxlength="200" class="form-control width-120"/>
@@ -51,17 +51,15 @@ $('#dataGrid').dataGrid({ searchForm: $("#searchForm"), columnModel: [ - {header:'父级编号', name:'parentCode', index:'a.parent_code', width:150, align:"left", frozen:true, formatter: function(val, obj, row, act){ - return ''+(val||row.id)+''; + {header:'节点名称', name:'treeName', index:'a.tree_name', width:250, align:"left", frozen:true, formatter: function(val, obj, row, act){ + return '( '+row.treeCode+' ) '+''+(val||row.id)+''; }}, - {header:'所有父级编号', name:'parentCodes', index:'a.parent_codes', width:150, align:"left"}, - {header:'本级排序号', name:'treeSort', index:'a.tree_sort', width:150, align:"left"}, - {header:'全节点名', name:'treeNames', index:'a.tree_names', width:150, align:"left"}, - {header:'树节点名', name:'treeName', index:'a.tree_name', width:150, align:"left"}, + {header:'本级排序号', name:'treeSort', index:'a.tree_sort', width:150, align:"center"}, + {header:'节点名称', name:'treeName', index:'a.tree_name', width:150, align:"left"}, {header:'状态', name:'status', index:'a.status', width:150, align:"center", formatter: function(val, obj, row, act){ return js.getDictLabel(${@DictUtils.getDictListJson('sys_search_status')}, val, '未知', true); }}, - {header:'创建时间', name:'createDate', index:'a.create_date', width:150, align:"left"}, + {header:'创建时间', name:'createDate', index:'a.create_date', width:150, align:"center"}, {header:'备注信息', name:'remarks', index:'a.remarks', width:150, align:"left"}, {header:'操作', name:'actions', width:120, sortable:false, title:false, formatter: function(val, obj, row, act){ var actions = [];