diff --git a/shandan-system/src/main/java/com/keyware/shandan/frame/aspect/SafetyAspect.java b/shandan-system/src/main/java/com/keyware/shandan/frame/aspect/SafetyAspect.java index 541c06a..7ff10e4 100644 --- a/shandan-system/src/main/java/com/keyware/shandan/frame/aspect/SafetyAspect.java +++ b/shandan-system/src/main/java/com/keyware/shandan/frame/aspect/SafetyAspect.java @@ -13,6 +13,7 @@ import com.keyware.shandan.system.service.SysFormConfigService; import com.keyware.shandan.system.service.SysRoleService; import com.keyware.shandan.system.utils.SysSettingUtil; import lombok.extern.slf4j.Slf4j; +import lombok.val; import org.apache.commons.codec.binary.Base64; import org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload; import org.aspectj.lang.ProceedingJoinPoint; @@ -27,8 +28,7 @@ import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; -import java.util.Arrays; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -129,9 +129,19 @@ public class SafetyAspect { //展示用户角色 modelAndView.addObject("userRole", userRoles.get(index)); List formConfigList = formConfigService.list(); - modelAndView.addObject("metadataFormConfig", formConfigList.stream().filter(conf -> "1".equals(conf.getFormType())).collect(Collectors.toList())); + //按照数据类型进行分类 + Set keys = new HashSet<>(); + formConfigList.forEach(form -> { + keys.add(form.getFormType()); + }); + Map> map = new HashMap<>(); + for(String key : keys){ + map.put(key,formConfigList.stream().filter(form -> key.equals(form.getFormType())).collect(Collectors.toList())); + } modelAndView.addObject("uploadFormConfig", formConfigList.stream().filter(conf -> "2".equals(conf.getFormType())).collect(Collectors.toList())); + modelAndView.addObject("allUploadFormConfig", map); + modelAndView.addObject("uploadFormConfigKeys", keys); setStaticResourceAddress(request, modelAndView); } return result; diff --git a/shandan-system/src/main/java/com/keyware/shandan/system/constants/FormTypeEnum.java b/shandan-system/src/main/java/com/keyware/shandan/system/constants/FormTypeEnum.java index bb0cf37..dccec35 100644 --- a/shandan-system/src/main/java/com/keyware/shandan/system/constants/FormTypeEnum.java +++ b/shandan-system/src/main/java/com/keyware/shandan/system/constants/FormTypeEnum.java @@ -17,19 +17,19 @@ public enum FormTypeEnum { /** * 数据资源注册表单 */ - metadataEditForm(1,"数据资源注册表单"), + metadataEditForm("1","数据资源注册表单"), /** * 文件上传表单 */ - fileUploadForm(2, "文件上传表单"), + fileUploadForm("2", "文件上传表单"), /** * 文件夹上传表单 */ @Deprecated - dirUploadForm(3, "文件夹上传表单"); + dirUploadForm("3", "文件夹上传表单"); @EnumValue - private final Integer value; + private final String value; /** * 描述 diff --git a/shandan-system/src/main/java/com/keyware/shandan/system/controller/SysFileController.java b/shandan-system/src/main/java/com/keyware/shandan/system/controller/SysFileController.java index f6e95af..034f988 100644 --- a/shandan-system/src/main/java/com/keyware/shandan/system/controller/SysFileController.java +++ b/shandan-system/src/main/java/com/keyware/shandan/system/controller/SysFileController.java @@ -5,6 +5,7 @@ import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.ZipUtil; import cn.hutool.http.HttpUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.keyware.shandan.bianmu.service.DataLabelsService; import com.keyware.shandan.common.controller.BaseController; import com.keyware.shandan.common.entity.Result; @@ -21,6 +22,7 @@ import com.keyware.shandan.system.service.SysFormConfigService; import com.keyware.shandan.system.service.SysSettingService; import com.keyware.shandan.system.utils.DictUtil; import com.keyware.shandan.system.utils.FileChunkUploadUtil; +import lombok.val; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.*; @@ -191,6 +193,10 @@ public class SysFileController extends BaseController mergerChunk(SysFile file) throws Exception { + //根据文件属性进行编码 + + + System.out.println(file); FileChunkUploadUtil.mergeChunk(file, sysFile -> sysFileService.save(sysFile)); return Result.of(sysFileService.autoCreateDirAndUpdateFile(file)); } diff --git a/shandan-system/src/main/resources/static/js/sys/file/dirUpload.js b/shandan-system/src/main/resources/static/js/sys/file/dirUpload.js index 39e6b1f..e9d453b 100644 --- a/shandan-system/src/main/resources/static/js/sys/file/dirUpload.js +++ b/shandan-system/src/main/resources/static/js/sys/file/dirUpload.js @@ -12,13 +12,14 @@ let saveResult = { success: false, data: null }; -layui.use(['layer', 'uploader', 'element', 'form', 'laydate', 'dict', 'datalabel'], function () { +layui.use(['layer', 'uploader', 'element', 'form', 'laydate', 'dict', 'datalabel','jquery'], function () { let form = layui.form, laydate = layui.laydate; - let param = layui.url().search || {}; + var $ = layui.jquery; + let lastDataType = 'drill_base'; bindDatetimePlugins(); - + layui.dict.setData('dict-dataType','drill_base') let uploader = layui.uploader.render({ url: `${ctx}/sys/file/upload/chunk`,//上传文件服务器地址,必填 fileCheckUrl: `${ctx}/sys/file/upload/check`,//文件校验地址 @@ -86,9 +87,8 @@ layui.use(['layer', 'uploader', 'element', 'form', 'laydate', 'dict', 'datalabel showErrorMsg('装备型号不能为空') return false; } - } - $('#fileUploadAction').addClass('layui-disabled').attr('disabled', 'true') + $('#fileUploadAction').addClass('layui-disabled').attr('disabled', 'true'); uploader.uploadToServer(); }); @@ -96,6 +96,16 @@ layui.use(['layer', 'uploader', 'element', 'form', 'laydate', 'dict', 'datalabel $('#cancelBtn').show().on('click', closeWindow); } + //数据类型加上监听事件 + layui.dict.onchange('dict-dataType', (data)=>{ + if(lastDataType != data.value){ + $(".item-"+lastDataType).addClass("layui-hide"); + lastDataType = data.value; + $(".item-"+data.value).removeClass("layui-hide"); + form.render() + } + }) + function closeWindow() { window.layerCancelCallback && window.layerCancelCallback(); } @@ -118,14 +128,48 @@ layui.use(['layer', 'uploader', 'element', 'form', 'laydate', 'dict', 'datalabel */ function getFormVal() { let formVal = form.val('file-form'); + //任务时间 + formVal.inputDate = $(".item-"+lastDataType+"-inputDate").find("input[name='inputDate']").val(); + //录入人员 + formVal.entryStaff = $(".item-"+lastDataType+"-entryStaff").find("input[name='entryStaff']").val(); + //是否演训数据 + formVal.exerciseData = $(".item-"+lastDataType+"-exerciseData").find("input[name='exerciseData']:checked").val(); + //主题任务 + formVal.themeTask = $(".item-"+lastDataType+"-themeTask").find("input[name='themeTask']").val(); + //文件描述 + formVal.remark = $(".item-"+lastDataType+"-remark").find("textarea[name='remark']").val(); + //文件密级 + formVal.secretLevel = $(".item-"+lastDataType+"-secretLevel"+ " .layui-form-select .layui-this").attr('lay-value'); + //文件来源 + var source = $(".item-"+lastDataType+"-source"+ " .layui-form-select .layui-this").attr('lay-value'); + formVal.source = !!source ? source : ""; + //目标/靶标类型 + var tn = $(".item-"+lastDataType+"-targetNumber"+ " .layui-form-select .layui-this").attr('lay-value'); + formVal.targetNumber = !!tn ? tn : ""; + //任务代号 + var tc = $(".item-"+lastDataType+"-taskCode"+ " .layui-form-select .layui-this").attr('lay-value'); + formVal.taskCode = !!tc ? tc : ""; + //任务性质 + var taskNature = $(".item-"+lastDataType+"-taskNature"+ " .layui-form-select .layui-this").attr('lay-value'); + formVal.taskNature = !!taskNature ? taskNature : ""; + //部队代号 + var troopCode = $(".item-"+lastDataType+"-troopCode"+ " .layui-form-select .layui-this").attr('lay-value'); + formVal.troopCode = !!troopCode ? troopCode : ""; + //装备型号 + var em = $(".item-"+lastDataType+"-equipmentModel"+ " .layui-form-select .layui-this").attr('lay-value'); + formVal.equipmentModel = !!em ? em : ""; + //导弹编号 + var mn = $(".item-"+lastDataType+"-missileNumber"+ " .layui-form-select .layui-this").attr('lay-value'); + formVal.missileNumber = !!mn ? mn : ""; formVal.entityId = param.directoryId; formVal.inputDate = formVal.inputDate ? formVal.inputDate + '.000' : ''; // 置标标签数据 formVal.labelStr = JSON.stringify(layui.datalabel.getData(formVal.id, 'file')); + console.log(formVal) + //数据只能编码 return formVal; } - /** * 绑定日期时间插件 */ diff --git a/shandan-system/src/main/resources/view/sys/file/dirUploadLayer.html b/shandan-system/src/main/resources/view/sys/file/dirUploadLayer.html index b871de0..356e5af 100644 --- a/shandan-system/src/main/resources/view/sys/file/dirUploadLayer.html +++ b/shandan-system/src/main/resources/view/sys/file/dirUploadLayer.html @@ -1,12 +1,15 @@ - + + @@ -37,45 +44,19 @@
-
+
+ th:if="${field.isShow && field.fieldName=='dataType'}">
- - - - - - -
+ + +
+
+
@@ -105,6 +91,7 @@
+
diff --git a/shandan-system/src/main/resources/view/sys/file/uploadIframeLayer.html b/shandan-system/src/main/resources/view/sys/file/uploadIframeLayer.html new file mode 100644 index 0000000..100978c --- /dev/null +++ b/shandan-system/src/main/resources/view/sys/file/uploadIframeLayer.html @@ -0,0 +1,63 @@ + + + + + + + + + +
+ + +
+ + + + + + + + +
+
+
+ + + + + +