From bbcace742224dc2e37cd706ae20be56081a5445a Mon Sep 17 00:00:00 2001 From: xd <844539747@qq.com> Date: Mon, 22 Jul 2024 16:20:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=84=E6=A0=BC=E9=A2=84=E5=AE=A1=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ABAP_AS_WITH_POOL.jcoDestination | 4 +- .../web/controller/bid/BidController.java | 10 ++ .../web/controller/quot/QuotController.java | 12 ++ .../web/controller/zgys/ZgysController.java | 104 ++++++++++++++-- .../ruoyi/bid/service/IBidFileService.java | 20 ++-- .../bid/service/impl/BidFileServiceImpl.java | 20 ++-- .../java/com/ruoyi/zgys/domain/ZgysFile.java | 113 ++++++++++++++++++ .../com/ruoyi/zgys/mapper/ZgysFileMapper.java | 46 +++++++ .../ruoyi/zgys/service/IZgysFileService.java | 48 ++++++++ .../com/ruoyi/zgys/service/IZgysService.java | 1 + .../service/impl/ZgysFileServiceImpl.java | 74 ++++++++++++ .../zgys/service/impl/ZgysServiceImpl.java | 1 + .../resources/mapper/zgys/ZgysFileMapper.xml | 63 ++++++++++ ruoyi-ui/src/api/quot/quot.js | 9 ++ ruoyi-ui/src/api/zgys/zgys.js | 18 +++ ruoyi-ui/src/views/bid/bid/index.vue | 17 ++- ruoyi-ui/src/views/quot/quot/index.vue | 13 +- ruoyi-ui/src/views/zgys/zgys/index.vue | 111 ++++++++++++++++- 18 files changed, 644 insertions(+), 40 deletions(-) create mode 100644 ruoyi-system/src/main/java/com/ruoyi/zgys/domain/ZgysFile.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/zgys/mapper/ZgysFileMapper.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/zgys/service/IZgysFileService.java create mode 100644 ruoyi-system/src/main/java/com/ruoyi/zgys/service/impl/ZgysFileServiceImpl.java create mode 100644 ruoyi-system/src/main/resources/mapper/zgys/ZgysFileMapper.xml diff --git a/ABAP_AS_WITH_POOL.jcoDestination b/ABAP_AS_WITH_POOL.jcoDestination index dc24600..17778df 100644 --- a/ABAP_AS_WITH_POOL.jcoDestination +++ b/ABAP_AS_WITH_POOL.jcoDestination @@ -1,5 +1,5 @@ #for tests only ! -#Mon Jul 22 13:35:56 CST 2024 +#Mon Jul 22 15:09:50 CST 2024 jco.destination.pool_capacity=10 jco.client.lang=ZH jco.client.ashost=172.19.0.125 @@ -7,5 +7,5 @@ jco.client.saprouter= jco.client.user=RFC jco.client.sysnr=00 jco.destination.peak_limit=10 -jco.client.passwd=d5-l}25LC/syTMZBj},zzcOyD{}`D$_}M#F{]EU?5=[as!f` +jco.client.passwd=654321 jco.client.client=800 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bid/BidController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bid/BidController.java index 9fbeedf..4e8eae0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bid/BidController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/bid/BidController.java @@ -348,6 +348,16 @@ public class BidController extends BaseController @DeleteMapping("/{bidIds}") public AjaxResult remove(@PathVariable String[] bidIds) { + for(String bidId:bidIds){ + Bid bid = bidService.selectBidByBidId(bidId); + if("1".equals(bid.getBidApprovalStatus())){ + return error("投标信息:"+bid.getBidCode()+" 已提交,无法删除"); + }else if("2".equals(bid.getBidApprovalStatus())){ + return error("投标信息:"+bid.getBidCode()+" 已完成,无法删除"); + }else if("3".equals(bid.getBidApprovalStatus())){ + return error("投标信息:"+bid.getBidCode()+" 已被驳回,无法删除"); + } + } return toAjax(bidService.deleteBidByBidIds(bidIds)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/quot/QuotController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/quot/QuotController.java index f77e084..7af1803 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/quot/QuotController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/quot/QuotController.java @@ -869,6 +869,18 @@ public class QuotController extends BaseController return success(); } + /** + * 报价组提交反馈 + */ + @Log(title = "报价组-保存反馈说明", businessType = BusinessType.OTHER) + @PostMapping("/saveQuotFeedbackExplanation") + public AjaxResult saveQuotFeedbackExplanation(@RequestBody Quot quot) + { + quotService.updateQuot(quot); + return success(); + } + + /** * 生成报价单-PC * @param quot diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zgys/ZgysController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zgys/ZgysController.java index 6ccdcef..c349b73 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zgys/ZgysController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/zgys/ZgysController.java @@ -3,18 +3,18 @@ package com.ruoyi.web.controller.zgys; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.ruoyi.bid.domain.Bid; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.file.FileUploadUtils; +import com.ruoyi.common.utils.file.MinioUtil; import com.ruoyi.common.utils.uuid.UUID; import com.ruoyi.framework.changeRecord.ChangeRecordLog; +import com.ruoyi.zgys.domain.ZgysFile; +import com.ruoyi.zgys.service.IZgysFileService; 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 org.springframework.web.bind.annotation.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -23,6 +23,7 @@ import com.ruoyi.zgys.domain.Zgys; import com.ruoyi.zgys.service.IZgysService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; /** * 资格预审Controller @@ -37,6 +38,8 @@ public class ZgysController extends BaseController @Autowired private IZgysService zgysService; + @Autowired + private IZgysFileService zgysFileService; /** * 查询资格预审列表 */ @@ -81,8 +84,8 @@ public class ZgysController extends BaseController public AjaxResult add(@RequestBody Zgys zgys) { zgys.setPqId(UUID.fastUUID().toString()); - String bidCode = zgysService.getCode("TBXX"); - zgys.setPqCode(bidCode); + String zgysCode = zgysService.getCode("ZGYS"); + zgys.setPqCode(zgysCode); zgys.setCreateBy(getUsername()); zgys.setUpdateBy(getUsername()); zgysService.insertZgys(zgys); @@ -112,6 +115,87 @@ public class ZgysController extends BaseController @DeleteMapping("/{pqIds}") public AjaxResult remove(@PathVariable String[] pqIds) { + for(String pqId:pqIds){ + Zgys zgys = zgysService.selectZgysByPqId(pqId); + if("1".equals(zgys.getPqApprovalStatus())){ + return error("资格预审单:"+zgys.getPqCode()+" 已提交,无法删除"); + }else if("2".equals(zgys.getPqApprovalStatus())){ + return error("资格预审单:"+zgys.getPqCode()+" 已完成,无法删除"); + }else if("3".equals(zgys.getPqApprovalStatus())){ + return error("资格预审单:"+zgys.getPqCode()+" 已被驳回,无法删除"); + } + } return toAjax(zgysService.deleteZgysByPqIds(pqIds)); } + + /** + * 查询附件列表 + */ + @PreAuthorize("@ss.hasAnyPermi('zgys:zgys:list')") + @GetMapping("/zgysFileList") + public TableDataInfo zgysFileList(ZgysFile zgysFile) + { + startPage(); + List list = zgysFileService.selectZgysFileList(zgysFile); + return getDataTable(list); + } + + /** + * 上传投标附件 + * @param file 文件对象 + * @param relation_id 关联业务表Id + * @param file_type 文件类别 + * @return + * @throws Exception + */ + @PreAuthorize("@ss.hasAnyPermi('zgys:zgys:zgysYwyFile')") + @Log(title = "上传资格预审附件", businessType = BusinessType.INSERT) + @PostMapping("/zgysFile") + public AjaxResult zgysFile(@RequestParam("zgysFile") MultipartFile file, @RequestParam("relation_id") String relation_id, @RequestParam("file_type") String file_type) throws Exception + { + if(!StringUtils.isEmpty(relation_id)){ + if (!file.isEmpty()) + { + ZgysFile zgysFile= new ZgysFile(); + zgysFile.setFileId(UUID.fastUUID().toString()); + + String url = FileUploadUtils.uploadMinio(file,"zgys-manage", "zgys/"+relation_id); + int index = url.lastIndexOf("/")+1; + String fileName = url.substring(index);//获取文件名 + + int index2 = url.indexOf("/zgys/"); + String fileBucketName = url.substring(index2);//获取文件对应文件服务器中地址-供后面删除功能用 + + zgysFile.setFileName(fileName); + zgysFile.setFileBucketName(fileBucketName); + zgysFile.setFileUrl(url); + zgysFile.setFileSize(file.getSize()); + zgysFile.setFileTime(DateUtils.getTime()); + zgysFile.setFileType(file_type); + zgysFile.setRelationId(relation_id); + zgysFileService.insertZgysFile(zgysFile); + } + }else{ + return error("系统异常,投标单号为空!"); + } + return success("上传成功!"); + } + + /** + * 删除附件列表 + */ + @PreAuthorize("@ss.hasAnyPermi('zgys:zgys:zgysYwyFile')") + @Log(title = "删除资格预审附件列表", businessType = BusinessType.DELETE) + @PostMapping("/zgysFileDelete") + public AjaxResult zgysFileDelete(ZgysFile zgysFile) { + String fileId = zgysFile.getFileId(); + try { + ZgysFile zgysfile = zgysFileService.selectZgysFileByFileId(fileId); + zgysFileService.deleteZgysFileByFileId(fileId);//删除文件记录 + MinioUtil.removeObject("zgys-manage", zgysfile.getFileBucketName());//删除文件服务器对应文件 + }catch(Exception e){ + return error("系统异常!"); + } + return success(); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/bid/service/IBidFileService.java b/ruoyi-system/src/main/java/com/ruoyi/bid/service/IBidFileService.java index 8f90ba0..4f742f2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bid/service/IBidFileService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bid/service/IBidFileService.java @@ -13,33 +13,33 @@ public interface IBidFileService { /** - * 查询报价单-文件 + * 查询投标单-文件 * - * @param fileId 报价单-文件主键 - * @return 报价单-文件 + * @param fileId 投标单-文件主键 + * @return 投标单-文件 */ public BidFile selectBidFileByFileId(String fileId); /** - * 查询报价单-文件列表 + * 查询投标单-文件列表 * - * @param bidFile 报价单-文件 - * @return 报价单-文件集合 + * @param bidFile 投标单-文件 + * @return 投标单-文件集合 */ public List selectBidFileList(BidFile bidFile); /** - * 新增报价单-文件 + * 新增投标单-文件 * - * @param bidFile 报价单-文件 + * @param bidFile 投标单-文件 * @return 结果 */ public int insertBidFile(BidFile bidFile); /** - * 删除报价单-文件信息 + * 删除投标单-文件信息 * - * @param fileId 报价单-文件主键 + * @param fileId 投标单-文件主键 * @return 结果 */ public int deleteBidFileByFileId(String fileId); diff --git a/ruoyi-system/src/main/java/com/ruoyi/bid/service/impl/BidFileServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/bid/service/impl/BidFileServiceImpl.java index 03c9081..9d10b1d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/bid/service/impl/BidFileServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/bid/service/impl/BidFileServiceImpl.java @@ -23,10 +23,10 @@ public class BidFileServiceImpl implements IBidFileService private BidFileMapper bidFileMapper; /** - * 查询报价单-文件 + * 查询投标单-文件 * - * @param fileId 报价单-文件主键 - * @return 报价单-文件 + * @param fileId 投标单-文件主键 + * @return 投标单-文件 */ @Override public BidFile selectBidFileByFileId(String fileId) @@ -36,10 +36,10 @@ public class BidFileServiceImpl implements IBidFileService /** - * 查询报价单-文件列表 + * 查询投标单-文件列表 * - * @param bidFile 报价单-文件 - * @return 报价单-文件 + * @param bidFile 投标单-文件 + * @return 投标单-文件 */ @Override public List selectBidFileList(BidFile bidFile) @@ -48,9 +48,9 @@ public class BidFileServiceImpl implements IBidFileService } /** - * 新增报价单-文件 + * 新增投标单-文件 * - * @param bidFile 报价单-文件 + * @param bidFile 投标单-文件 * @return 结果 */ @Override @@ -61,9 +61,9 @@ public class BidFileServiceImpl implements IBidFileService } /** - * 删除报价单-文件信息 + * 删除投标单-文件信息 * - * @param fileId 报价单-文件主键 + * @param fileId 投标单-文件主键 * @return 结果 */ @Override diff --git a/ruoyi-system/src/main/java/com/ruoyi/zgys/domain/ZgysFile.java b/ruoyi-system/src/main/java/com/ruoyi/zgys/domain/ZgysFile.java new file mode 100644 index 0000000..69a3467 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zgys/domain/ZgysFile.java @@ -0,0 +1,113 @@ +package com.ruoyi.zgys.domain; + +import com.ruoyi.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 投标信息-文件对象 bid_file + * + * @author ruoyi + * @date 2024-04-01 + */ +public class ZgysFile extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** */ + private String fileId; + + /** 文件名称 */ + private String fileName; + + /** MINIO文件名称 */ + private String fileBucketName; + + /** 文件地址 */ + private String fileUrl; + + /** 文件大小 */ + private Long fileSize; + + /** 上传时间 */ + private String fileTime; + + /** 类别 */ + private String fileType; + + /** */ + private String relationId; + + public void setFileId(String fileId) + { + this.fileId = fileId; + } + + public String getFileId() + { + return fileId; + } + public void setFileName(String fileName) + { + this.fileName = fileName; + } + + public String getFileName() + { + return fileName; + } + public String getFileBucketName() {return fileBucketName;} + + public void setFileBucketName(String fileBucketName) {this.fileBucketName = fileBucketName;} + public void setFileUrl(String fileUrl) + { + this.fileUrl = fileUrl; + } + + public String getFileUrl() + { + return fileUrl; + } + public void setFileSize(Long fileSize) + { + this.fileSize = fileSize; + } + + public Long getFileSize() + { + return fileSize; + } + public void setFileTime(String fileTime) + { + this.fileTime = fileTime; + } + + public String getFileTime() + { + return fileTime; + } + public String getFileType() {return fileType;} + + public void setFileType(String fileType) {this.fileType = fileType;} + public void setRelationId(String relationId) + { + this.relationId = relationId; + } + + public String getRelationId() + { + return relationId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("fileId", getFileId()) + .append("fileName", getFileName()) + .append("fileUrl", getFileUrl()) + .append("fileSize", getFileSize()) + .append("fileTime", getFileTime()) + .append("relationId", getRelationId()) + .toString(); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zgys/mapper/ZgysFileMapper.java b/ruoyi-system/src/main/java/com/ruoyi/zgys/mapper/ZgysFileMapper.java new file mode 100644 index 0000000..0bc7a99 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zgys/mapper/ZgysFileMapper.java @@ -0,0 +1,46 @@ +package com.ruoyi.zgys.mapper; + +import com.ruoyi.zgys.domain.ZgysFile; + +import java.util.List; + +/** + * 资格预审信息-文件Mapper接口 + * + * @author ruoyi + * @date 2024-04-01 + */ +public interface ZgysFileMapper +{ + /** + * 查询资格预审信息-文件 + * + * @param fileId 资格预审信息-文件主键 + * @return 资格预审信息-文件 + */ + public ZgysFile selectZgysFileByFileId(String fileId); + + /** + * 查询资格预审信息-文件列表 + * + * @param zgysFile 资格预审信息-文件 + * @return 资格预审信息-文件集合 + */ + public List selectZgysFileList(ZgysFile zgysFile); + + /** + * 新增资格预审信息-文件 + * + * @param zgysFile 资格预审信息-文件 + * @return 结果 + */ + public int insertZgysFile(ZgysFile zgysFile); + + /** + * 删除资格预审信息-文件 + * + * @param fileId 资格预审信息-文件主键 + * @return 结果 + */ + public int deleteZgysFileByFileId(String fileId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zgys/service/IZgysFileService.java b/ruoyi-system/src/main/java/com/ruoyi/zgys/service/IZgysFileService.java new file mode 100644 index 0000000..11ca7ba --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zgys/service/IZgysFileService.java @@ -0,0 +1,48 @@ +package com.ruoyi.zgys.service; + +import com.ruoyi.bid.domain.BidFile; +import com.ruoyi.zgys.domain.ZgysFile; + +import java.util.List; + +/** + * 资格预审投标信息-文件Service接口 + * + * @author ruoyi + * @date 2024-04-01 + */ +public interface IZgysFileService +{ + + /** + * 查询资格预审投标单-文件 + * + * @param fileId 资格预审投标单-文件主键 + * @return 资格预审投标单-文件 + */ + public ZgysFile selectZgysFileByFileId(String fileId); + + /** + * 查询资格预审投标单-文件列表 + * + * @param bidFile 资格预审投标单-文件 + * @return 资格预审投标单-文件集合 + */ + public List selectZgysFileList(ZgysFile bidFile); + + /** + * 新增资格预审投标单-文件 + * + * @param zgysFile 资格预审投标单-文件 + * @return 结果 + */ + public int insertZgysFile(ZgysFile zgysFile); + + /** + * 删除资格预审投标单-文件信息 + * + * @param fileId 资格预审投标单-文件主键 + * @return 结果 + */ + public int deleteZgysFileByFileId(String fileId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zgys/service/IZgysService.java b/ruoyi-system/src/main/java/com/ruoyi/zgys/service/IZgysService.java index cd1efe4..cfccdd4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/zgys/service/IZgysService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/zgys/service/IZgysService.java @@ -2,6 +2,7 @@ package com.ruoyi.zgys.service; import java.util.List; import com.ruoyi.zgys.domain.Zgys; +import com.ruoyi.zgys.domain.ZgysFile; /** * 资格预审Service接口 diff --git a/ruoyi-system/src/main/java/com/ruoyi/zgys/service/impl/ZgysFileServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/zgys/service/impl/ZgysFileServiceImpl.java new file mode 100644 index 0000000..5edb1fc --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/zgys/service/impl/ZgysFileServiceImpl.java @@ -0,0 +1,74 @@ +package com.ruoyi.zgys.service.impl; + +import com.ruoyi.zgys.domain.ZgysFile; +import com.ruoyi.zgys.mapper.ZgysFileMapper; +import com.ruoyi.zgys.service.IZgysFileService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 资格预审信息-文件Service业务层处理 + * + * @author ruoyi + * @date 2024-04-01 + */ +@Service +public class ZgysFileServiceImpl implements IZgysFileService +{ + @Autowired + private ZgysFileMapper zgysFileMapper; + + /** + * 查询报价单-文件 + * + * @param fileId 报价单-文件主键 + * @return 报价单-文件 + */ + @Override + public ZgysFile selectZgysFileByFileId(String fileId) + { + return zgysFileMapper.selectZgysFileByFileId(fileId); + } + + + /** + * 查询报价单-文件列表 + * + * @param zgysFile 报价单-文件 + * @return 报价单-文件 + */ + @Override + public List selectZgysFileList(ZgysFile zgysFile) + { + return zgysFileMapper.selectZgysFileList(zgysFile); + } + + /** + * 新增报价单-文件 + * + * @param zgysFile 报价单-文件 + * @return 结果 + */ + @Override + @Transactional + public int insertZgysFile(ZgysFile zgysFile) + { + return zgysFileMapper.insertZgysFile(zgysFile); + } + + /** + * 删除报价单-文件信息 + * + * @param fileId 报价单-文件主键 + * @return 结果 + */ + @Override + @Transactional + public int deleteZgysFileByFileId(String fileId) + { + return zgysFileMapper.deleteZgysFileByFileId(fileId); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/zgys/service/impl/ZgysServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/zgys/service/impl/ZgysServiceImpl.java index 8e476a5..3ece649 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/zgys/service/impl/ZgysServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/zgys/service/impl/ZgysServiceImpl.java @@ -4,6 +4,7 @@ import java.util.List; import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.zgys.domain.ZgysFile; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.zgys.mapper.ZgysMapper; diff --git a/ruoyi-system/src/main/resources/mapper/zgys/ZgysFileMapper.xml b/ruoyi-system/src/main/resources/mapper/zgys/ZgysFileMapper.xml new file mode 100644 index 0000000..b274af1 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/zgys/ZgysFileMapper.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + select file_id, file_name, file_bucket_name, file_url, file_size, file_time, file_type, relation_id from zgys_file + + + + + + + + insert into zgys_file + + file_id, + file_name, + file_bucket_name, + file_url, + file_size, + file_time, + file_type, + relation_id, + + + #{fileId}, + #{fileName}, + #{fileBucketName}, + #{fileUrl}, + #{fileSize}, + #{fileTime}, + #{fileType}, + #{relationId}, + + + + + delete from zgys_file where file_id = #{fileId} + + diff --git a/ruoyi-ui/src/api/quot/quot.js b/ruoyi-ui/src/api/quot/quot.js index e7a4d2b..8eb1a1a 100644 --- a/ruoyi-ui/src/api/quot/quot.js +++ b/ruoyi-ui/src/api/quot/quot.js @@ -154,6 +154,15 @@ export function feedbackQuot(data) { }) } +//保存反馈说明 +export function saveQuotFeedbackExplanation(data) { + return request({ + url: '/quot/quot/saveQuotFeedbackExplanation', + method: 'post', + data: data + }) +} + //生成报价单-PC export function madeQuot(data) { return request({ diff --git a/ruoyi-ui/src/api/zgys/zgys.js b/ruoyi-ui/src/api/zgys/zgys.js index ce3ed35..34a2dfb 100644 --- a/ruoyi-ui/src/api/zgys/zgys.js +++ b/ruoyi-ui/src/api/zgys/zgys.js @@ -42,3 +42,21 @@ export function delZgys(pqId) { method: 'delete' }) } + +// 查询附件列表 +export function zgysFileList(query) { + return request({ + url: '/zgys/zgys/zgysFileList', + method: 'get', + params: query + }) +} + +//删除附件 +export function zgysFileDelete(fileId) { + return request({ + url: '/zgys/zgys/zgysFileDelete', + method: 'post', + params: {fileId:fileId} + }) +} diff --git a/ruoyi-ui/src/views/bid/bid/index.vue b/ruoyi-ui/src/views/bid/bid/index.vue index 04b399d..77b53d5 100644 --- a/ruoyi-ui/src/views/bid/bid/index.vue +++ b/ruoyi-ui/src/views/bid/bid/index.vue @@ -248,7 +248,7 @@ - + @@ -863,7 +863,15 @@ - + + + + - + + @@ -1075,7 +1076,7 @@ import { NumberAdd } from '@/utils/number';// 数值计算 import { toDecimal,versionList } from "@/api/redBook/redBook"; -import { changQuotPrintStatus,listQuot, getQuot, getReturnUpdateQuot,getAllPass,getAllReject, delQuot, addQuot, updateQuot, quotFileList, quotFileDelete, commitQuot, commitJsQuot, commitHjQuot, commitJswQuot, commitOAQuot, feedbackQuot, madeQuot, rejectQuot, setHandle } from "@/api/quot/quot"; +import { changQuotPrintStatus,listQuot, getQuot, getReturnUpdateQuot,getAllPass,getAllReject, delQuot, addQuot, updateQuot, quotFileList, quotFileDelete, commitQuot, commitJsQuot, commitHjQuot, commitJswQuot, commitOAQuot, feedbackQuot, madeQuot, rejectQuot, setHandle,saveQuotFeedbackExplanation } from "@/api/quot/quot"; import { getToken } from "@/utils/auth"; import { checkPermi,checkRole } from '@/utils/permission';// 权限判断函数 import { getDicts } from "@/api/system/dict/data"; @@ -1629,6 +1630,14 @@ export default { }); }, + // 保存反馈说明 + saveQuotFeedbackExplanation(){ + const param = {'quotId':this.form.quotId,'quotFeedbackExplanation':this.form.quotFeedbackExplanation} + saveQuotFeedbackExplanation(param).then(response => { + this.$modal.msgSuccess("保存成功"); + }); + }, + /** 报价组生成报价单按钮 */ madeQuot(){ const roles = this.$store.state.user.roles; diff --git a/ruoyi-ui/src/views/zgys/zgys/index.vue b/ruoyi-ui/src/views/zgys/zgys/index.vue index 3f1691d..3f42229 100644 --- a/ruoyi-ui/src/views/zgys/zgys/index.vue +++ b/ruoyi-ui/src/views/zgys/zgys/index.vue @@ -307,6 +307,43 @@ + + 业务员附件(先保存再上传) +
+ + 上传文件 + +
+ + + + + + + + + +