diff --git a/dbsql/update/update202308.sql b/dbsql/update/update202308.sql new file mode 100644 index 0000000..bb4d6d2 --- /dev/null +++ b/dbsql/update/update202308.sql @@ -0,0 +1,2 @@ +alter table BIANMU.B_DIRECTORY add SORT integer; +comment on column BIANMU.B_DIRECTORY.SORT is '加载顺序'; \ No newline at end of file diff --git a/shandan-common/src/main/java/com/keyware/shandan/common/entity/TreeVo.java b/shandan-common/src/main/java/com/keyware/shandan/common/entity/TreeVo.java index 9435596..ef960c6 100644 --- a/shandan-common/src/main/java/com/keyware/shandan/common/entity/TreeVo.java +++ b/shandan-common/src/main/java/com/keyware/shandan/common/entity/TreeVo.java @@ -57,6 +57,10 @@ public class TreeVo implements Serializable { * 选中状态 */ private String checked = "0"; + /** + * 加载顺序 + */ + private int sort; /** * 节点原始数据 */ diff --git a/shandan-common/src/main/java/com/keyware/shandan/common/util/TreeUtil.java b/shandan-common/src/main/java/com/keyware/shandan/common/util/TreeUtil.java index ab2a62b..d438459 100644 --- a/shandan-common/src/main/java/com/keyware/shandan/common/util/TreeUtil.java +++ b/shandan-common/src/main/java/com/keyware/shandan/common/util/TreeUtil.java @@ -5,6 +5,7 @@ import org.springframework.lang.NonNull; import org.springframework.lang.Nullable; import java.text.Collator; +import java.util.Comparator; import java.util.List; import java.util.Locale; import java.util.stream.Collectors; @@ -29,6 +30,7 @@ public class TreeUtil { .filter(node -> (node.getParentId().equals(parentId))) // 给子节点设置子节点 .peek(child -> child.setChildren(buildDirTree(nodes, child.getId()))) + .sorted(Comparator.comparingInt(TreeVo::getSort)) .toList(); } diff --git a/shandan-system/src/main/java/com/keyware/shandan/bianmu/entity/DirectoryVo.java b/shandan-system/src/main/java/com/keyware/shandan/bianmu/entity/DirectoryVo.java index 67abf19..09bc7a8 100644 --- a/shandan-system/src/main/java/com/keyware/shandan/bianmu/entity/DirectoryVo.java +++ b/shandan-system/src/main/java/com/keyware/shandan/bianmu/entity/DirectoryVo.java @@ -130,21 +130,9 @@ public class DirectoryVo extends BaseEntity { @OrderBy(isDesc = false) private Date createTime; - /** - * 所属部门对象 - */ - /*@TableField(exist = false) - private SysOrg org;*/ - @TableField(exist = false) private String modifyUserName; - /** - * 是否有子级 - */ - /*@TableField(exist = false) - private Boolean hasChild;*/ - /** * 子级目录 */ @@ -157,6 +145,12 @@ public class DirectoryVo extends BaseEntity { @TableField(exist = false) private boolean applyChild; + /** + * 目录顺序 + */ + @TableField(value = "SORT") + private Integer sort; + /** * 创建人名称 */ diff --git a/shandan-system/src/main/java/com/keyware/shandan/bianmu/utils/DirectoryUtil.java b/shandan-system/src/main/java/com/keyware/shandan/bianmu/utils/DirectoryUtil.java index 75873ec..0257989 100644 --- a/shandan-system/src/main/java/com/keyware/shandan/bianmu/utils/DirectoryUtil.java +++ b/shandan-system/src/main/java/com/keyware/shandan/bianmu/utils/DirectoryUtil.java @@ -29,13 +29,14 @@ public class DirectoryUtil { tree.setType("DIRECTORY"); tree.setPath(dir.getDirectoryPath()); tree.setBasicData(dir); - if(dir.getDirectoryType() == DirectoryType.FILE || dir.getDirectoryType() == DirectoryType.LINK_FILE){ + tree.setSort(dir.getSort() == null ? Integer.MAX_VALUE : dir.getSort()); + if (dir.getDirectoryType() == DirectoryType.FILE || dir.getDirectoryType() == DirectoryType.LINK_FILE) { tree.setIconClass("dtree-icon-normal-file"); tree.setLast(true); - }else if(dir.getDirectoryType() == DirectoryType.METADATA || dir.getDirectoryType() == DirectoryType.LINK_METADATA){ + } else if (dir.getDirectoryType() == DirectoryType.METADATA || dir.getDirectoryType() == DirectoryType.LINK_METADATA) { tree.setIconClass("dtree-icon-sort"); tree.setLast(true); - }else{ + } else { tree.setLast(false); } } diff --git a/shandan-system/src/main/resources/mybatis/mapper/bianmu/DirectoryMapper.xml b/shandan-system/src/main/resources/mybatis/mapper/bianmu/DirectoryMapper.xml index 84290ff..233f71c 100644 --- a/shandan-system/src/main/resources/mybatis/mapper/bianmu/DirectoryMapper.xml +++ b/shandan-system/src/main/resources/mybatis/mapper/bianmu/DirectoryMapper.xml @@ -14,6 +14,7 @@ + diff --git a/shandan-system/src/main/resources/static/js/business/directory/dirCommon.js b/shandan-system/src/main/resources/static/js/business/directory/dirCommon.js index 4cea208..1f5bb85 100644 --- a/shandan-system/src/main/resources/static/js/business/directory/dirCommon.js +++ b/shandan-system/src/main/resources/static/js/business/directory/dirCommon.js @@ -117,11 +117,15 @@ function openDirectoryEditLayer(data, callback, view) { -
+
${data.createUserName || user.userName}
+
+ + +
`, success: function () { @@ -137,12 +141,12 @@ function openDirectoryEditLayer(data, callback, view) { click: dirOwnerChangeCallback }); layui.dict.render(); - if(!data || !data.secretLevel){ + if (!data || !data.secretLevel) { data['secretLevel'] = 0; } layui.dict.setData('dict-secret-level', data) $('div.dict-component').css({'margin-top': '5px', 'width': '380px', 'margin-left': '4px'}) - if(view){ + if (view) { layui.dict.setReadonly(); } // 目录成员管理事件 @@ -166,7 +170,9 @@ function openDirectoryEditLayer(data, callback, view) { applyChildCheckbox(isEdit); }, yes: function (index) { - if(view){return;} + if (view) { + return; + } saveDirectory(index, callback); } }) @@ -174,10 +180,16 @@ function openDirectoryEditLayer(data, callback, view) { function saveDirectory(index, callback) { form.on('submit(directoryEditForm)', function ({elem, field}) { - if(field.secretLevel > user.secretLevel){ - layer.alert('禁止上传超过自身涉密等级的文件,您的涉密等级为【'+ DICT.getText('secret_level', user.secretLevel) +'】', {icon:2}) + if (field.secretLevel > user.secretLevel) { + layer.alert('禁止上传超过自身涉密等级的文件,您的涉密等级为【' + DICT.getText('secret_level', user.secretLevel) + '】', {icon: 2}) return; } + + if (isNaN(parseInt(field.sort))) { + layer.alert('目录顺序只能为数字'); + return; + } + // 转换数据类型 field.basicDir = field.basicDir === '1'; // 如果是基础数据目录,则自动为提交状态