From 24348f47edddf7e8ad09b4b2d7d1985e49e4553f Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Fri, 26 Apr 2024 15:11:16 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=E5=94=AE=E5=90=8E=E7=AE=A1=E7=90=86:=20?= =?UTF-8?q?=E5=94=AE=E5=90=8E=E5=8D=95=20=E6=96=B0=E5=A2=9E=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=8A=A5=E5=91=8A=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AftersalesOrderController.java | 25 ++ .../aftersales/domain/AftersalesOrder.java | 32 ++ .../impl/AftersalesOrderServiceImpl.java | 28 ++ .../aftersalesOrder/aftersalesOrder.html | 22 +- .../aftersalesOrder/sendOrders.html | 7 +- .../aftersalesOrder/uploadReport.html | 413 ++++++++++++++++++ 6 files changed, 515 insertions(+), 12 deletions(-) create mode 100644 ruoyi-admin/src/main/resources/templates/aftersales/aftersalesOrder/uploadReport.html diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesOrderController.java index 6accaaf6..132a13e5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesOrderController.java @@ -150,6 +150,31 @@ public class AftersalesOrderController extends BaseController return toAjax(aftersalesOrderService.updateAftersalesOrder(aftersalesOrder)); } + + /** + * 售后报告 + */ + @GetMapping("/uploadReport/{aftersalesOrderId}") + public String uploadReport(@PathVariable("aftersalesOrderId") Long aftersalesOrderId, ModelMap mmap) + { + AftersalesOrder aftersalesOrder = aftersalesOrderService.selectAftersalesOrderById(aftersalesOrderId); + mmap.put("uploadReport", aftersalesOrder); + return prefix + "/uploadReport"; + } + + /** + * 保存售后报告 + */ + @RequiresPermissions("aftersales:aftersalesOrder:uploadReport") + @Log(title = "售后单", businessType = BusinessType.UPDATE) + @PostMapping("/uploadReport") + @ResponseBody + public AjaxResult uploadReportSave(AftersalesOrder aftersalesOrder) + { + return toAjax(aftersalesOrderService.updateAftersalesOrder(aftersalesOrder)); + } + + /** * 查询选择设备列表 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AftersalesOrder.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AftersalesOrder.java index ad33766e..e525a37c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AftersalesOrder.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AftersalesOrder.java @@ -118,6 +118,14 @@ public class AftersalesOrder extends BaseEntity /** 流程恢复实例ID */ private String restoreInstanceId; + /** 图片地址 */ + private Long photoAttachId; + /** 图片上传id */ + private String fileIdStr; + + private String removeFileIdStr; + + public void setAftersalesOrderId(Long aftersalesOrderId) { this.aftersalesOrderId = aftersalesOrderId; @@ -380,6 +388,30 @@ public class AftersalesOrder extends BaseEntity return restoreInstanceId; } + public Long getPhotoAttachId() { + return photoAttachId; + } + + public void setPhotoAttachId(Long photoAttachId) { + this.photoAttachId = photoAttachId; + } + + public String getFileIdStr() { + return fileIdStr; + } + + public void setFileIdStr(String fileIdStr) { + this.fileIdStr = fileIdStr; + } + + public String getRemoveFileIdStr() { + return removeFileIdStr; + } + + public void setRemoveFileIdStr(String removeFileIdStr) { + this.removeFileIdStr = removeFileIdStr; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesOrderServiceImpl.java index 90ce098d..683e8f66 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesOrderServiceImpl.java @@ -1,8 +1,14 @@ package com.ruoyi.aftersales.service.impl; +import java.util.Arrays; +import java.util.Date; import java.util.List; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.SysAttach; +import com.ruoyi.system.service.ISysAttachFileService; +import com.ruoyi.system.service.ISysAttachService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.aftersales.mapper.AftersalesOrderMapper; @@ -22,6 +28,12 @@ public class AftersalesOrderServiceImpl implements IAftersalesOrderService @Autowired private AftersalesOrderMapper aftersalesOrderMapper; + @Autowired + private ISysAttachService attachService; + + @Autowired + private ISysAttachFileService attachFileService; + /** * 查询售后单 * @@ -73,6 +85,22 @@ public class AftersalesOrderServiceImpl implements IAftersalesOrderService String loginName = ShiroUtils.getLoginName(); aftersalesOrder.setUpdateBy(loginName); aftersalesOrder.setUpdateTime(DateUtils.getNowDate()); + Long aftersalesOrderId = aftersalesOrder.getAftersalesOrderId(); + String fileIdStr = aftersalesOrder.getFileIdStr(); + if (StringUtils.isNotEmpty(fileIdStr)){ + //保存文件附件关联 + SysAttach sysAttach = new SysAttach(); + sysAttach.setCreateBy(ShiroUtils.getLoginName()); + sysAttach.setCreateTime(new Date()); + sysAttach.setSourceType("aftersalesOrder"); + sysAttach.setSourceSubType("photo"); + sysAttach.setRelId(aftersalesOrderId); + attachService.insertSysAttach(sysAttach); + //更新附件与文件关联 + Long attachId = sysAttach.getId(); + List fileIdList = Arrays.asList(fileIdStr.split(",")); + attachFileService.updateAttachIdByIdList(attachId,fileIdList); + } return aftersalesOrderMapper.updateAftersalesOrder(aftersalesOrder); } diff --git a/ruoyi-admin/src/main/resources/templates/aftersales/aftersalesOrder/aftersalesOrder.html b/ruoyi-admin/src/main/resources/templates/aftersales/aftersalesOrder/aftersalesOrder.html index dc99496a..3542041e 100644 --- a/ruoyi-admin/src/main/resources/templates/aftersales/aftersalesOrder/aftersalesOrder.html +++ b/ruoyi-admin/src/main/resources/templates/aftersales/aftersalesOrder/aftersalesOrder.html @@ -74,6 +74,8 @@ var cancelFlag = [[${@permission.hasPermi('aftersales:aftersalesOrder:cancel')}]]; var restoreFlag = [[${@permission.hasPermi('aftersales:aftersalesOrder:restore')}]]; var sendOrdersFlag = [[${@permission.hasPermi('aftersales:aftersalesOrder:sendOrders')}]]; + var uploadReportFlag = [[${@permission.hasPermi('aftersales:aftersalesOrder:uploadReport')}]]; + var aftersalesStatusDatas = [[${@dict.getType('sales_aftersales_status')}]]; var prefix = ctx + "aftersales/aftersalesOrder"; @@ -87,6 +89,7 @@ restoreUrl: prefix + "/restore/{id}", exportUrl: prefix + "/export", sendOrdersUrl: prefix + "/sendOrders/{id}", + uploadReportUrl: prefix + "/uploadReport/{id}", modalName: "售后单", columns: [{ checkbox: true @@ -170,13 +173,8 @@ formatter: function(value, row, index) { var actions = []; actions.push('编辑 '); - actions.push('删除 '); actions.push('派单 '); - if(row.delFlag == '0'){ - actions.push('作废 '); - }else{ - actions.push('恢复 '); - } + actions.push('上传报告 '); return actions.join(''); } }] @@ -197,7 +195,19 @@ $.modal.open("派单",url); } } + /*上传报告*/ + function uploadReport(aftersalesOrderId) { + // 在这里编写派单操作的逻辑,使用传入的aftersalesOrderId参数 + + // 示例逻辑: + // 1. 确认用户操作 + if (confirm('确认要上传报告吗?')) { + var url = ctx + 'aftersales/aftersalesOrder/uploadReport/'+aftersalesOrderId; + console.log(url); + $.modal.open("上传报告",url); + } + } diff --git a/ruoyi-admin/src/main/resources/templates/aftersales/aftersalesOrder/sendOrders.html b/ruoyi-admin/src/main/resources/templates/aftersales/aftersalesOrder/sendOrders.html index 464169c3..4a20160e 100644 --- a/ruoyi-admin/src/main/resources/templates/aftersales/aftersalesOrder/sendOrders.html +++ b/ruoyi-admin/src/main/resources/templates/aftersales/aftersalesOrder/sendOrders.html @@ -1,14 +1,9 @@ - + -
diff --git a/ruoyi-admin/src/main/resources/templates/aftersales/aftersalesOrder/uploadReport.html b/ruoyi-admin/src/main/resources/templates/aftersales/aftersalesOrder/uploadReport.html new file mode 100644 index 00000000..a6dfba35 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/aftersales/aftersalesOrder/uploadReport.html @@ -0,0 +1,413 @@ + + + + + + + + + + +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+ + +
+
+
+
+ +
+ +
+
+ +
+
+

选择设备

+
+
+
+
+

派单

+ +
+ +
+
+
+
+ +
+

售后报告

+ + +
+ +
+ +
+
+ + +
+ +
+ + 点击上传 +
只能上传jpg/png文件,第一张图片为主图
+
+
+ +
+
+
+ +
+ + + + + + + + + \ No newline at end of file