From 1bd2237b161e519c340052916c8e941a16595ba3 Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期一, 31 七月 2023 02:06:41 +0800
Subject: [PATCH] #售前规划申请单上传文件预览
---
src/main/java/com/zy/crm/manager/controller/PlanController.java | 29 +++++++++
src/main/webapp/static/js/plan/plan.js | 43 ++++++++++++++
src/main/webapp/views/plan/plan.html | 2
src/main/java/com/zy/crm/common/utils/FileSaveExampleUtil.java | 65 +++++++++++++++++++++
4 files changed, 137 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/crm/common/utils/FileSaveExampleUtil.java b/src/main/java/com/zy/crm/common/utils/FileSaveExampleUtil.java
index cc6d062..e599ad4 100644
--- a/src/main/java/com/zy/crm/common/utils/FileSaveExampleUtil.java
+++ b/src/main/java/com/zy/crm/common/utils/FileSaveExampleUtil.java
@@ -4,6 +4,10 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+import lombok.Data;
import org.springframework.web.multipart.MultipartFile;
public class FileSaveExampleUtil {
@@ -61,4 +65,65 @@
File dest = new File(filePath);
file.transferTo(dest);
}
+
+ public static void deleteFilesInDirectory(String directoryPath) {
+ File directory = new File(directoryPath);
+ if (directory.exists() && directory.isDirectory()) {
+ File[] files = directory.listFiles();
+ if (files != null) {
+ for (File file : files) {
+ if (file.isFile()) {
+ file.delete();
+ System.out.println("Deleted file: " + file.getAbsolutePath());
+ }
+ }
+ }
+ }
+ }
+
+ public static List<FileDTO> viewFileList(String directoryPath) {
+ List<FileDTO> fileList = new ArrayList<>();
+
+ File directory = new File(directoryPath);
+ if (directory.exists() && directory.isDirectory()) {
+ File[] files = directory.listFiles();
+ if (files != null) {
+ for (File file : files) {
+ if (file.isFile()) {
+ FileDTO fileDTO = new FileDTO(file.getName(), file.length(), file.getAbsolutePath());
+// FileDTO fileDTO = new FileDTO(file.getName(), file.length());
+ fileList.add(fileDTO);
+ }
+ }
+ }
+ }
+
+ return fileList;
+ }
+
+ @Data
+ public static class FileDTO {
+ private String name;
+ private long size;
+ private String path;
+
+ public FileDTO(String name, long size, String path) {
+ this.name = name;
+ this.size = size;
+ this.path = path;
+ }
+
+ public FileDTO(String name, long size) {
+ this.name = name;
+ this.size = size;
+// this.path = path;
+ }
+
+ // getters and setters
+ }
+
+// public static void main(String[] args) {
+// String directoryPath = "/path/to/directory";
+// deleteFilesInDirectory(directoryPath);
+// }
}
diff --git a/src/main/java/com/zy/crm/manager/controller/PlanController.java b/src/main/java/com/zy/crm/manager/controller/PlanController.java
index 172b69d..335d9c9 100644
--- a/src/main/java/com/zy/crm/manager/controller/PlanController.java
+++ b/src/main/java/com/zy/crm/manager/controller/PlanController.java
@@ -226,6 +226,35 @@
return R.ok();
}
+ @RequestMapping(value = "/plan/delete/file/auth")
+// @ManagerAuth
+ public R deleteFile(@RequestParam("planId") String planId,@RequestParam MultipartFile file){
+ planId="涓婁紶鏂囦欢-20";
+ String[] split = planId.split("-");
+ int id = Integer.parseInt(split[1]);
+ System.out.println("---寮�濮�---");
+ String savePath = "D:/crm/plan/file/"+id+"/"+file.getName(); // 鎸囧畾淇濆瓨鏂囦欢鐨勮矾寰�
+ try{
+ FileSaveExampleUtil.deleteFilesInDirectory(savePath);
+ }catch (Exception e){
+ return R.error();
+ }
+ return R.ok();
+ }
+
+ @RequestMapping(value = "/plan/view/file/auth")
+// @ManagerAuth
+ public R viewFile(@RequestParam("planId") String planId){
+ int id = Integer.parseInt(planId);
+ String savePath = "D:/crm/plan/file/"+id+"/"; // 鎸囧畾淇濆瓨鏂囦欢鐨勮矾寰�
+ try{
+ List<FileSaveExampleUtil.FileDTO> fileDTOS = FileSaveExampleUtil.viewFileList(savePath);
+ return R.ok(fileDTOS);
+ }catch (Exception e){
+ return R.error();
+ }
+ }
+
@PostMapping(value = "/plan/approval/auth")
diff --git a/src/main/webapp/static/js/plan/plan.js b/src/main/webapp/static/js/plan/plan.js
index 3809a81..41e305e 100644
--- a/src/main/webapp/static/js/plan/plan.js
+++ b/src/main/webapp/static/js/plan/plan.js
@@ -204,7 +204,7 @@
,url: '/plan/insert/file/auth' //姝ゅ鐢ㄧ殑鏄涓夋柟鐨� http 璇锋眰婕旂ず锛屽疄闄呬娇鐢ㄦ椂鏀规垚鎮ㄨ嚜宸辩殑涓婁紶鎺ュ彛鍗冲彲銆�
,accept: 'file'
,multiple: true
- ,number: 3
+ ,number: 10
,auto: false
,bindAction: '#testListAction'
,choose: function(obj){
@@ -544,6 +544,47 @@
title: '涓婁紶鏂囦欢-'+data.id,
content: $('#myModal')
});
+ // 鑾峰彇璺緞涓嬬殑鏂囦欢鍒楄〃锛屼娇鐢� jQuery 鐨� ajax 鏂规硶
+ $.ajax({
+ url: '/plan/view/file/auth',
+ data:{
+ planId:data.id
+ },
+ success: function(response) {
+ if (response.code==200){
+ var targetTable = document.getElementById("data-btn-file3");
+ // var targetTable1 = document.getElementById("layui-layer2");
+ // // 鑾峰彇鏂囨湰鍐呭
+ // var text = targetTable1.textContent.trim();
+ // console.log(text); // 杈撳嚭 '涓婁紶鏂囦欢-20'
+ targetTable.innerHTML = '';
+ // 灏嗚幏鍙栧埌鐨勬枃浠跺垪琛ㄦ坊鍔犲埌鏂囦欢闃熷垪涓繘琛屾樉绀�
+ response.data.forEach(function(file,index) {
+ console.log('Failed to get file list data.');
+ console.log(file);
+
+ // 鍒涘缓tr鍏冪礌
+ var tr = document.createElement("tr");
+ tr.id = "upload-"+index;
+ tr.innerHTML = '<td>' + file.name + '</td>'
+ + '<td>' + (file.size / 1024).toFixed(1) + 'kb</td>'
+ + '<td><div class="layui-progress" lay-filter="progress-demo-' + index + '"><div class="layui-progress-bar" lay-percent=""></div></div></td>'
+ + '<td>'
+ + '<button class="layui-btn layui-btn-xs demo-reload layui-hide">閲嶄紶</button>'
+ + '<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">鍒犻櫎</button>'
+ + '</td>';
+
+ // 灏唗r鍏冪礌娣诲姞鍒扮洰鏍噒able涓�
+ targetTable.appendChild(tr);
+ });
+ }else {
+ console.log('Failed to get file list error.');
+ }
+ },
+ error: function() {
+ console.log('Failed to get file list.');
+ }
+ });
break;
}
});
diff --git a/src/main/webapp/views/plan/plan.html b/src/main/webapp/views/plan/plan.html
index ffb748c..80ace3c 100644
--- a/src/main/webapp/views/plan/plan.html
+++ b/src/main/webapp/views/plan/plan.html
@@ -106,7 +106,7 @@
</div>
</div>
-<div id="myModal" layui-hide="true">
+<div id="myModal" style="display: none;">
<div style="padding: 10px">
<div class="layui-upload">
<button type="button" class="layui-btn layui-btn-normal" id="data-btn-file2">閫夋嫨鏂囦欢</button><input class="layui-upload-file" type="file" accept="" name="file" multiple="">
--
Gitblit v1.9.1