Commit 26fe8fee authored by caixingbing's avatar caixingbing
parents 2fdc90b6 38f65077
package com.dsk.web.controller.business; package com.dsk.web.controller.business;
import java.util.List; import com.dsk.common.core.controller.BaseController;
import javax.annotation.PostConstruct; import com.dsk.common.core.domain.AjaxResult;
import javax.servlet.http.HttpServletResponse;
import com.dsk.common.core.domain.entity.BusinessBacklog; import com.dsk.common.core.domain.entity.BusinessBacklog;
import com.dsk.common.utils.poi.ExcelUtil; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.service.IBusinessBacklogService; import com.dsk.system.service.IBusinessBacklogService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping; import java.util.List;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.core.page.TableDataInfo;
/** /**
* 项目工作待办Controller * 项目工作待办Controller
......
package com.dsk.web.controller.business; package com.dsk.web.controller.business;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.dsk.common.core.domain.entity.BusinessContacts;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.system.service.IBusinessContactsService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType; import com.dsk.common.core.domain.entity.BusinessContacts;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.service.IBusinessContactsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* 项目联系人Controller * 项目联系人Controller
......
...@@ -3,13 +3,17 @@ package com.dsk.web.controller.business; ...@@ -3,13 +3,17 @@ package com.dsk.web.controller.business;
import com.dsk.common.config.RuoYiConfig; import com.dsk.common.config.RuoYiConfig;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.file.FileUploadUtils;
import com.dsk.common.utils.file.FileUtils; import com.dsk.common.utils.file.FileUtils;
import com.dsk.framework.config.ServerConfig;
import com.dsk.system.domain.BusinessIdDto;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
...@@ -23,8 +27,8 @@ import java.util.List; ...@@ -23,8 +27,8 @@ import java.util.List;
@RequestMapping("/business/file") @RequestMapping("/business/file")
public class BusinessFileController extends BaseController { public class BusinessFileController extends BaseController {
// 本地资源路径 @Autowired
public static final String LOCALPATH = RuoYiConfig.getProfile(); private ServerConfig serverConfig;
/** /**
* 新建文件夹 * 新建文件夹
...@@ -33,36 +37,63 @@ public class BusinessFileController extends BaseController { ...@@ -33,36 +37,63 @@ public class BusinessFileController extends BaseController {
// @Log(title = "项目资料文档", businessType = BusinessType.INSERT) // @Log(title = "项目资料文档", businessType = BusinessType.INSERT)
@GetMapping("/new/{filePath}") @GetMapping("/new/{filePath}")
public AjaxResult newFolder(@PathVariable String filePath) { public AjaxResult newFolder(@PathVariable String filePath) {
return FileUtils.newFolder(LOCALPATH + filePath) ? AjaxResult.success() : AjaxResult.error(); return FileUtils.newFolder(RuoYiConfig.getProfile() + filePath) ? AjaxResult.success() : AjaxResult.error();
} }
/** /**
* 删除某个文件或整个文件夹 * 删除某个文件或整个文件夹
*/ */
@GetMapping("/remove/{filePath}") @PostMapping("/remove")
public AjaxResult removeFile(@PathVariable String filePath) { public AjaxResult removeFile(@RequestBody(required=false) BusinessIdDto folderPath) {
boolean deleteFile = FileUtils.deleteFile(LOCALPATH + filePath); return FileUtils.delFolder(RuoYiConfig.getProfile() + folderPath.getFolderPath()) ? AjaxResult.success() : AjaxResult.error();
return deleteFile ? AjaxResult.success() : AjaxResult.error();
} }
/** /**
* 分页查询项目的所有文件
* 获取文件夹中所有文件 * 获取文件夹中所有文件
*/ */
@GetMapping("/all/{folderPath}") @GetMapping(value = "/list")
public AjaxResult getAllFiles(@PathVariable String folderPath) { public TableDataInfo getAllFiles(@RequestBody(required=false) BusinessIdDto folderPath) {
List<String> allFiles = FileUtils.getAllFiles(LOCALPATH + folderPath); startPage();
return AjaxResult.success(allFiles); List<String> allFiles = FileUtils.getAllFiles(RuoYiConfig.getProfile() + folderPath.getFolderPath());
return getDataTable(allFiles);
} }
/** /* *//**
* 上传文件及文件夹 * 上传文件及文件夹
* @param url * @param url
* @param folderPath * @param folderPath
* @return * @return
*/ *//*
@GetMapping("/upload/{url}/{folderPath}") @GetMapping("/upload/{url}/{folderPath}")
public AjaxResult uploadFolder(@PathVariable("url") String url,@PathVariable("folderPath") String folderPath) throws IOException { public AjaxResult uploadFolder(@PathVariable("url") String url,@PathVariable("folderPath") String folderPath) throws IOException {
return toAjax(FileUtils.uploadFolder(url, LOCALPATH + folderPath)); return toAjax(FileUtils.uploadFolder(url, LOCALPATH + folderPath));
}*/
/**
* 上传文件及文件夹
* @param file 文件流
* @param request 请求头参数
* @return
*/
@PostMapping("/upload/")
public AjaxResult uploadFolder(@RequestPart("file") MultipartFile file, HttpServletRequest request){
try {
String businessFileName = request.getParameter("filePath");
// 上传文件路径
String filePath = RuoYiConfig.getUploadPath()+businessFileName;
// 上传并返回新文件名称
String fileName = FileUploadUtils.upload(filePath, file);
String url = serverConfig.getUrl() + fileName;
AjaxResult ajax = AjaxResult.success();
ajax.put("url", url);
ajax.put("fileName", fileName);
ajax.put("newFileName", FileUtils.getName(fileName));
ajax.put("originalFilename", file.getOriginalFilename());
return ajax;
} catch (IOException e) {
return AjaxResult.error(e.getMessage());
}
} }
/** /**
......
package com.dsk.web.controller.business; package com.dsk.web.controller.business;
import java.util.List; import com.dsk.common.core.controller.BaseController;
import javax.servlet.http.HttpServletResponse; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessFollowRecord; import com.dsk.common.core.domain.entity.BusinessFollowRecord;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.domain.BusinessIdDto; import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.service.IBusinessFollowRecordService; import com.dsk.system.service.IBusinessFollowRecordService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping; import java.util.List;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.common.core.page.TableDataInfo;
/** /**
* 项目跟进记录Controller * 项目跟进记录Controller
......
package com.dsk.web.controller.business; package com.dsk.web.controller.business;
import java.util.List; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessInfo; import com.dsk.common.core.domain.entity.BusinessInfo;
import com.dsk.common.dtos.BusinessInfoDto; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.exception.base.BaseException;
import com.dsk.common.utils.CheckUtils;
import com.dsk.system.domain.BusinessAddDto; import com.dsk.system.domain.BusinessAddDto;
import com.dsk.system.domain.BusinessListDto; import com.dsk.system.domain.BusinessListDto;
import com.dsk.system.domain.vo.BusinessBrowseVo;
import com.dsk.system.domain.vo.BusinessListVo; import com.dsk.system.domain.vo.BusinessListVo;
import com.dsk.system.service.IBusinessInfoService; import com.dsk.system.service.IBusinessInfoService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import java.util.List;
import javax.servlet.http.HttpServletResponse;
/** /**
* 项目详情Controller * 项目详情Controller
......
package com.dsk.web.controller.business; package com.dsk.web.controller.business;
import java.util.List; import com.dsk.common.core.controller.BaseController;
import javax.servlet.http.HttpServletResponse; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessLabel; import com.dsk.common.core.domain.entity.BusinessLabel;
import com.dsk.common.utils.poi.ExcelUtil;
import com.dsk.system.domain.BusinessIdDto; import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.service.IBusinessLabelService; import com.dsk.system.service.IBusinessLabelService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.core.page.TableDataInfo;
/** /**
* 项目标签Controller * 项目标签Controller
......
package com.dsk.web.controller.business; package com.dsk.web.controller.business;
import java.util.List; import com.dsk.common.core.controller.BaseController;
import javax.servlet.http.HttpServletResponse; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessRelateCompany; import com.dsk.common.core.domain.entity.BusinessRelateCompany;
import com.dsk.common.utils.poi.ExcelUtil; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.domain.BusinessIdDto; import com.dsk.system.domain.BusinessIdDto;
import com.dsk.system.service.IBusinessRelateCompanyService; import com.dsk.system.service.IBusinessRelateCompanyService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping; import java.util.List;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.dsk.common.annotation.Log;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.enums.BusinessType;
import com.dsk.common.core.page.TableDataInfo;
/** /**
* 项目关联单位Controller * 项目关联单位Controller
......
...@@ -82,15 +82,15 @@ public class MarketAnalysisController { ...@@ -82,15 +82,15 @@ public class MarketAnalysisController {
* 中标数量按省份分组 * 中标数量按省份分组
*/ */
@RequestMapping("/countGroupByProvince") @RequestMapping("/countGroupByProvince")
public AjaxResult countGroupByProvince(@RequestBody ComposeQueryDto compose) { public AjaxResult countGroupByProvince(@RequestBody JSONObject object) {
return marketAnalysisService.countGroupByProvince(compose); return marketAnalysisService.countGroupByProvince(object);
} }
/* /*
* 中标数量按月份分组 * 中标数量按月份分组
*/ */
@RequestMapping("/countGroupByMonth") @RequestMapping("/countGroupByMonth")
public AjaxResult countGroupByMonth(@RequestBody ComposeQueryDto compose) { public AjaxResult countGroupByMonth() {
return marketAnalysisService.countGroupByMonth(compose); return marketAnalysisService.countGroupByMonth();
} }
} }
...@@ -17,9 +17,9 @@ public interface MarketAnalysisService { ...@@ -17,9 +17,9 @@ public interface MarketAnalysisService {
AjaxResult certGroupByMajorProvinceLevel(); AjaxResult certGroupByMajorProvinceLevel();
AjaxResult countGroupByProvince(ComposeQueryDto compose); AjaxResult countGroupByProvince(JSONObject object);
AjaxResult countGroupByMonth(ComposeQueryDto compose); AjaxResult countGroupByMonth();
AjaxResult bidMoneyGroupByProjectType(JSONObject object); AjaxResult bidMoneyGroupByProjectType(JSONObject object);
......
...@@ -56,14 +56,14 @@ public class MarketAnalysisServiceImpl implements MarketAnalysisService { ...@@ -56,14 +56,14 @@ public class MarketAnalysisServiceImpl implements MarketAnalysisService {
} }
@Override @Override
public AjaxResult countGroupByProvince(ComposeQueryDto compose) { public AjaxResult countGroupByProvince(JSONObject object) {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/countGroupByProvince", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/countGroupByProvince", object);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
@Override @Override
public AjaxResult countGroupByMonth(ComposeQueryDto compose) { public AjaxResult countGroupByMonth() {
Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/countGroupByDate", BeanUtil.beanToMap(compose, false, false)); Map<String, Object> map = dskOpenApiUtil.requestBody("/nationzj/marketAnalysis/countGroupByMonth", null);
return BeanUtil.toBean(map, AjaxResult.class); return BeanUtil.toBean(map, AjaxResult.class);
} }
} }
...@@ -8,8 +8,9 @@ ruoyi: ...@@ -8,8 +8,9 @@ ruoyi:
copyrightYear: 2023 copyrightYear: 2023
# 实例演示开关 # 实例演示开关
demoEnabled: true demoEnabled: true
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/server/dsk-operate-sys/uploadPath)
profile: D:/dsk-operate-sys/uploadPath/ # profile: D:/dsk-operate-sys/uploadPath/
profile: /home/server/dsk-operate-sys/uploadPath/
# 获取ip地址开关 # 获取ip地址开关
addressEnabled: false addressEnabled: false
# 验证码类型 math 数组计算 char 字符验证 # 验证码类型 math 数组计算 char 字符验证
......
package com.dsk.common.utils.file; package com.dsk.common.utils.file;
import java.io.File; import com.dsk.common.config.RuoYiConfig;
import java.io.FileInputStream; import com.dsk.common.exception.base.BaseException;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dsk.common.utils.DateUtils; import com.dsk.common.utils.DateUtils;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.common.utils.uuid.IdUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import com.dsk.common.config.RuoYiConfig;
import com.dsk.common.utils.uuid.IdUtils;
import org.apache.commons.io.FilenameUtils;
import org.apache.http.HttpEntity; import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpPost;
...@@ -35,6 +18,18 @@ import org.apache.http.entity.mime.content.FileBody; ...@@ -35,6 +18,18 @@ import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.client.HttpClients;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
/** /**
* 文件处理工具类 * 文件处理工具类
* *
...@@ -46,6 +41,10 @@ public class FileUtils ...@@ -46,6 +41,10 @@ public class FileUtils
public static String FILENAME_PATTERN = "[a-zA-Z0-9_\\-\\|\\.\\u4e00-\\u9fa5]+"; public static String FILENAME_PATTERN = "[a-zA-Z0-9_\\-\\|\\.\\u4e00-\\u9fa5]+";
public static void main(String[] args) {
System.out.println(RuoYiConfig.getProfile());
}
/** /**
* 检查目录是否存在,如果不存在,则创建目录,如果创建失败则返回false * 检查目录是否存在,如果不存在,则创建目录,如果创建失败则返回false
* *
...@@ -57,8 +56,10 @@ public class FileUtils ...@@ -57,8 +56,10 @@ public class FileUtils
if (!file.exists()) { if (!file.exists()) {
boolean isSuccess = file.mkdir(); boolean isSuccess = file.mkdir();
if (!isSuccess) if (!isSuccess)
if (!file.exists()) {
file.mkdirs(); file.mkdirs();
return !isSuccess; }
return isSuccess;
} else { } else {
return true; return true;
} }
...@@ -160,12 +161,12 @@ public class FileUtils ...@@ -160,12 +161,12 @@ public class FileUtils
return FileUploadUtils.getPathFileName(uploadDir, pathName); return FileUploadUtils.getPathFileName(uploadDir, pathName);
} }
/* *//** /**
* 删除文件 * 删除文件
* *
* @param filePath 文件 * @param filePath 文件
* @return * @return
*//* */
public static boolean deleteFile(String filePath) public static boolean deleteFile(String filePath)
{ {
boolean flag = false; boolean flag = false;
...@@ -176,22 +177,20 @@ public class FileUtils ...@@ -176,22 +177,20 @@ public class FileUtils
flag = file.delete(); flag = file.delete();
} }
return flag; return flag;
}*/ }
/** /**
* 删除整个文件夹或者文某个文件 * 删除整个文件夹或者文某个文件
* *
* @param filePath 文件 * @param filePath 文件
* @return * @return
*/ */
public static boolean deleteFile(String filePath) { public static boolean delFolder(String filePath) {
try { try {
if(StringUtils.isNotEmpty(delAllFile(filePath))) return false; delAllFile(filePath); // 删除里面的所有文件
File file = new File(filePath); File file = new File(filePath);
return file.delete(); return file.delete(); // 删除空文件夹
} catch (Exception e) { } catch (Exception e) {
log.info("删除文件失败"); throw new BaseException("删除文件夹失败",e.getMessage());
e.printStackTrace();
return false;
} }
} }
...@@ -200,32 +199,50 @@ public class FileUtils ...@@ -200,32 +199,50 @@ public class FileUtils
* *
* @param path 文件夹路径 * @param path 文件夹路径
*/ */
public static String delAllFile(String path) { public static void delAllFile(String path) {
String hint = "这是一个根目录,请更换目录!"; String hint = "这是一个根目录,请更换目录!";
File file = new File(path); File file = new File(path);
if (!file.exists()) { if (!file.exists()) {
return hint; throw new BaseException("文件不存在");
} }
// if (!file.isDirectory()) { // if (!file.isDirectory()) {
// return false; // return false;
// } // }
if (file.getAbsolutePath().equalsIgnoreCase("/")) { if (file.getAbsolutePath().equalsIgnoreCase("/")) {
return hint; throw new BaseException(hint);
} }
if (file.getAbsolutePath().equalsIgnoreCase("/root")) { if (file.getAbsolutePath().equalsIgnoreCase("/root")) {
return hint; throw new BaseException(hint);
} }
if (file.getAbsolutePath().equalsIgnoreCase("/usr") || file.getAbsolutePath().equalsIgnoreCase("/opt") if (file.getAbsolutePath().equalsIgnoreCase("/usr") || file.getAbsolutePath().equalsIgnoreCase("/opt")
|| file.getAbsolutePath().equalsIgnoreCase("/bin") || file.getAbsolutePath().equalsIgnoreCase("/sbin") || file.getAbsolutePath().equalsIgnoreCase("/bin") || file.getAbsolutePath().equalsIgnoreCase("/sbin")
|| file.getAbsolutePath().equalsIgnoreCase("/etc") || file.getAbsolutePath().equalsIgnoreCase("/selinux") || file.getAbsolutePath().equalsIgnoreCase("/etc") || file.getAbsolutePath().equalsIgnoreCase("/selinux")
|| file.getAbsolutePath().equalsIgnoreCase("/sys") || file.getAbsolutePath().equalsIgnoreCase("/var") || file.getAbsolutePath().equalsIgnoreCase("/sys") || file.getAbsolutePath().equalsIgnoreCase("/var")
|| file.getAbsolutePath().equalsIgnoreCase("/home") || file.getAbsolutePath().equalsIgnoreCase("/net")) { || file.getAbsolutePath().equalsIgnoreCase("/home") || file.getAbsolutePath().equalsIgnoreCase("/net")) {
return hint; throw new BaseException(hint);
} }
if (file.getAbsolutePath().equalsIgnoreCase("C://") || file.getAbsolutePath().equalsIgnoreCase("C:\\\\")) { if (file.getAbsolutePath().equalsIgnoreCase("C://") || file.getAbsolutePath().equalsIgnoreCase("C:\\\\")) {
return hint; throw new BaseException(hint);
}
String[] tempList = file.list();
File temp;
if (tempList == null) {
return;
}
for (String aTempList : tempList) {
if (path.endsWith(File.separator)) {
temp = new File(path + aTempList);
} else {
temp = new File(path + File.separator + aTempList);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path + "/" + aTempList);// 删除里面的所有文件
delFolder(path + "/" + aTempList);// 删除空文件夹
}
} }
return "";
} }
......
...@@ -32,3 +32,11 @@ export function urbanInvestmentPage(data) { ...@@ -32,3 +32,11 @@ export function urbanInvestmentPage(data) {
data data
}) })
} }
// 同地区城投-查询选项
export function uipGroupData(data) {
return request({
url: '/enterprise/uipGroupData',
method: 'post',
data
})
}
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
:min-width="item.minWidth" :min-width="item.minWidth"
:align="item.align?item.align:'left'" :align="item.align?item.align:'left'"
:fixed="item.fixed" :fixed="item.fixed"
:sortable="item.sortable" :sortable="item.sortable ? 'custom' : false"
:resizable="false"> :resizable="false">
<template v-if="item.slotHeader" slot="header"> <template v-if="item.slotHeader" slot="header">
<slot :name="item.slotName"></slot> <slot :name="item.slotName"></slot>
......
...@@ -60,8 +60,6 @@ export default { ...@@ -60,8 +60,6 @@ export default {
//列表 //列表
tableLoading:false, tableLoading:false,
tableData:[], tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0, tableDataTotal:0,
} }
}, },
......
...@@ -75,8 +75,6 @@ export default { ...@@ -75,8 +75,6 @@ export default {
//列表 //列表
tableLoading:false, tableLoading:false,
tableData:[], tableData:[],
pageIndex:1,
pageSize:10,
tableDataTotal:0, tableDataTotal:0,
} }
}, },
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
<div class="flex-box query-params"> <div class="flex-box query-params">
<span class="common-title">区域经济</span> <span class="common-title">区域经济</span>
</div> </div>
<div class="params-dw"><img src="@/assets/images/addree.png" />广东省-广州市</div>
</div> </div>
<div class="table-item"> <div class="table-item">
<el-table <el-table
...@@ -253,6 +254,16 @@ export default { ...@@ -253,6 +254,16 @@ export default {
} }
.query-box{ .query-box{
margin: 10px 0 20px; margin: 10px 0 20px;
.params-dw{
font-size: 14px;
font-weight: 400;
color: #0081FF;
img{
width: 14px;
height: 14px;
margin-right: 5px;
}
}
} }
} }
......
...@@ -5,19 +5,19 @@ ...@@ -5,19 +5,19 @@
<div class="cardtitles">相关企业</div> <div class="cardtitles">相关企业</div>
<div class="searchbtns"> <div class="searchbtns">
<el-select class="select" placeholder="企业类型"> <el-select class="select" placeholder="企业类型">
<el-select placeholder="请选择"> <el-select placeholder="请选择" v-model="searchParam.companyType">
<el-option v-for="(item,index) in companytype" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in companytype" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
</el-select> </el-select>
<div class="searchInput"> <div class="searchInput">
<el-input type="text" placeholder="输入关键词查询"></el-input> <el-input type="text" placeholder="输入关键词查询" v-model="searchParam.companyName"></el-input>
<div class="btn">搜索</div> <div class="btn" @click="handleCurrentChange(1)">搜索</div>
</div> </div>
<div class="btn btn_primary h32 b3" @click="opennew"><div class="img img1"></div>添加相关企业</div> <div class="btn btn_primary h32 b3" @click="opennew"><div class="img img1"></div>添加相关企业</div>
</div> </div>
<div class="document"> <div class="document">
<el-table <el-table
:data="tableData" :data="tableData.rows"
style="width: 100%" style="width: 100%"
> >
<template slot="empty"> <template slot="empty">
...@@ -29,26 +29,26 @@ ...@@ -29,26 +29,26 @@
</div> </div>
</template> </template>
<el-table-column <el-table-column
prop="date" prop="companyName"
label="企业名称" label="企业名称"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<div class="wordprimary">集团投标常用资料</div> <div class="wordprimary">{{scope.row.companyName}}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="depth"
label="对接深度" label="对接深度/竞争力度"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="companyRole"
label="企业角色" label="企业角色"
sortable sortable
width=""> width="">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="responsiblePerson"
label="负责人" label="负责人"
width=""> width="">
</el-table-column> </el-table-column>
...@@ -59,21 +59,21 @@ ...@@ -59,21 +59,21 @@
width=""> width="">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="hoverbtn"> <div class="hoverbtn">
<div class="sc">删除</div> <div class="sc" @click="delQY(scope.row.id)">删除</div>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="tables"> <div class="tables" v-if="tableData.total > searchParam.pageSize">
<div class="bottems"> <div class="bottems">
<el-pagination <el-pagination
background background
:page-size="20" :page-size="searchParam.pageSize"
:current-page="1" :current-page="searchParam.pageNum"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
layout="prev, pager, next" layout="prev, pager, next"
:total="1000"> :total="tableData.total">
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
...@@ -87,12 +87,12 @@ ...@@ -87,12 +87,12 @@
<span>新建相关企业</span> <span>新建相关企业</span>
</div> </div>
<div class="types"> <div class="types">
<div v-for="(item,index) in companytype" :class="{'on':types==item.dictValue}" @click="types=item.dictLabel"><i></i>{{item.dictLabel}}</div> <div v-for="(item,index) in companytype" :class="{'on':types==item.dictValue}" @click="totype(item.dictValue)"><i></i>{{item.dictLabel}}</div>
</div> </div>
<div class="popform"> <div class="popform">
<div class="popbot" style="padding-right: 0"> <div class="popbot" style="padding-right: 0">
<div class="btn btn_cancel h32" @click="cancel">返回</div> <div class="btn btn_cancel h32" @click="cancel(0)">返回</div>
<div class="btn btn_primary h32" @click="hzhbVisible=true">下一步</div> <div class="btn btn_primary h32" @click="gettype">下一步</div>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
...@@ -105,29 +105,23 @@ ...@@ -105,29 +105,23 @@
<span>新建相关企业-{{types}}</span> <span>新建相关企业-{{types}}</span>
</div> </div>
<el-form class="popform i" label-width="85px" :rules="rules" ref="ruleForm" > <el-form class="popform i" label-width="85px" :rules="rules" ref="ruleForm" >
<el-form-item label="企业名称:" prop="projectName" class="row"> <el-form-item label="企业名称:" prop="companyName" class="row">
<el-input type="text" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.companyName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item v-if="types == companytype[0].dictValue" label="对接深度:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item v-if="types == companytype[1].dictValue" label="合作阶段:" class="row">
<el-input type="text" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="types == companytype[2].dictValue" label="竞争力度:" class="row"> <el-form-item :label="typename" class="row">
<el-input type="text" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.depth" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="企业角色:" class="row"> <el-form-item label="企业角色:" class="row">
<el-select placeholder="请选择"> <el-select placeholder="请选择" v-model="queryParam.companyRole">
<el-option v-for="(item,index) in companyrole" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in companyrole" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="负责人:" class="row"> <el-form-item label="负责人:" class="row">
<el-input type="text" placeholder="请输入"></el-input> <el-input type="text" v-model="queryParam.responsiblePerson" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<div class="popbot"> <div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div> <div class="btn btn_cancel h32" @click="cancel(1)">返回</div>
<div class="btn btn_primary h32">添加</div> <div class="btn btn_primary h32" @click="addqy">添加</div>
</div> </div>
</el-form> </el-form>
</el-dialog> </el-dialog>
...@@ -169,12 +163,29 @@ ...@@ -169,12 +163,29 @@
address: '上海市普陀区金沙江路 1516 弄' address: '上海市普陀区金沙江路 1516 弄'
} }
], ],
typelist:['对接深度:','合作阶段:','竞争力度:'],
typename:"",
rules:{ rules:{
projectName:[{ required: true, message: '请输入非空格字符!', trigger: 'blur' },], companyName:[{ required: true, message: '请输入非空格字符!', trigger: 'blur' },],
}, },
companytype:[], companytype:[],
companyrole:[], companyrole:[],
queryParam:{
businessId:this.$route.query.id,
companyId:'',
companyName:'',
companyRole:'',
companyType:'',
responsiblePerson:'',
depth:'',
},
searchParam:{
pageSize:20,
pageNum:1,
businessId:this.$route.query.id,
companyType:"",
companyName:'',
},
} }
}, },
created(){ created(){
...@@ -189,16 +200,59 @@ ...@@ -189,16 +200,59 @@
}) })
}, },
methods:{ methods:{
delQY(id){
},
addqy(){
addXGQY(this.queryParam).then(res=>{
if(res.code == 200){
this.$message.success('添加成功!')
this.getlist()
}else {
this.$message.error(res.msg)
}
})
},
getlist(){
getXGQY(this.searchParam).then(result=>{
this.tableData = result.data
})
},
//翻页 //翻页
handleCurrentChange(val) { handleCurrentChange(val) {
console.log(`当前页: ${val}`); this.searchParam.pageNum = val
this.getlist()
}, },
cancel(){ cancel(type){
if(type == 0)
this.dialogVisible = false this.dialogVisible = false
else
this.hzhbVisible = false
},
totype(value){
this.types = value
},
gettype(){
this.queryParam.companyType = this.types
this.companytype.forEach((item,index)=>{
if(item.dictValue == this.types){
this.typename = this.typelist[index]
}
})
this.hzhbVisible=true
}, },
//打开新建窗口 //打开新建窗口
opennew(){ opennew(){
this.dialogVisible = true this.dialogVisible = true
this.queryParam={
businessId:this.$route.query.id,
companyId:'',
companyName:'',
companyRole:'',
companyType:'',
responsiblePerson:'',
depth:'',
}
}, },
} }
} }
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
{{xmjd}} {{xmjd}}
<i class="el-icon-caret-bottom"></i> <i class="el-icon-caret-bottom"></i>
</span> </span>
<el-select v-model="xmjd" class="select-multiple" placeholder="请选择" @click="editXMSL({projectStage:xmjd})"> <el-select v-model="xmjd" class="select-multiple" placeholder="请选择" @change="editXMSL({projectStage:xmjd})">
<el-option v-for="(item,index) in projectStage" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option> <el-option v-for="(item,index) in projectStage" :key="index" :label="item.dictLabel" :value="item.dictValue"></el-option>
</el-select> </el-select>
</div> </div>
......
...@@ -35,6 +35,8 @@ module.exports = { ...@@ -35,6 +35,8 @@ module.exports = {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
target: `http://122.9.160.122:9011`, target: `http://122.9.160.122:9011`,
// target: `http://192.168.60.126:9011`,
// target: `http://192.168.60.27:8766`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: '' ['^' + process.env.VUE_APP_BASE_API]: ''
......
...@@ -19,4 +19,9 @@ public class BusinessIdDto { ...@@ -19,4 +19,9 @@ public class BusinessIdDto {
* 项目标签名称 * 项目标签名称
*/ */
private String label; private String label;
/**
* 文件路径
*/
private String folderPath;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment