Explorar o código

cpms优化
附件管理

jiangbiao hai 1 ano
pai
achega
9cf3261a1f
Modificáronse 92 ficheiros con 1524 adicións e 604 borrados
  1. 4 3
      cpms-admin/src/main/java/com/cpms/project/approval/controller/TApprovalController.java
  2. 14 20
      cpms-admin/src/main/java/com/cpms/project/asset/controller/TSpecdevAssetController.java
  3. 5 4
      cpms-admin/src/main/java/com/cpms/project/asset/controller/TSpecdevFixedAssetController.java
  4. 4 3
      cpms-admin/src/main/java/com/cpms/project/asset/controller/TSpecdevMainController.java
  5. 1 1
      cpms-admin/src/main/java/com/cpms/project/asset/controller/TSpecdevTypemgrController.java
  6. 31 2
      cpms-admin/src/main/java/com/cpms/project/file/controller/TFileController.java
  7. 1 1
      cpms-admin/src/main/java/com/cpms/project/plant/controller/TMtAgendaController.java
  8. 11 10
      cpms-admin/src/main/java/com/cpms/project/plant/controller/TMtContentController.java
  9. 17 15
      cpms-admin/src/main/java/com/cpms/project/plant/controller/TMtMeetingController.java
  10. 4 3
      cpms-admin/src/main/java/com/cpms/project/plant/controller/TMtPersonController.java
  11. 4 3
      cpms-admin/src/main/java/com/cpms/project/plant/controller/TStaffmgrController.java
  12. 1 1
      cpms-admin/src/main/java/com/cpms/project/plant/controller/TStaffmgrRecordController.java
  13. 4 3
      cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevAqfController.java
  14. 4 3
      cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevCcController.java
  15. 4 3
      cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevDtController.java
  16. 4 3
      cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevDzsbController.java
  17. 4 3
      cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevGlController.java
  18. 4 3
      cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevYlgdController.java
  19. 4 3
      cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevYlrqController.java
  20. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/common/CaptchaController.java
  21. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/common/CommonController.java
  22. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/monitor/CacheController.java
  23. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/monitor/ServerController.java
  24. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/monitor/SysLogininforController.java
  25. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/monitor/SysOperlogController.java
  26. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/monitor/SysUserOnlineController.java
  27. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysConfigController.java
  28. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysDeptController.java
  29. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysDictDataController.java
  30. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysDictTypeController.java
  31. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysIndexController.java
  32. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysLoginController.java
  33. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysMenuController.java
  34. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysNoticeController.java
  35. 142 0
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysPlantController.java
  36. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysPostController.java
  37. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysProfileController.java
  38. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysRegisterController.java
  39. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysRoleController.java
  40. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysUserController.java
  41. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/controller/tool/TestController.java
  42. 1 1
      cpms-admin/src/main/java/com/cpms/project/web/core/config/SwaggerConfig.java
  43. 1 0
      cpms-admin/src/main/resources/mapper/asset/TAssetBasedocMapper.xml
  44. 11 0
      cpms-common/src/main/java/com/cpms/common/core/domain/entity/SysUser.java
  45. 122 0
      cpms-system/src/main/java/com/cpms/system/domain/SysPlant.java
  46. 72 0
      cpms-system/src/main/java/com/cpms/system/mapper/SysPlantMapper.java
  47. 71 0
      cpms-system/src/main/java/com/cpms/system/service/ISysPlantService.java
  48. 114 0
      cpms-system/src/main/java/com/cpms/system/service/impl/SysPlantServiceImpl.java
  49. 167 0
      cpms-system/src/main/resources/mapper/system/SysPlantMapper.xml
  50. 71 0
      cpms-ui/src/api/system/plant.js
  51. 1 0
      cpms-ui/src/assets/icons/svg/excel_1.svg
  52. 1 0
      cpms-ui/src/assets/icons/svg/folder.svg
  53. 1 0
      cpms-ui/src/assets/icons/svg/pdf_1.svg
  54. 1 0
      cpms-ui/src/assets/icons/svg/ppt.svg
  55. 1 0
      cpms-ui/src/assets/icons/svg/txt.svg
  56. 1 0
      cpms-ui/src/assets/icons/svg/unknown.svg
  57. 1 0
      cpms-ui/src/assets/icons/svg/word.svg
  58. 3 10
      cpms-ui/src/views/asset/asset/index.vue
  59. 20 1
      cpms-ui/src/views/asset/basedoc/index.vue
  60. 3 10
      cpms-ui/src/views/asset/fixedAsset/index.vue
  61. 21 17
      cpms-ui/src/views/asset/specMain/index.vue
  62. 76 42
      cpms-ui/src/views/file/file/uploadFile.vue
  63. 3 2
      cpms-ui/src/views/plant/staffmgr/index.vue
  64. 4 10
      cpms-ui/src/views/sems/specAqf/bf.vue
  65. 4 10
      cpms-ui/src/views/sems/specAqf/fc.vue
  66. 3 10
      cpms-ui/src/views/sems/specAqf/index.vue
  67. 4 10
      cpms-ui/src/views/sems/specAqf/ty.vue
  68. 10 25
      cpms-ui/src/views/sems/specCc/bf.vue
  69. 80 95
      cpms-ui/src/views/sems/specCc/index.vue
  70. 10 25
      cpms-ui/src/views/sems/specCc/ty.vue
  71. 3 10
      cpms-ui/src/views/sems/specCc/zx.vue
  72. 3 10
      cpms-ui/src/views/sems/specDt/bf.vue
  73. 3 10
      cpms-ui/src/views/sems/specDt/index.vue
  74. 3 10
      cpms-ui/src/views/sems/specDt/ty.vue
  75. 3 10
      cpms-ui/src/views/sems/specDt/zx.vue
  76. 3 10
      cpms-ui/src/views/sems/specDzsb/bf.vue
  77. 3 10
      cpms-ui/src/views/sems/specDzsb/index.vue
  78. 3 10
      cpms-ui/src/views/sems/specDzsb/ty.vue
  79. 3 10
      cpms-ui/src/views/sems/specDzsb/zx.vue
  80. 3 10
      cpms-ui/src/views/sems/specGl/bf.vue
  81. 3 10
      cpms-ui/src/views/sems/specGl/index.vue
  82. 3 10
      cpms-ui/src/views/sems/specGl/ty.vue
  83. 3 28
      cpms-ui/src/views/sems/specGl/zx.vue
  84. 3 10
      cpms-ui/src/views/sems/specYlgd/bf.vue
  85. 3 10
      cpms-ui/src/views/sems/specYlgd/index.vue
  86. 3 10
      cpms-ui/src/views/sems/specYlgd/ty.vue
  87. 3 10
      cpms-ui/src/views/sems/specYlgd/zx.vue
  88. 3 10
      cpms-ui/src/views/sems/specYlrq/bf.vue
  89. 3 10
      cpms-ui/src/views/sems/specYlrq/index.vue
  90. 3 10
      cpms-ui/src/views/sems/specYlrq/ty.vue
  91. 3 10
      cpms-ui/src/views/sems/specYlrq/zx.vue
  92. 295 0
      cpms-ui/src/views/system/plant/index.vue

+ 4 - 3
cpms-admin/src/main/java/com/cpms/project/approval/controller/TApprovalController.java

@@ -20,6 +20,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
@@ -52,11 +53,11 @@ public class TApprovalController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('ehs:approval:export')")
     @Log(title = "批文清单", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(TApproval tApproval) {
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TApproval tApproval) {
         List<TApproval> list = tApprovalService.selectTApprovalList(tApproval);
         ExcelUtil<TApproval> util = new ExcelUtil<TApproval>(TApproval.class);
-        return util.exportExcel(list, "批文清单数据");
+        util.exportExcel(response, list, "批文清单数据");
     }
 
     /**

+ 14 - 20
cpms-admin/src/main/java/com/cpms/project/asset/controller/TSpecdevAssetController.java

@@ -10,8 +10,7 @@ package com.cpms.project.asset.controller;
  import com.cpms.common.utils.StringUtils;
 import com.cpms.common.utils.file.ExcelUtils;
 import com.cpms.common.utils.file.FileUploadUtils;
-import com.cpms.common.utils.poi.ExcelUtil;
-import com.cpms.project.asset.domain.TSpecdevAsset;
+ import com.cpms.project.asset.domain.TSpecdevAsset;
 import com.cpms.project.asset.service.ITSpecdevAssetService;
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.ss.util.CellRangeAddress;
@@ -21,10 +20,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+ import javax.servlet.http.HttpServletResponse;
  import java.io.IOException;
-import java.io.OutputStream;
- import java.nio.file.Files;
- import java.nio.file.Paths;
  import java.util.ArrayList;
 import java.util.List;
 
@@ -56,8 +53,8 @@ public class TSpecdevAssetController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('sems:asset:export')")
     @Log(title = "资产与运营", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(TSpecdevAsset tSpecdevAsset) throws IOException {
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TSpecdevAsset tSpecdevAsset) throws IOException {
         List<TSpecdevAsset> list = tSpecdevAssetService.selectTSpecdevAssetList(tSpecdevAsset);
         SXSSFWorkbook wb = new SXSSFWorkbook(1000);
         // 创建标题样式
@@ -126,7 +123,7 @@ public class TSpecdevAssetController extends BaseController {
         row0.createCell(18);
         row0.createCell(19);
         // 设置单元格样式
-        setStyle(row0,20,cellStyle);
+        setStyle(row0, cellStyle);
 
         // 创建第二行标题
         Row row1 = sheet.createRow(1);
@@ -152,7 +149,7 @@ public class TSpecdevAssetController extends BaseController {
         row1.createCell(19).setCellValue("照片");
         row1.createCell(20);
         // 设置单元格样式
-        setStyle(row1,20,cellStyle);
+        setStyle(row1, cellStyle);
         // 合并单元格  参数(1:起始行,2:结束行,3:起始列,4:结束列)
         sheet.addMergedRegion(new CellRangeAddress(0, 1, 0, 0));
         sheet.addMergedRegion(new CellRangeAddress(0, 1, 1, 1));
@@ -195,28 +192,25 @@ public class TSpecdevAssetController extends BaseController {
             row.createCell(18).setCellValue(t.getPipeDiameter());
             row.createCell(19).setCellValue(StringUtils.isNotEmpty(t.getPicUrl())?"Y":"N.A");
             row.createCell(20).setCellValue(t.getRemarks());
-            setStyle(row,20,style2);
+            setStyle(row, style2);
             rowIndex++;
         }
 
         // 生成文件返回下载地址
-        OutputStream out;
-        String filename = ExcelUtil.encodingFilename("资产与运营");
-        out = Files.newOutputStream(Paths.get(ExcelUtil.getAbsoluteFile(filename)));
-        wb.write(out);
+        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
+        response.setCharacterEncoding("utf-8");
+        wb.write(response.getOutputStream());
         wb.close();
-        out.close();
-        return AjaxResult.success(filename);
     }
 
     /**
      * 设置单元格格式
-     * @param row 行
-     * @param colNum 该行列数
+     *
+     * @param row   行
      * @param style 单元格样式
      */
-    private void setStyle(Row row,int colNum,CellStyle style){
-        for (int i = 0; i <= colNum; i++) {
+    private void setStyle(Row row, CellStyle style){
+        for (int i = 0; i <= 20; i++) {
             row.getCell(i).setCellStyle(style);
         }
     }

+ 5 - 4
cpms-admin/src/main/java/com/cpms/project/asset/controller/TSpecdevFixedAssetController.java

@@ -21,7 +21,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.IOException;
+ import javax.servlet.http.HttpServletResponse;
+ import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.List;
@@ -58,12 +59,12 @@ public class TSpecdevFixedAssetController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('sems:fixedAsset:export')")
     @Log(title = "固定资产", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(TSpecdevFixedAsset tSpecdevFixedAsset)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TSpecdevFixedAsset tSpecdevFixedAsset)
     {
         List<TSpecdevFixedAsset> list = tSpecdevFixedAssetService.selectTSpecdevFixedAssetList(tSpecdevFixedAsset);
         ExcelUtil<TSpecdevFixedAsset> util = new ExcelUtil<TSpecdevFixedAsset>(TSpecdevFixedAsset.class);
-        return util.exportExcel(list, "asset");
+        util.exportExcel(response, list, "asset");
     }
 
     /**

+ 4 - 3
cpms-admin/src/main/java/com/cpms/project/asset/controller/TSpecdevMainController.java

@@ -23,6 +23,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -68,8 +69,8 @@ public class TSpecdevMainController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('sems:main:export')")
     @Log(title = "设备总表格", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(TSpecdevMain tSpecdevMain) {
+    @PostMapping("/export")
+    public void export(HttpServletResponse response,TSpecdevMain tSpecdevMain) {
         List<TSpecdevMain> list = tSpecdevMainService.selectTSpecdevMainList(tSpecdevMain);
         List<SysDictData> devType = iSysDictTypeService.selectDictDataByType("dev_type");
         List<SysDictData> assetStatus = iSysDictTypeService.selectDictDataByType("spec_dev_status");
@@ -78,7 +79,7 @@ public class TSpecdevMainController extends BaseController {
             specdevMain.setIndex(index++);
         }
         ExcelUtil<TSpecdevMain> util = new ExcelUtil<TSpecdevMain>(TSpecdevMain.class);
-        return util.exportExcel(list, "main");
+        util.exportExcel(response,list, "main");
     }
 
     /**

+ 1 - 1
cpms-admin/src/main/java/com/cpms/project/asset/controller/TSpecdevTypemgrController.java

@@ -63,7 +63,7 @@ public class TSpecdevTypemgrController extends BaseController
     {
         List<TSpecdevTypemgr> list = tSpecdevTypemgrService.selectTSpecdevTypemgrList(tSpecdevTypemgr);
         ExcelUtil<TSpecdevTypemgr> util = new ExcelUtil<TSpecdevTypemgr>(TSpecdevTypemgr.class);
-        util.exportExcel( list, "设备类型管理数据");
+        util.exportExcel(response, list, "设备类型管理数据");
     }
 
     /**

+ 31 - 2
cpms-admin/src/main/java/com/cpms/project/file/controller/TFileController.java

@@ -20,6 +20,7 @@ import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 附件Controller
@@ -39,7 +40,7 @@ public class TFileController extends BaseController {
     @PreAuthorize("@ss.hasPermi('file:file:list')")
     @GetMapping("/list")
     public AjaxResult list(TFile tFile) {
-        if (tFile.getLinkId() == null || StringUtils.isEmpty(tFile.getLinkName())) {
+        if (StringUtils.isEmpty(tFile.getLinkName())) {
             return AjaxResult.success(new ArrayList<TFile>());
         }
         List<TFile> list = tFileService.selectTFileList(tFile);
@@ -94,7 +95,35 @@ public class TFileController extends BaseController {
             TFile tFile = new TFile();
             tFile.setFileName(file.getOriginalFilename());
             tFile.setFileUrl(avatar);
-            tFile.setType("1");
+            switch (Objects.requireNonNull(file.getOriginalFilename()).substring(file.getOriginalFilename().lastIndexOf(".") + 1)) {
+                case "jpg":
+                case "png":
+                case "gif":
+                case "bmp":
+                case "jpeg":
+                case "jpe":
+                    tFile.setType("6");
+                    break;
+                case "xls":
+                case "xlsx":
+                    tFile.setType("1");
+                    break;
+                case "ppt":
+                case "pptx":
+                    tFile.setType("2");
+                    break;
+                case "doc":
+                case "docx":
+                    tFile.setType("3");
+                    break;
+                case "pdf":
+                    tFile.setType("4");
+                    break;
+                case "txt":
+                    tFile.setType("5");
+                    break;
+
+            }
             tFile.setpId(pId);
             tFile.setFileSize(String.valueOf(new BigDecimal(file.getSize()).divide(BigDecimal.valueOf(1024), 2, RoundingMode.HALF_DOWN)));
             tFile.setUploader(getNickname());

+ 1 - 1
cpms-admin/src/main/java/com/cpms/project/plant/controller/TMtAgendaController.java

@@ -55,7 +55,7 @@ public class TMtAgendaController extends BaseController {
     public void export(HttpServletResponse response, TMtAgenda tMtAgenda) {
         List<TMtAgenda> list = tMtAgendaService.selectTMtAgendaList(tMtAgenda);
         ExcelUtil<TMtAgenda> util = new ExcelUtil<TMtAgenda>(TMtAgenda.class);
-        util.exportExcel( list, "装置会议议程数据");
+        util.exportExcel(response, list, "装置会议议程数据");
     }
 
     /**

+ 11 - 10
cpms-admin/src/main/java/com/cpms/project/plant/controller/TMtContentController.java

@@ -6,6 +6,7 @@ import com.cpms.common.core.domain.AjaxResult;
 import com.cpms.common.core.page.TableDataInfo;
 import com.cpms.common.enums.BusinessType;
 import com.cpms.common.utils.poi.ExcelUtil;
+import com.cpms.project.plant.domain.TMtContent;
 import com.cpms.project.plant.service.ITMtContentService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -32,19 +33,19 @@ public class TMtContentController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('plant:content:list')")
     @GetMapping("/list")
-    public TableDataInfo list(com.cpms.project.plant.domain.TMtContent tMtContent)
+    public TableDataInfo list(TMtContent tMtContent)
     {
         startPage();
-        List<com.cpms.project.plant.domain.TMtContent> list = tMtContentService.selectTMtContentList(tMtContent);
+        List<TMtContent> list = tMtContentService.selectTMtContentList(tMtContent);
         return getDataTable(list);
     }
 
     @PreAuthorize("@ss.hasPermi('plant:content:list')")
     @GetMapping("/list2")
-    public TableDataInfo list2(com.cpms.project.plant.domain.TMtContent tMtContent)
+    public TableDataInfo list2(TMtContent tMtContent)
     {
         startPage();
-        List<com.cpms.project.plant.domain.TMtContent> list = tMtContentService.selectContentList(tMtContent);
+        List<TMtContent> list = tMtContentService.selectContentList(tMtContent);
         return getDataTable(list);
     }
 
@@ -54,11 +55,11 @@ public class TMtContentController extends BaseController
     @PreAuthorize("@ss.hasPermi('plant:content:export')")
     @Log(title = "装置空白会议", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
-    public void export(HttpServletResponse response, com.cpms.project.plant.domain.TMtContent tMtContent)
+    public void export(HttpServletResponse response, TMtContent tMtContent)
     {
-        List<com.cpms.project.plant.domain.TMtContent> list = tMtContentService.selectTMtContentList(tMtContent);
-        ExcelUtil<com.cpms.project.plant.domain.TMtContent> util = new ExcelUtil<com.cpms.project.plant.domain.TMtContent>(com.cpms.project.plant.domain.TMtContent.class);
-        util.exportExcel(list, "装置空白会议数据");
+        List<TMtContent> list = tMtContentService.selectTMtContentList(tMtContent);
+        ExcelUtil<TMtContent> util = new ExcelUtil<TMtContent>(TMtContent.class);
+        util.exportExcel(response,list, "装置空白会议数据");
     }
 
     /**
@@ -77,7 +78,7 @@ public class TMtContentController extends BaseController
     @PreAuthorize("@ss.hasPermi('plant:content:add')")
     @Log(title = "装置空白会议", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody com.cpms.project.plant.domain.TMtContent tMtContent)
+    public AjaxResult add(@RequestBody TMtContent tMtContent)
     {
         return toAjax(tMtContentService.insertTMtContent(tMtContent));
     }
@@ -88,7 +89,7 @@ public class TMtContentController extends BaseController
     @PreAuthorize("@ss.hasPermi('plant:content:edit')")
     @Log(title = "装置空白会议", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody com.cpms.project.plant.domain.TMtContent tMtContent)
+    public AjaxResult edit(@RequestBody TMtContent tMtContent)
     {
         return toAjax(tMtContentService.updateTMtContent(tMtContent));
     }

+ 17 - 15
cpms-admin/src/main/java/com/cpms/project/plant/controller/TMtMeetingController.java

@@ -14,6 +14,7 @@ import com.cpms.project.file.domain.TFile;
 import com.cpms.project.file.service.ITFileService;
 import com.cpms.project.plant.domain.TMtAgenda;
 import com.cpms.project.plant.domain.TMtContent;
+import com.cpms.project.plant.domain.TMtMeeting;
 import com.cpms.project.plant.domain.TMtPerson;
 import com.cpms.project.plant.service.ITMtAgendaService;
 import com.cpms.project.plant.service.ITMtContentService;
@@ -29,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.util.*;
 import java.util.zip.ZipEntry;
@@ -59,9 +61,9 @@ public class TMtMeetingController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('plant:meeting:list')")
     @GetMapping("/list")
-    public TableDataInfo list(com.cpms.project.plant.domain.TMtMeeting tMtMeeting) {
+    public TableDataInfo list(TMtMeeting tMtMeeting) {
         startPage();
-        List<com.cpms.project.plant.domain.TMtMeeting> list = tMtMeetingService.selectTMtMeetingList(tMtMeeting);
+        List<TMtMeeting> list = tMtMeetingService.selectTMtMeetingList(tMtMeeting);
         return getDataTable(list);
     }
 
@@ -70,11 +72,11 @@ public class TMtMeetingController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('plant:meeting:export')")
     @Log(title = "装置会议", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(com.cpms.project.plant.domain.TMtMeeting tMtMeeting) {
-        List<com.cpms.project.plant.domain.TMtMeeting> list = tMtMeetingService.selectTMtMeetingList(tMtMeeting);
-        ExcelUtil<com.cpms.project.plant.domain.TMtMeeting> util = new ExcelUtil<com.cpms.project.plant.domain.TMtMeeting>(com.cpms.project.plant.domain.TMtMeeting.class);
-        return util.exportExcel(list, "meeting");
+    @PostMapping("/export")
+    public void export(HttpServletResponse response,TMtMeeting tMtMeeting) {
+        List<TMtMeeting> list = tMtMeetingService.selectTMtMeetingList(tMtMeeting);
+        ExcelUtil<TMtMeeting> util = new ExcelUtil<TMtMeeting>(TMtMeeting.class);
+        util.exportExcel(response, list, "meeting");
     }
 
     /**
@@ -92,7 +94,7 @@ public class TMtMeetingController extends BaseController {
     @PreAuthorize("@ss.hasPermi('plant:meeting:add')")
     @Log(title = "装置会议", businessType = BusinessType.INSERT)
     @PostMapping
-    public AjaxResult add(@RequestBody com.cpms.project.plant.domain.TMtMeeting tMtMeeting) {
+    public AjaxResult add(@RequestBody TMtMeeting tMtMeeting) {
         return toAjax(tMtMeetingService.insertTMtMeeting(tMtMeeting));
     }
 
@@ -102,7 +104,7 @@ public class TMtMeetingController extends BaseController {
     @PreAuthorize("@ss.hasPermi('plant:meeting:edit')")
     @Log(title = "装置会议", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult edit(@RequestBody com.cpms.project.plant.domain.TMtMeeting tMtMeeting) {
+    public AjaxResult edit(@RequestBody TMtMeeting tMtMeeting) {
         return toAjax(tMtMeetingService.updateTMtMeeting(tMtMeeting));
     }
 
@@ -119,7 +121,7 @@ public class TMtMeetingController extends BaseController {
     @GetMapping("/wordView/{id}")
     public AjaxResult wordView(@PathVariable Long id) throws IOException {
         //根据ID查询并生成
-        com.cpms.project.plant.domain.TMtMeeting tMtMeeting = tMtMeetingService.selectTMtMeetingById(id);
+        TMtMeeting tMtMeeting = tMtMeetingService.selectTMtMeetingById(id);
         //根据ID查询并生成
         String url = PreView(tMtMeeting);
         List<String> list = new ArrayList<>();
@@ -127,9 +129,9 @@ public class TMtMeetingController extends BaseController {
         if (tMtMeeting.getMtType() == 1) {
 
         } else if (tMtMeeting.getMtType() == 2) {
-            com.cpms.project.plant.domain.TMtContent tMtContent = new com.cpms.project.plant.domain.TMtContent();
+            TMtContent tMtContent = new TMtContent();
             tMtContent.setMeetingId(String.valueOf(id));
-            for (com.cpms.project.plant.domain.TMtContent mtContent : itMtContentService.selectTMtContentList(tMtContent)) {
+            for (TMtContent mtContent : itMtContentService.selectTMtContentList(tMtContent)) {
                 TFile tFile = new TFile();
                 tFile.setLinkName("meetContent");
                 tFile.setLinkId(mtContent.getId());
@@ -170,11 +172,11 @@ public class TMtMeetingController extends BaseController {
      * @return
      * @throws IOException
      */
-    public String PreView(com.cpms.project.plant.domain.TMtMeeting tMtMeeting) throws IOException {
+    public String PreView(TMtMeeting tMtMeeting) throws IOException {
         return this.createMeetingWord(tMtMeeting);
     }
 
-    public String createMeetingWord(com.cpms.project.plant.domain.TMtMeeting tMtMeeting) throws IOException {
+    public String createMeetingWord(TMtMeeting tMtMeeting) throws IOException {
         //生成word
         // 模板路径
         String templatePath;
@@ -194,7 +196,7 @@ public class TMtMeetingController extends BaseController {
         return createWord(templatePath, fileDir, fileName, params, String.valueOf(tMtMeeting.getId()));
     }
 
-    public Map<String, Object> getWordData(com.cpms.project.plant.domain.TMtMeeting tMtMeeting) {
+    public Map<String, Object> getWordData(TMtMeeting tMtMeeting) {
         Map<String, Object> params = new HashMap<>();
         params.put("mtDate", Texts.of(DateUtils.parseDateToStr("yyyyMMdd", tMtMeeting.getMeetingDate())).fontSize(10).bold().create());
         params.put("mtVenue", Texts.of(String.valueOf(tMtMeeting.getVenue())).fontSize(10).bold().create());

+ 4 - 3
cpms-admin/src/main/java/com/cpms/project/plant/controller/TMtPersonController.java

@@ -14,6 +14,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
 import java.util.List;
 
 /**
@@ -47,12 +48,12 @@ public class TMtPersonController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('plant:keymaintenance:export')")
     @Log(title = "会议人员", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(TMtPerson tMtPerson)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TMtPerson tMtPerson)
     {
         List<TMtPerson> list = tMtPersonService.selectTMtPersonList(tMtPerson);
         ExcelUtil<TMtPerson> util = new ExcelUtil<TMtPerson>(TMtPerson.class);
-        return util.exportExcel(list, "person");
+        util.exportExcel(response, list, "person");
     }
 
     /**

+ 4 - 3
cpms-admin/src/main/java/com/cpms/project/plant/controller/TStaffmgrController.java

@@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -286,12 +287,12 @@ public class TStaffmgrController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('plant:staffmgr:export')")
     @Log(title = "人员管理", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(TStaffmgr tStaffmgr)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TStaffmgr tStaffmgr)
     {
         List<TStaffmgr> list = tStaffmgrService.selectTStaffmgrList(tStaffmgr);
         ExcelUtil<TStaffmgr> util = new ExcelUtil<TStaffmgr>(TStaffmgr.class);
-        return util.exportExcel(list, "staffmgr");
+        util.exportExcel(response, list, "staffmgr");
     }
 
     /**

+ 1 - 1
cpms-admin/src/main/java/com/cpms/project/plant/controller/TStaffmgrRecordController.java

@@ -50,7 +50,7 @@ public class TStaffmgrRecordController extends BaseController {
     public void export(HttpServletResponse response, TStaffmgrRecord tStaffmgrRecord) {
         List<TStaffmgrRecord> list = tStaffmgrRecordService.selectTStaffmgrRecordList(tStaffmgrRecord);
         ExcelUtil<TStaffmgrRecord> util = new ExcelUtil<TStaffmgrRecord>(TStaffmgrRecord.class);
-        util.exportExcel(list, "人员操作记录数据");
+        util.exportExcel(response, list, "人员操作记录数据");
     }
 
     /**

+ 4 - 3
cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevAqfController.java

@@ -16,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletResponse;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
@@ -70,8 +71,8 @@ public class TSpecdevAqfController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('sems:specAqf:export')")
     @Log(title = "特种设备安全阀台账", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(TSpecdevAqf tSpecdevAqf)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TSpecdevAqf tSpecdevAqf)
     {
         List<TSpecdevAqf> list = tSpecdevAqfService.selectTSpecdevAqfList(tSpecdevAqf);
         for (TSpecdevAqf specdevAqf : list) {
@@ -110,7 +111,7 @@ public class TSpecdevAqfController extends BaseController
             }
         }
         ExcelUtil<TSpecdevAqf> util = new ExcelUtil<TSpecdevAqf>(TSpecdevAqf.class);
-        return util.exportExcel(list, "aqf");
+        util.exportExcel(response, list, "aqf");
     }
 
     /**

+ 4 - 3
cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevCcController.java

@@ -26,6 +26,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -84,8 +85,8 @@ public class TSpecdevCcController extends BaseController
      */
     @PreAuthorize("@ss.hasPermi('sems:specCc:export')")
     @Log(title = "特种设备叉车台账", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(TSpecdevCc tSpecdevCc)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TSpecdevCc tSpecdevCc)
     {
         List<TSpecdevCc> list = tSpecdevCcService.selectTSpecdevCcList(tSpecdevCc);
         for (TSpecdevCc dev : list) {
@@ -108,7 +109,7 @@ public class TSpecdevCcController extends BaseController
             }
         }
         ExcelUtil<TSpecdevCc> util = new ExcelUtil<TSpecdevCc>(TSpecdevCc.class);
-        return util.exportExcel(list, "specCc");
+        util.exportExcel(response, list, "specCc");
     }
 
     /**

+ 4 - 3
cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevDtController.java

@@ -26,6 +26,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -83,8 +84,8 @@ public class TSpecdevDtController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('sems:specDt:export')")
     @Log(title = "特种设备电梯台账", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(TSpecdevDt tSpecdevDt) {
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TSpecdevDt tSpecdevDt) {
         List<TSpecdevDt> list = tSpecdevDtService.selectTSpecdevDtList(tSpecdevDt);
         for (TSpecdevDt dev : list) {
             if (dev.getNextWarnDate() != null) {
@@ -106,7 +107,7 @@ public class TSpecdevDtController extends BaseController {
             }
         }
         ExcelUtil<TSpecdevDt> util = new ExcelUtil<TSpecdevDt>(TSpecdevDt.class);
-        return util.exportExcel(list, "specDt");
+        util.exportExcel(response, list, "specDt");
     }
 
     /**

+ 4 - 3
cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevDzsbController.java

@@ -23,6 +23,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -80,8 +81,8 @@ public class TSpecdevDzsbController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('sems:specDzsb:export')")
     @Log(title = "特种设备吊装设备台账", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(TSpecdevDzsb tSpecdevDzsb) {
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TSpecdevDzsb tSpecdevDzsb) {
         List<TSpecdevDzsb> list = tSpecdevDzsbService.selectTSpecdevDzsbList(tSpecdevDzsb);
         for (TSpecdevDzsb dev : list) {
             if (dev.getNextWarnDate() != null) {
@@ -103,7 +104,7 @@ public class TSpecdevDzsbController extends BaseController {
             }
         }
         ExcelUtil<TSpecdevDzsb> util = new ExcelUtil<TSpecdevDzsb>(TSpecdevDzsb.class);
-        return util.exportExcel(list, "specDzsb");
+        util.exportExcel(response, list, "specDzsb");
     }
 
     /**

+ 4 - 3
cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevGlController.java

@@ -23,6 +23,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -80,8 +81,8 @@ public class TSpecdevGlController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('sems:specGl:export')")
     @Log(title = "特种设备锅炉台账", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(TSpecdevGl tSpecdevGl) {
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TSpecdevGl tSpecdevGl) {
         List<TSpecdevGl> list = tSpecdevGlService.selectTSpecdevGlList(tSpecdevGl);
         for (TSpecdevGl dev : list) {
             if (dev.getExternalInspection() != null) {
@@ -103,7 +104,7 @@ public class TSpecdevGlController extends BaseController {
             }
         }
         ExcelUtil<TSpecdevGl> util = new ExcelUtil<TSpecdevGl>(TSpecdevGl.class);
-        return util.exportExcel(list, "specGl");
+        util.exportExcel(response, list, "specGl");
     }
 
     /**

+ 4 - 3
cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevYlgdController.java

@@ -26,6 +26,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+ import javax.servlet.http.HttpServletResponse;
  import java.io.IOException;
  import java.text.SimpleDateFormat;
 import java.util.ArrayList;
@@ -83,8 +84,8 @@ public class TSpecdevYlgdController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('sems:specYlgd:export')")
     @Log(title = "特种设备压力管道台账", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(TSpecdevYlgd tSpecdevYlgd) {
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TSpecdevYlgd tSpecdevYlgd) {
         List<TSpecdevYlgd> list = tSpecdevYlgdService.selectTSpecdevYlgdList(tSpecdevYlgd);
         for (TSpecdevYlgd dev : list) {
             if(StringUtils.isNotEmpty(dev.getIsoPicUrl())){
@@ -111,7 +112,7 @@ public class TSpecdevYlgdController extends BaseController {
             }
         }
         ExcelUtil<TSpecdevYlgd> util = new ExcelUtil<TSpecdevYlgd>(TSpecdevYlgd.class);
-        return util.exportExcel(list, "specYlgd");
+        util.exportExcel(response, list, "specYlgd");
     }
 
     /**

+ 4 - 3
cpms-admin/src/main/java/com/cpms/project/sems/controller/TSpecdevYlrqController.java

@@ -27,6 +27,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -93,8 +94,8 @@ public class TSpecdevYlrqController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('sems:specYlrq:export')")
     @Log(title = "特种设备压力容器台账", businessType = BusinessType.EXPORT)
-    @GetMapping("/export")
-    public AjaxResult export(TSpecdevYlrq tSpecdevYlrq) {
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TSpecdevYlrq tSpecdevYlrq) {
         List<TSpecdevYlrq> list = tSpecdevYlrqService.selectTSpecdevYlrqList(tSpecdevYlrq);
         for (TSpecdevYlrq dev : list) {
             if (dev.getNextWarnDate() != null) {
@@ -116,7 +117,7 @@ public class TSpecdevYlrqController extends BaseController {
             }
         }
         ExcelUtil<TSpecdevYlrq> util = new ExcelUtil<TSpecdevYlrq>(TSpecdevYlrq.class);
-        return util.exportExcel(list, "specYlrq");
+        util.exportExcel(response, list, "specYlrq");
     }
 
     /**

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/common/CaptchaController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/common/CaptchaController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.common;
+package com.cpms.project.web.controller.common;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/common/CommonController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/common/CommonController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.common;
+package com.cpms.project.web.controller.common;
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/monitor/CacheController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/monitor/CacheController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.monitor;
+package com.cpms.project.web.controller.monitor;
 
 import java.util.ArrayList;
 import java.util.Collection;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/monitor/ServerController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/monitor/ServerController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.monitor;
+package com.cpms.project.web.controller.monitor;
 
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/monitor/SysLogininforController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/monitor/SysLogininforController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.monitor;
+package com.cpms.project.web.controller.monitor;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/monitor/SysOperlogController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/monitor/SysOperlogController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.monitor;
+package com.cpms.project.web.controller.monitor;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/monitor/SysUserOnlineController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/monitor/SysUserOnlineController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.monitor;
+package com.cpms.project.web.controller.monitor;
 
 import java.util.ArrayList;
 import java.util.Collection;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/system/SysConfigController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysConfigController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.system;
+package com.cpms.project.web.controller.system;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/system/SysDeptController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysDeptController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.system;
+package com.cpms.project.web.controller.system;
 
 import java.util.List;
 import org.apache.commons.lang3.ArrayUtils;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/system/SysDictDataController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysDictDataController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.system;
+package com.cpms.project.web.controller.system;
 
 import java.util.ArrayList;
 import java.util.List;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/system/SysDictTypeController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysDictTypeController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.system;
+package com.cpms.project.web.controller.system;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/system/SysIndexController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysIndexController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.system;
+package com.cpms.project.web.controller.system;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/system/SysLoginController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysLoginController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.system;
+package com.cpms.project.web.controller.system;
 
 import java.util.List;
 import java.util.Set;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/system/SysMenuController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysMenuController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.system;
+package com.cpms.project.web.controller.system;
 
 import java.util.List;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/system/SysNoticeController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysNoticeController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.system;
+package com.cpms.project.web.controller.system;
 
 import java.util.List;
 import org.springframework.beans.factory.annotation.Autowired;

+ 142 - 0
cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysPlantController.java

@@ -0,0 +1,142 @@
+package com.cpms.project.web.controller.system;
+
+import com.alibaba.fastjson2.JSON;
+import com.cpms.common.annotation.Log;
+import com.cpms.common.core.controller.BaseController;
+import com.cpms.common.core.domain.AjaxResult;
+import com.cpms.common.core.domain.entity.SysUser;
+import com.cpms.common.core.domain.model.LoginUser;
+import com.cpms.common.enums.BusinessType;
+import com.cpms.common.utils.ServletUtils;
+import com.cpms.common.utils.StringUtils;
+import com.cpms.common.utils.poi.ExcelUtil;
+import com.cpms.common.utils.spring.SpringUtils;
+import com.cpms.framework.web.service.TokenService;
+import com.cpms.system.domain.SysPlant;
+import com.cpms.system.service.ISysPlantService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 装置管理Controller
+ *
+ * @author ruoyi
+ * @date 2021-06-23
+ */
+@RestController
+@RequestMapping("/system/plant")
+public class SysPlantController extends BaseController
+{
+    @Autowired
+    private ISysPlantService sysPlantService;
+
+    /**
+     * 查询装置管理列表
+     */
+    @GetMapping("/list")
+    public AjaxResult list(SysPlant sysPlant)
+    {
+        List<SysPlant> list = sysPlantService.selectSysPlantList(sysPlant);
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * 查询装置管理列表
+     */
+    @GetMapping("/myList")
+    public AjaxResult myList(SysPlant sysPlant)
+    {
+        List<SysPlant> list = new ArrayList<>();
+        // 获取当前的用户
+        LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        if (StringUtils.isNotNull(loginUser))
+        {
+            SysUser currentUser = loginUser.getUser();
+            // 如果是超级管理员,则不过滤数据
+            if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin())
+            {
+                //直全部权限
+                if (currentUser.getDataScope().equals("1")) {
+                    list = sysPlantService.selectSysPlantList(sysPlant);
+                }else if (currentUser.getDataScope().equals("2")){ //直定义权限
+                    sysPlant.setPlantId(currentUser.getUserId());
+                    list = sysPlantService.selectSysMyPlantList(sysPlant);
+                }else if (currentUser.getDataScope().equals("3")){//本部门
+                    sysPlant.setPlantId(currentUser.getUserId());
+                    list = sysPlantService.selectSysMyPlantList3(sysPlant);
+                }
+            }else {
+                list = sysPlantService.selectSysPlantList(sysPlant);
+            }
+        }
+        return AjaxResult.success(list);
+    }
+
+    @RequestMapping(value = "unitList")
+    public List<SysPlant> unitList(@RequestBody Map<String, Object> params) {
+        List plantIds = (List) params.get("plantIds");
+        logger.info(JSON.toJSONString(plantIds));
+        List<SysPlant> list = sysPlantService.selectSysPlantByPlants(plantIds);
+        return list;
+    }
+    /**
+     * 导出装置管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:plant:export')")
+    @Log(title = "装置管理", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(SysPlant sysPlant)
+    {
+        List<SysPlant> list = sysPlantService.selectSysPlantList(sysPlant);
+        ExcelUtil<SysPlant> util = new ExcelUtil<SysPlant>(SysPlant.class);
+        return util.exportExcel(list, "plant");
+    }
+
+    /**
+     * 获取装置管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:plant:query')")
+    @GetMapping(value = "/{plantId}")
+    public AjaxResult getInfo(@PathVariable("plantId") Long plantId)
+    {
+        return AjaxResult.success(sysPlantService.selectSysPlantById(plantId));
+    }
+
+    /**
+     * 新增装置管理
+     */
+    @PreAuthorize("@ss.hasPermi('system:plant:add')")
+    @Log(title = "装置管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SysPlant sysPlant)
+    {
+        return toAjax(sysPlantService.insertSysPlant(sysPlant));
+    }
+
+    /**
+     * 修改装置管理
+     */
+    @PreAuthorize("@ss.hasPermi('system:plant:edit')")
+    @Log(title = "装置管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SysPlant sysPlant)
+    {
+        return toAjax(sysPlantService.updateSysPlant(sysPlant));
+    }
+
+    /**
+     * 删除装置管理
+     */
+    @PreAuthorize("@ss.hasPermi('system:plant:remove')")
+    @Log(title = "装置管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{plantIds}")
+    public AjaxResult remove(@PathVariable Long[] plantIds)
+    {
+        return toAjax(sysPlantService.deleteSysPlantByIds(plantIds));
+    }
+}

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/system/SysPostController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysPostController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.system;
+package com.cpms.project.web.controller.system;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/system/SysProfileController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysProfileController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.system;
+package com.cpms.project.web.controller.system;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/system/SysRegisterController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysRegisterController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.system;
+package com.cpms.project.web.controller.system;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/system/SysRoleController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysRoleController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.system;
+package com.cpms.project.web.controller.system;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/system/SysUserController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/system/SysUserController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.system;
+package com.cpms.project.web.controller.system;
 
 import java.util.List;
 import java.util.stream.Collectors;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/controller/tool/TestController.java → cpms-admin/src/main/java/com/cpms/project/web/controller/tool/TestController.java

@@ -1,4 +1,4 @@
-package com.cpms.web.controller.tool;
+package com.cpms.project.web.controller.tool;
 
 import java.util.ArrayList;
 import java.util.LinkedHashMap;

+ 1 - 1
cpms-admin/src/main/java/com/cpms/web/core/config/SwaggerConfig.java → cpms-admin/src/main/java/com/cpms/project/web/core/config/SwaggerConfig.java

@@ -1,4 +1,4 @@
-package com.cpms.web.core.config;
+package com.cpms.project.web.core.config;
 
 import java.util.ArrayList;
 import java.util.List;

+ 1 - 0
cpms-admin/src/main/resources/mapper/asset/TAssetBasedocMapper.xml

@@ -31,6 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="createrCode != null  and createrCode != ''"> and creater_code = #{createrCode}</if>
             <if test="createdate != null "> and createdate = #{createdate}</if>
             <if test="remarks != null  and remarks != ''"> and remarks = #{remarks}</if>
+            <if test="delFlag != null  and delFlag != ''"> and del_flag = #{delFlag}</if>
             <if test="updaterCode != null  and updaterCode != ''"> and updater_code = #{updaterCode}</if>
             <if test="updatedate != null "> and updatedate = #{updatedate}</if>
             <if test="deptId != null "> and dept_id = #{deptId}</if>

+ 11 - 0
cpms-common/src/main/java/com/cpms/common/core/domain/entity/SysUser.java

@@ -93,6 +93,17 @@ public class SysUser extends BaseEntity
     /** 角色ID */
     private Long roleId;
 
+    /** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限) */
+    private String dataScope;
+
+    public String getDataScope() {
+        return dataScope;
+    }
+
+    public void setDataScope(String dataScope) {
+        this.dataScope = dataScope;
+    }
+
     public SysUser()
     {
 

+ 122 - 0
cpms-system/src/main/java/com/cpms/system/domain/SysPlant.java

@@ -0,0 +1,122 @@
+package com.cpms.system.domain;
+
+import com.cpms.common.annotation.Excel;
+import com.cpms.common.core.domain.TreeEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+/**
+ * 装置管理对象 sys_plant
+ *
+ * @author ruoyi
+ * @date 2021-06-23
+ */
+public class SysPlant extends TreeEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long plantId;
+
+    /** 名称 */
+    @Excel(name = "名称")
+    private String name;
+
+    /** 删除标识 */
+    private Long delFlag;
+
+    /** 中文名称 */
+    @Excel(name = "中文名称")
+    private String cname;
+
+    /** 组织机构代码 */
+    @Excel(name = "组织机构代码")
+    private String deptCode;
+
+    /** 备注 */
+    @Excel(name = "备注")
+    private String remarks;
+
+    /** 类型 */
+    @Excel(name = "类型")
+    private Long pType;
+
+    public void setPlantId(Long plantId)
+    {
+        this.plantId = plantId;
+    }
+
+    public Long getPlantId()
+    {
+        return plantId;
+    }
+    public void setName(String name)
+    {
+        this.name = name;
+    }
+
+    public String getName()
+    {
+        return name;
+    }
+    public void setDelFlag(Long delFlag)
+    {
+        this.delFlag = delFlag;
+    }
+
+    public Long getDelFlag()
+    {
+        return delFlag;
+    }
+    public void setCname(String cname)
+    {
+        this.cname = cname;
+    }
+
+    public String getCname()
+    {
+        return cname;
+    }
+    public void setDeptCode(String deptCode)
+    {
+        this.deptCode = deptCode;
+    }
+
+    public String getDeptCode()
+    {
+        return deptCode;
+    }
+    public void setRemarks(String remarks)
+    {
+        this.remarks = remarks;
+    }
+
+    public String getRemarks()
+    {
+        return remarks;
+    }
+    public void setpType(Long pType)
+    {
+        this.pType = pType;
+    }
+
+    public Long getpType()
+    {
+        return pType;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("plantId", getPlantId())
+            .append("parentId", getParentId())
+            .append("name", getName())
+            .append("orderNum", getOrderNum())
+            .append("delFlag", getDelFlag())
+            .append("cname", getCname())
+            .append("deptCode", getDeptCode())
+            .append("remarks", getRemarks())
+            .append("pType", getpType())
+            .toString();
+    }
+}

+ 72 - 0
cpms-system/src/main/java/com/cpms/system/mapper/SysPlantMapper.java

@@ -0,0 +1,72 @@
+package com.cpms.system.mapper;
+
+
+import com.cpms.common.annotation.DataScope;
+import com.cpms.system.domain.SysPlant;
+
+import java.util.List;
+
+/**
+ * 装置管理Mapper接口
+ *
+ * @author ruoyi
+ * @date 2021-06-23
+ */
+public interface SysPlantMapper
+{
+    /**
+     * 查询装置管理
+     *
+     * @param plantId 装置管理ID
+     * @return 装置管理
+     */
+    public SysPlant selectSysPlantById(Long plantId);
+
+    /**
+     * 查询装置管理列表
+     *
+     * @param sysPlant 装置管理
+     * @return 装置管理集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<SysPlant> selectSysPlantList(SysPlant sysPlant);
+
+    /**
+     * 新增装置管理
+     *
+     * @param sysPlant 装置管理
+     * @return 结果
+     */
+    public int insertSysPlant(SysPlant sysPlant);
+
+    /**
+     * 修改装置管理
+     *
+     * @param sysPlant 装置管理
+     * @return 结果
+     */
+    public int updateSysPlant(SysPlant sysPlant);
+
+    /**
+     * 删除装置管理
+     *
+     * @param plantId 装置管理ID
+     * @return 结果
+     */
+    public int deleteSysPlantById(Long plantId);
+
+    /**
+     * 批量删除装置管理
+     *
+     * @param plantIds 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteSysPlantByIds(Long[] plantIds);
+
+    List<SysPlant> selectSysPlantByPlants(List plantIds);
+
+    List<SysPlant> selectMySysPlantList(SysPlant sysPlant);
+    List<SysPlant> selectMySysPlantList3(SysPlant sysPlant);
+
+    List<SysPlant> selectSysPlantByDeptId(Long deptId);
+}

+ 71 - 0
cpms-system/src/main/java/com/cpms/system/service/ISysPlantService.java

@@ -0,0 +1,71 @@
+package com.cpms.system.service;
+
+
+import com.cpms.system.domain.SysPlant;
+
+import java.util.List;
+
+/**
+ * 装置管理Service接口
+ *
+ * @author ruoyi
+ * @date 2021-06-23
+ */
+public interface ISysPlantService
+{
+    /**
+     * 查询装置管理
+     *
+     * @param plantId 装置管理ID
+     * @return 装置管理
+     */
+    public SysPlant selectSysPlantById(Long plantId);
+
+    /**
+     * 查询装置管理列表
+     *
+     * @param sysPlant 装置管理
+     * @return 装置管理集合
+     */
+    public List<SysPlant> selectSysPlantList(SysPlant sysPlant);
+
+    /**
+     * 新增装置管理
+     *
+     * @param sysPlant 装置管理
+     * @return 结果
+     */
+    public int insertSysPlant(SysPlant sysPlant);
+
+    /**
+     * 修改装置管理
+     *
+     * @param sysPlant 装置管理
+     * @return 结果
+     */
+    public int updateSysPlant(SysPlant sysPlant);
+
+    /**
+     * 批量删除装置管理
+     *
+     * @param plantIds 需要删除的装置管理ID
+     * @return 结果
+     */
+    public int deleteSysPlantByIds(Long[] plantIds);
+
+    /**
+     * 删除装置管理信息
+     *
+     * @param plantId 装置管理ID
+     * @return 结果
+     */
+    public int deleteSysPlantById(Long plantId);
+
+    List<SysPlant> selectSysPlantByPlants(List plantIds);
+
+    List<SysPlant> selectSysMyPlantList(SysPlant sysPlant);
+
+    List<SysPlant> selectSysMyPlantList3(SysPlant sysPlant);
+
+    List<SysPlant> selectSysPlantByDeptId(Long deptId);
+}

+ 114 - 0
cpms-system/src/main/java/com/cpms/system/service/impl/SysPlantServiceImpl.java

@@ -0,0 +1,114 @@
+package com.cpms.system.service.impl;
+
+import com.cpms.system.domain.SysPlant;
+import com.cpms.system.mapper.SysPlantMapper;
+import com.cpms.system.service.ISysPlantService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 装置管理Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2021-06-23
+ */
+@Service
+public class SysPlantServiceImpl implements ISysPlantService
+{
+    @Autowired
+    private SysPlantMapper sysPlantMapper;
+
+    /**
+     * 查询装置管理
+     *
+     * @param plantId 装置管理ID
+     * @return 装置管理
+     */
+    @Override
+    public SysPlant selectSysPlantById(Long plantId)
+    {
+        return sysPlantMapper.selectSysPlantById(plantId);
+    }
+
+    /**
+     * 查询装置管理列表
+     *
+     * @param sysPlant 装置管理
+     * @return 装置管理
+     */
+    @Override
+    public List<SysPlant> selectSysPlantList(SysPlant sysPlant)
+    {
+        return sysPlantMapper.selectSysPlantList(sysPlant);
+    }
+
+    /**
+     * 新增装置管理
+     *
+     * @param sysPlant 装置管理
+     * @return 结果
+     */
+    @Override
+    public int insertSysPlant(SysPlant sysPlant)
+    {
+        return sysPlantMapper.insertSysPlant(sysPlant);
+    }
+
+    /**
+     * 修改装置管理
+     *
+     * @param sysPlant 装置管理
+     * @return 结果
+     */
+    @Override
+    public int updateSysPlant(SysPlant sysPlant)
+    {
+        return sysPlantMapper.updateSysPlant(sysPlant);
+    }
+
+    /**
+     * 批量删除装置管理
+     *
+     * @param plantIds 需要删除的装置管理ID
+     * @return 结果
+     */
+    @Override
+    public int deleteSysPlantByIds(Long[] plantIds)
+    {
+        return sysPlantMapper.deleteSysPlantByIds(plantIds);
+    }
+
+    /**
+     * 删除装置管理信息
+     *
+     * @param plantId 装置管理ID
+     * @return 结果
+     */
+    @Override
+    public int deleteSysPlantById(Long plantId)
+    {
+        return sysPlantMapper.deleteSysPlantById(plantId);
+    }
+
+    @Override
+    public List<SysPlant> selectSysPlantByPlants(List plantIds) {
+        return sysPlantMapper.selectSysPlantByPlants(plantIds);
+    }
+
+    @Override
+    public List<SysPlant> selectSysMyPlantList(SysPlant sysPlant) {
+        return sysPlantMapper.selectMySysPlantList(sysPlant);
+    }
+
+    @Override
+    public List<SysPlant> selectSysMyPlantList3(SysPlant sysPlant) {
+        return sysPlantMapper.selectMySysPlantList3(sysPlant);
+    }
+
+    @Override
+    public List<SysPlant> selectSysPlantByDeptId(Long deptId) {
+        return sysPlantMapper.selectSysPlantByDeptId(deptId);
+    }
+}

+ 167 - 0
cpms-system/src/main/resources/mapper/system/SysPlantMapper.xml

@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.cpms.system.mapper.SysPlantMapper">
+
+    <resultMap type="SysPlant" id="SysPlantResult">
+        <result property="plantId"    column="plant_id"    />
+        <result property="parentId"    column="parent_id"    />
+        <result property="name"    column="name"    />
+        <result property="orderNum"    column="order_num"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="cname"    column="cname"    />
+        <result property="deptCode"    column="dept_code"    />
+        <result property="remarks"    column="remarks"    />
+        <result property="pType"    column="p_type"    />
+        <result property="parentName" column="parent_name" />
+        <result property="deptName" column="dept_name" />
+    </resultMap>
+
+    <sql id="selectSysPlantVo">
+        select d.plant_id, d.parent_id, d.name, d.order_num, d.del_flag, d.cname, d.dept_code, d.remarks, d.p_type from sys_plant d
+    </sql>
+
+    <select id="selectSysPlantList" parameterType="SysPlant" resultMap="SysPlantResult">
+        <include refid="selectSysPlantVo"/>
+        <where>
+            <if test="name != null  and name != ''"> and name like concat(concat('%', #{name}), '%')</if>
+            <if test="cname != null  and cname != ''"> and cname like concat(concat('%', #{cname}), '%')</if>
+            <if test="deptCode != null  and deptCode != ''"> and dept_code = #{deptCode}</if>
+            <if test="pType != null "> and p_type = #{pType}</if>
+            and d.del_flag = 0
+        </where>
+        order by order_num , name
+    </select>
+
+    <select id="selectMySysPlantList" parameterType="SysPlant" resultMap="SysPlantResult">
+        SELECT
+        sp.NAME
+        FROM
+        SYS_PLANT sp
+        WHERE
+        sp.DEPT_CODE IN (
+        SELECT DISTINCT
+        m.DEPT_NAME
+        FROM
+        SYS_DEPT m
+          LEFT JOIN SYS_USER_DEPT ur ON m.DEPT_ID = ur.DEPT_ID
+        WHERE
+        ur.user_id = #{plantId}
+        )
+            and sp.del_flag = 0
+        order by sp.order_num , sp.name
+    </select>
+    <select id="selectMySysPlantList3" parameterType="SysPlant" resultMap="SysPlantResult">
+        SELECT
+            sp.NAME
+        FROM
+            SYS_PLANT sp
+        WHERE
+                sp.DEPT_CODE IN (
+                SELECT DISTINCT
+                    m.DEPT_NAME
+                FROM
+                    SYS_DEPT m
+                        LEFT JOIN SYS_USER ur ON m.DEPT_ID = ur.DEPT_ID
+                WHERE
+                    ur.user_id = #{plantId}
+            )
+          and sp.del_flag = 0
+        order by sp.order_num , sp.name
+    </select>
+
+    <select id="selectSysPlantByDeptId" parameterType="Long" resultMap="SysPlantResult">
+        SELECT
+            sp.NAME
+        FROM
+            SYS_PLANT sp
+                LEFT JOIN SYS_DEPT sd on sp.DEPT_CODE = sd.DEPT_NAME
+        where sd.DEPT_ID = #{deptId} or FIND_IN_SET(#{deptId}, sd.ancestors) > 0
+    </select>
+
+
+    <select id="selectSysPlantById" parameterType="Long" resultMap="SysPlantResult">
+        select t.plant_id, t.parent_id, t.name, t.order_num, t.del_flag, t.cname, t.dept_code, t.remarks, t.p_type, p.name as parent_name
+        from sys_plant t
+        left join sys_plant p on p.plant_id = t.parent_id
+        where t.plant_id = #{plantId}
+    </select>
+
+    <insert id="insertSysPlant" parameterType="SysPlant">
+
+        insert into sys_plant
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="plantId != null">plant_id,</if>
+            <if test="parentId != null">parent_id,</if>
+            <if test="name != null">name,</if>
+            <if test="orderNum != null">order_num,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="cname != null">cname,</if>
+            <if test="deptCode != null">dept_code,</if>
+            <if test="remarks != null">remarks,</if>
+            <if test="pType != null">p_type,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="plantId != null">#{plantId},</if>
+            <if test="parentId != null">#{parentId},</if>
+            <if test="name != null">#{name},</if>
+            <if test="orderNum != null">#{orderNum},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="cname != null">#{cname},</if>
+            <if test="deptCode != null">#{deptCode},</if>
+            <if test="remarks != null">#{remarks},</if>
+            <if test="pType != null">#{pType},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSysPlant" parameterType="SysPlant">
+        update sys_plant
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="parentId != null">parent_id = #{parentId},</if>
+            <if test="name != null">name = #{name},</if>
+            <if test="orderNum != null">order_num = #{orderNum},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="cname != null">cname = #{cname},</if>
+            <if test="deptCode != null">dept_code = #{deptCode},</if>
+            <if test="remarks != null">remarks = #{remarks},</if>
+            <if test="pType != null">p_type = #{pType},</if>
+        </trim>
+        where plant_id = #{plantId}
+    </update>
+
+    <update id="deleteSysPlantById" parameterType="Long">
+        update sys_plant set del_flag = 2 where plant_id = #{plantId}
+    </update>
+
+    <update id="deleteSysPlantByIds" parameterType="String">
+        update sys_plant set del_flag = 2 where plant_id in
+        <foreach item="plantId" collection="array" open="(" separator="," close=")">
+            #{plantId}
+        </foreach>
+    </update>
+
+    <select id="selectSysPlantByPlants" parameterType="List" resultMap="SysPlantResult">
+        <include refid="selectSysPlantVo"/>
+        <where>
+            parent_id in
+            (SELECT PLANT_ID from SYS_PLANT where
+                name in
+            <choose>
+                <when test="list != null and list.size > 0">
+                    <foreach collection="list" item="id" index="index" open="(" close=")" separator="," >
+                        #{id}
+                    </foreach>
+                </when>
+                <otherwise>
+                    null
+                </otherwise>
+            </choose>
+            )
+            and d.del_flag = 0
+            and p_type = 2
+        </where>
+        order by order_num , name
+        <!-- 数据范围过滤 -->
+    </select>
+</mapper>

+ 71 - 0
cpms-ui/src/api/system/plant.js

@@ -0,0 +1,71 @@
+import request from '@/utils/request'
+
+// 查询装置管理列表
+export function listPlant(query) {
+  return request({
+    url: '/system/plant/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询装置管理列表
+export function mylistPlant(query) {
+  return request({
+    url: '/system/plant/myList',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询装置管理列表
+export function listUnit(data) {
+  return request({
+    url: '/system/plant/unitList',
+    method: 'post',
+    data: data
+  })
+}
+
+// 查询装置管理详细
+export function getPlant(plantId) {
+  return request({
+    url: '/system/plant/' + plantId,
+    method: 'get'
+  })
+}
+
+// 新增装置管理
+export function addPlant(data) {
+  return request({
+    url: '/system/plant',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改装置管理
+export function updatePlant(data) {
+  return request({
+    url: '/system/plant',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除装置管理
+export function delPlant(plantId) {
+  return request({
+    url: '/system/plant/' + plantId,
+    method: 'delete'
+  })
+}
+
+// 导出装置管理
+export function exportPlant(query) {
+  return request({
+    url: '/system/plant/export',
+    method: 'get',
+    params: query
+  })
+}

+ 1 - 0
cpms-ui/src/assets/icons/svg/excel_1.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1592733760426" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14956" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M145.6 0C100.8 0 64 36.8 64 81.6v860.8C64 987.2 100.8 1024 145.6 1024h732.8c44.8 0 81.6-36.8 81.6-81.6V324.8L657.6 0h-512z" fill="#45B058" p-id="14957"></path><path d="M374.4 862.4c-3.2 0-6.4-1.6-8-3.2l-59.2-80-60.8 80c-1.6 1.6-4.8 3.2-8 3.2-6.4 0-11.2-4.8-11.2-11.2 0-1.6 0-4.8 1.6-6.4l62.4-81.6-57.6-78.4c-1.6-1.6-3.2-3.2-3.2-6.4 0-4.8 4.8-11.2 11.2-11.2 4.8 0 8 1.6 9.6 4.8l56 73.6 54.4-73.6c1.6-3.2 4.8-4.8 8-4.8 6.4 0 12.8 4.8 12.8 11.2 0 3.2-1.6 4.8-1.6 6.4l-59.2 76.8 62.4 83.2c1.6 1.6 3.2 4.8 3.2 6.4 0 6.4-6.4 11.2-12.8 11.2z m160-1.6H448c-9.6 0-17.6-8-17.6-17.6V678.4c0-6.4 4.8-11.2 12.8-11.2 6.4 0 11.2 4.8 11.2 11.2v161.6h80c6.4 0 11.2 4.8 11.2 9.6 0 6.4-4.8 11.2-11.2 11.2z m112 3.2c-28.8 0-51.2-9.6-67.2-24-3.2-1.6-3.2-4.8-3.2-8 0-6.4 3.2-12.8 11.2-12.8 1.6 0 4.8 1.6 6.4 3.2 12.8 11.2 32 20.8 54.4 20.8 33.6 0 44.8-19.2 44.8-33.6 0-49.6-113.6-22.4-113.6-89.6 0-32 27.2-54.4 65.6-54.4 24 0 46.4 8 60.8 20.8 3.2 1.6 4.8 4.8 4.8 8 0 6.4-4.8 12.8-11.2 12.8-1.6 0-4.8-1.6-6.4-3.2-14.4-11.2-32-16-49.6-16-24 0-40 11.2-40 30.4 0 43.2 113.6 17.6 113.6 89.6 0 27.2-19.2 56-70.4 56z" fill="#FFFFFF" p-id="14958"></path><path d="M960 326.4v16H755.2s-102.4-20.8-99.2-108.8c0 0 3.2 92.8 96 92.8h208z" fill="#349C42" p-id="14959"></path><path d="M656 0v233.6c0 25.6 19.2 92.8 99.2 92.8H960L656 0z" fill="#FFFFFF" p-id="14960"></path></svg>

+ 1 - 0
cpms-ui/src/assets/icons/svg/folder.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1592880861908" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3979" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M918.673 883H104.327C82.578 883 65 867.368 65 848.027V276.973C65 257.632 82.578 242 104.327 242h814.346C940.422 242 958 257.632 958 276.973v571.054C958 867.28 940.323 883 918.673 883z" fill="#FFE9B4" p-id="3980"></path><path d="M512 411H65V210.37C65 188.597 82.598 171 104.371 171h305.92c17.4 0 32.71 11.334 37.681 28.036L512 411z" fill="#FFB02C" p-id="3981"></path><path d="M918.673 883H104.327C82.578 883 65 865.42 65 843.668V335.332C65 313.58 82.578 296 104.327 296h814.346C940.422 296 958 313.58 958 335.332v508.336C958 865.32 940.323 883 918.673 883z" fill="#FFCA28" p-id="3982"></path></svg>

+ 1 - 0
cpms-ui/src/assets/icons/svg/pdf_1.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1592733790272" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16600" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M145.6 0C100.8 0 64 36.8 64 81.6v860.8C64 987.2 100.8 1024 145.6 1024h732.8c44.8 0 81.6-36.8 81.6-81.6V324.8L657.6 0h-512z" fill="#8C181A" p-id="16601"></path><path d="M960 326.4v16H755.2s-100.8-20.8-97.6-107.2c0 0 3.2 91.2 96 91.2H960z" fill="#6B0D12" p-id="16602"></path><path d="M657.6 0v233.6c0 27.2 17.6 92.8 97.6 92.8H960L657.6 0z" fill="#FFFFFF" p-id="16603"></path><path d="M302.4 784h-52.8v65.6c0 6.4-4.8 11.2-12.8 11.2-6.4 0-11.2-4.8-11.2-11.2V686.4c0-9.6 8-17.6 17.6-17.6h59.2c38.4 0 60.8 27.2 60.8 57.6 0 32-22.4 57.6-60.8 57.6z m-1.6-94.4h-51.2v73.6h51.2c22.4 0 38.4-14.4 38.4-36.8s-16-36.8-38.4-36.8z m166.4 171.2h-48c-9.6 0-17.6-8-17.6-17.6v-156.8c0-9.6 8-17.6 17.6-17.6h48c59.2 0 99.2 41.6 99.2 96s-38.4 96-99.2 96z m0-171.2h-41.6v148.8h41.6c46.4 0 73.6-33.6 73.6-75.2 1.6-40-25.6-73.6-73.6-73.6z m260.8 0h-92.8V752h91.2c6.4 0 9.6 4.8 9.6 11.2s-4.8 9.6-9.6 9.6h-91.2v76.8c0 6.4-4.8 11.2-12.8 11.2-6.4 0-11.2-4.8-11.2-11.2V686.4c0-9.6 8-17.6 17.6-17.6h99.2c6.4 0 9.6 4.8 9.6 11.2 1.6 4.8-3.2 9.6-9.6 9.6z" fill="#FFFFFF" p-id="16604"></path></svg>

+ 1 - 0
cpms-ui/src/assets/icons/svg/ppt.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1592733747733" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14112" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M145.6 0C100.8 0 64 36.8 64 81.6v860.8C64 987.2 100.8 1024 145.6 1024h732.8c44.8 0 81.6-36.8 81.6-81.6V324.8L657.6 0h-512z" fill="#E34221" p-id="14113"></path><path d="M960 326.4v16H755.2s-100.8-20.8-99.2-108.8c0 0 4.8 92.8 97.6 92.8H960z" fill="#DC3119" p-id="14114"></path><path d="M657.6 0v233.6c0 25.6 17.6 92.8 97.6 92.8H960L657.6 0z" fill="#FFFFFF" p-id="14115"></path><path d="M304 784h-54.4v67.2c0 6.4-4.8 11.2-11.2 11.2-6.4 0-12.8-4.8-12.8-11.2V686.4c0-9.6 8-17.6 17.6-17.6H304c38.4 0 59.2 25.6 59.2 57.6S340.8 784 304 784z m-3.2-94.4h-51.2v73.6h51.2c22.4 0 38.4-16 38.4-36.8 0-22.4-16-36.8-38.4-36.8zM480 784h-54.4v67.2c0 6.4-4.8 11.2-11.2 11.2-6.4 0-11.2-4.8-11.2-11.2V686.4c0-9.6 6.4-17.6 16-17.6H480c38.4 0 59.2 25.6 59.2 57.6S518.4 784 480 784z m-3.2-94.4h-49.6v73.6h49.6c22.4 0 38.4-16 38.4-36.8 0-22.4-16-36.8-38.4-36.8z m225.6 0h-52.8v161.6c0 6.4-4.8 11.2-11.2 11.2-6.4 0-12.8-4.8-12.8-11.2V689.6h-51.2c-6.4 0-11.2-4.8-11.2-11.2 0-4.8 4.8-9.6 11.2-9.6h128c6.4 0 11.2 4.8 11.2 11.2 0 4.8-4.8 9.6-11.2 9.6z" fill="#FFFFFF" p-id="14116"></path></svg>

+ 1 - 0
cpms-ui/src/assets/icons/svg/txt.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1592733441637" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7847" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M832.2 127.9v766H192.7v-766h639.5m0-64H192.7c-35.3 0-64 28.7-64 64v766c0 35.3 28.7 64 64 64h639.5c35.3 0 64-28.7 64-64v-766c0-35.4-28.7-64-64-64z" fill="#A3BDD3" p-id="7848"></path><path d="M261.437 510.503v-32h503.9v32zM261.44 605.397v-32h503.9v32zM400.527 305.69v-32h364.8v32zM261.391 410.546v-32h503.9v32z" fill="#A3BDD3" p-id="7849"></path><path d="M733.039 824.168v-32h97.9v32z" fill="#8C98A6" p-id="7850"></path><path d="M896.2 958.3H456.7v-176c0-35.3 28.7-64 64-64h375.5c35.3 0 64 28.7 64 64v112c0 35.4-28.7 64-64 64z" fill="#8AA9BF" p-id="7851"></path><path d="M640.6 771v20h-46.8v122.8h-23.4V791h-46.8v-20h117zM676.4 771l33.6 50.4 33.6-50.4h28.6L724 840l51.4 73.8h-28.6L710 858.6l-36.8 55.2h-28.6l51-73.8-47.8-69h28.6zM896.4 771v20h-46.8v122.8h-23.4V791h-46.8v-20h117z" fill="#FFFFFF" p-id="7852"></path></svg>

+ 1 - 0
cpms-ui/src/assets/icons/svg/unknown.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1592959258287" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1681" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M107.1 569.4h82.4v297h-82.4" p-id="1682"></path><path d="M912.1 276.3l-50.2-50c-0.8-0.8-1.5-1.6-2.3-2.4l-167-166.7c-0.8-0.8-1.6-1.4-2.4-2.2l-50-50c-2.8-2.8-8.2-5-12.1-5H212.6c-58.1 0-105.4 47.2-105.4 105.1v465.5h82.5V105.1c0-12.4 10.5-22.9 22.9-22.9H577v152c0 58 47.3 105.1 105.4 105.1h152.4v579.5c0 12.4-10.5 22.9-22.9 22.9H212.5c-12.4 0-22.9-10.5-22.9-22.9v-57.9h-82.5v57.9c0 58 47.3 105.1 105.4 105.1h599.2c58.1 0 105.4-47.2 105.4-105.1V288.4c0-3.9-2.2-9.3-5-12.1z m-124.5-19.2H682.3c-12.4 0-22.9-10.5-22.9-22.9V129.1c0-3.9 2.2-4.8 5-2.1l125.3 125c2.7 2.8 1.8 5.1-2.1 5.1z" p-id="1683"></path><path d="M635.2 434.9c0 23.7-5.5 45.6-16.4 65.6-10.9 20.1-25.5 37.4-43.8 52-18.2 14.6-31 29.2-38.3 43.8-7.3 14.6-10.9 24.6-10.9 30.1v19.1h-49.2v-27.3c0-16.4 4.1-32.3 12.3-47.9 8.2-15.5 22.3-32.3 42.4-50.6 14.6-12.7 24.6-26 30.1-39.6s8.2-26.9 8.2-39.6c0-23.7-5.5-41.4-16.4-53.3-10.9-11.8-26.4-17.8-46.5-17.8s-36.9 7.8-50.6 23.2c-13.7 15.5-20.5 40.6-20.5 75.2h-62.9c1.8-51 15.5-88.9 41-113.5 25.5-24.6 56.5-36.9 93-36.9 40.1 0 71.5 10.9 94.3 32.8 22.8 21.8 34.2 50.1 34.2 84.7zM531.3 790.3h-60.2v-65.6h60.2v65.6z" p-id="1684"></path></svg>

+ 1 - 0
cpms-ui/src/assets/icons/svg/word.svg

@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1592733775231" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="15798" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M145.6 0C100.8 0 64 35.2 64 80v862.4C64 987.2 100.8 1024 145.6 1024h732.8c44.8 0 81.6-36.8 81.6-81.6V324.8L657.6 0h-512z" fill="#14A9DA" p-id="15799"></path><path d="M960 326.4v16H755.2s-100.8-20.8-99.2-108.8c0 0 4.8 92.8 97.6 92.8H960z" fill="#0F93D0" p-id="15800"></path><path d="M657.6 0v233.6c0 25.6 17.6 92.8 97.6 92.8H960L657.6 0z" fill="#FFFFFF" opacity=".5" p-id="15801"></path><path d="M291.2 862.4h-48c-9.6 0-17.6-8-17.6-17.6v-158.4c0-9.6 8-16 17.6-16h48c60.8 0 99.2 41.6 99.2 96s-38.4 96-99.2 96z m0-171.2h-41.6v148.8h41.6c48 0 75.2-33.6 75.2-73.6 0-41.6-27.2-75.2-75.2-75.2z m232 174.4c-57.6 0-96-43.2-96-99.2s38.4-99.2 96-99.2c56 0 94.4 41.6 94.4 99.2 0 56-38.4 99.2-94.4 99.2z m0-177.6c-43.2 0-70.4 33.6-70.4 78.4 0 44.8 27.2 76.8 70.4 76.8 41.6 0 70.4-32 70.4-76.8S564.8 688 523.2 688z m294.4 6.4c1.6 1.6 3.2 4.8 3.2 8 0 6.4-4.8 11.2-11.2 11.2-3.2 0-6.4-1.6-8-3.2-11.2-14.4-30.4-22.4-48-22.4-41.6 0-73.6 32-73.6 78.4 0 44.8 32 76.8 73.6 76.8 17.6 0 35.2-6.4 48-20.8 1.6-3.2 4.8-4.8 8-4.8 6.4 0 11.2 6.4 11.2 12.8 0 3.2-1.6 4.8-3.2 8-14.4 16-35.2 27.2-64 27.2-56 0-99.2-40-99.2-99.2s43.2-99.2 99.2-99.2c28.8 0 49.6 11.2 64 27.2z" fill="#FFFFFF" p-id="15802"></path></svg>

+ 3 - 10
cpms-ui/src/views/asset/asset/index.vue

@@ -709,16 +709,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有资产与运营数据项?', "警告", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(function () {
-        return exportAsset(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/asset/export', {
+        ...this.queryParams
+      }, `devAsset_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 20 - 1
cpms-ui/src/views/asset/basedoc/index.vue

@@ -92,6 +92,14 @@
           v-hasPermi="['asset:basedoc:export']"
         >导出
         </el-button>
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="getDelList"
+        > 已删除
+        </el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -250,6 +258,7 @@ export default {
   components: {UploadFile, File, Treeselect},
   data() {
     return {
+      isDel: false,
       file: {
         open: false,
         linkId: null,
@@ -324,7 +333,17 @@ export default {
   },
   methods: {
     openFileDialog(row) {
-      this.$router.push({ path: '/system/file', query: { linkId: row.id, linkName: this.file.linkName }})
+      this.$router.push({path: '/system/file', query: {linkId: row.id, linkName: this.file.linkName}})
+    },
+    getDelList() {
+      if (this.isDel === true) {
+        this.isDel = false;
+        this.queryParams.delFlag = 0;
+      } else {
+        this.isDel = true;
+        this.queryParams.delFlag = 1;
+      }
+      this.getList();
     },
     /** 查询资产管理基础文档清单列表 */
     getList() {

+ 3 - 10
cpms-ui/src/views/asset/fixedAsset/index.vue

@@ -659,16 +659,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有固定资产数据项?', "警告", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(function () {
-        return exportAsset(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/fixedAsset/export', {
+      ...this.queryParams
+    }, `fixedAsset_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 21 - 17
cpms-ui/src/views/asset/specMain/index.vue

@@ -55,7 +55,7 @@
 
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
-        <el-button
+        <el-button plain
             v-hasPermi="['sems:main:add']"
             icon="el-icon-plus"
             size="mini"
@@ -65,7 +65,7 @@
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
+        <el-button plain
             v-hasPermi="['sems:main:edit']"
             :disabled="single"
             icon="el-icon-edit"
@@ -76,7 +76,7 @@
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
+        <el-button plain
             v-hasPermi="['sems:main:remove']"
             :disabled="multiple"
             icon="el-icon-delete"
@@ -87,7 +87,7 @@
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
+        <el-button plain
             v-hasPermi="['sems:main:edit']"
             icon="el-icon-upload2"
             size="mini"
@@ -97,7 +97,7 @@
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
+        <el-button plain
             v-hasPermi="['sems:main:export']"
             icon="el-icon-download"
             size="mini"
@@ -107,7 +107,7 @@
         </el-button>
       </el-col>
       <el-col :span="1.5">
-        <el-button
+        <el-button plain
             v-hasPermi="['sems:main:add']"
             icon="el-icon-refresh"
             size="mini"
@@ -163,7 +163,7 @@
       <el-table-column :show-overflow-tooltip="true" align="center" label="是否删除" prop="delFlag"
                        width="100" :formatter="yseOrNoFormat"/>
       <el-table-column :show-overflow-tooltip="true" align="center" label="备注" prop="remarks"/>
-      <el-table-column align="center" class-name="small-padding fixed-width" fixed="right" label="操作" width="140">
+      <el-table-column align="center" class-name="small-padding fixed-width" fixed="right" label="操作" width="180">
         <template slot-scope="scope">
           <el-button
               v-hasPermi="['sems:main:edit']"
@@ -181,6 +181,14 @@
               @click="handleDelete(scope.row)"
           >删除
           </el-button>
+          <el-button
+              v-hasPermi="['sems:main:remove']"
+              icon="el-icon-folder"
+              size="mini"
+              type="text"
+              @click="toFile(scope.row)"
+          >附件
+          </el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -565,6 +573,9 @@ export default {
     });
   },
   methods: {
+    toFile(row) {
+      this.$router.push({path: '/system/file', query: {linkId: row.id, linkName: 'specMain'}})
+    },
     getDevType1List() {
       listTypemgrAll({pid: 0}).then(response => {
         this.devTypeOptions = response.data;
@@ -736,16 +747,9 @@ export default {
     ,
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有设备总数据项?', "警告", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(function () {
-        return exportMain(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/main/export', {
+        ...this.queryParams
+      }, `devMain_${new Date().getTime()}.xlsx`)
     }
     ,
     /** 导入按钮操作 */

+ 76 - 42
cpms-ui/src/views/file/file/uploadFile.vue

@@ -22,6 +22,7 @@
           icon="el-icon-folder-add"
           size="mini"
           @click="handleAdd"
+          v-hasPermi="['file:file:add']"
         >新建文件夹
         </el-button>
       </el-col>
@@ -30,6 +31,7 @@
           type="primary"
           icon="el-icon-upload2"
           size="mini"
+          v-hasPermi="['file:file:add']"
           @click="handleAddFile"
         >上传文件
         </el-button>
@@ -38,46 +40,65 @@
     </el-row>
 
     <el-table
+      ref="fileTable"
       v-loading="loading"
       :data="fileList"
       row-key="id"
       default-expand-all
       :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
+      @row-click="rowClick"
     >
       <el-table-column label="文件名" width="500" align="left" prop="fileName" :show-overflow-tooltip="true">
         <template slot-scope="scope">
-          <a v-if="scope.row.type == 1" class="link-type" @click="handleFileView(scope.row)">
+
+          <svg-icon style="font-size: 200%;" v-if="scope.row.type == '1'" iconClass="excel_1"/>
+          <svg-icon style="font-size: 200%;" v-else-if="scope.row.type == '2'" iconClass="ppt"/>
+          <svg-icon style="font-size: 200%;" v-else-if="scope.row.type == '4'" iconClass="pdf_1"/>
+          <svg-icon style="font-size: 200%;" v-else-if="scope.row.type == '3'" iconClass="word"/>
+          <svg-icon style="font-size: 200%;" v-else-if="scope.row.type == '5'" iconClass="txt"/>
+          <svg-icon style="font-size: 200%;" v-else-if="scope.row.type == '0'" iconClass="folder"/>
+          <el-image
+            v-else-if="scope.row.type == '6'"
+            style="border-radius:5px; padding:5px 5px 0 0;width: 30px; height: 30px"
+            :src="getImgUrl(scope.row.fileUrl)"
+            :preview-src-list="[getImgUrl(scope.row.fileUrl)]">
+          </el-image>
+          <svg-icon style="font-size: 200%;" v-else iconClass="unknown"/>
+          <span v-if="scope.row.type == 0">{{ scope.row.fileName }}</span>
+          <a v-else class="link-type" @click="handleFileView(scope.row)">
             <span>{{ scope.row.fileName }}</span>
           </a>
-          <span v-else-if="scope.row.type == 0">{{ scope.row.fileName }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="类型" width="80" align="center" prop="type">
+<!--      <el-table-column label="类型" width="80" align="center" prop="type">
         <template slot-scope="scope">
-          <i v-if="scope.row.type == 1" class="el-icon-document"></i>
-          <i v-else-if="scope.row.type == 0" class="el-icon-folder"></i>
+          <svg-icon style="font-size: 200%;" v-if="scope.row.type == '1'" iconClass="excel_1"/>
+          <svg-icon style="font-size: 200%;" v-else-if="scope.row.type == '2'" iconClass="ppt"/>
+          <svg-icon style="font-size: 200%;" v-else-if="scope.row.type == '4'" iconClass="pdf_1"/>
+          <svg-icon style="font-size: 200%;" v-else-if="scope.row.type == '3'" iconClass="word"/>
+          <svg-icon style="font-size: 200%;" v-else-if="scope.row.type == '5'" iconClass="txt"/>
+          <svg-icon style="font-size: 200%;" v-else-if="scope.row.type == '0'" iconClass="folder"/>
+          <el-image
+            v-else-if="scope.row.type == '6'"
+            style="border-radius:5px; padding:5px 5px 0 0;width: 30px; height: 30px"
+            :src="getImgUrl(scope.row.fileUrl)"
+            :preview-src-list="[getImgUrl(scope.row.fileUrl)]">
+          </el-image>
+          <svg-icon style="font-size: 200%;" v-else iconClass="unknown"/>
         </template>
-      </el-table-column>
+      </el-table-column>-->
 
-      <el-table-column label="创建人" align="center" prop="creator"/>
-      <el-table-column label="创建时间" align="center" prop="createdate" width="180">
+      <el-table-column label="创建人" align="center" prop="uploader"/>
+      <el-table-column label="创建时间" align="center" prop="uploadDate" width="180">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createdate, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.uploadDate, '{y}-{m}-{d}') }}</span>
         </template>
       </el-table-column>
       <el-table-column label="文件大小(Kb)" width="100" align="center" prop="fileSize"/>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
-            v-if="scope.row.fileName.endsWith('pdf') && scope.row.type == 1"
-            size="mini"
-            type="text"
-            icon="el-icon-view"
-            @click="handleSee(scope.row)"
-          >预览
-          </el-button>
-          <el-button
-            v-if="scope.row.type == 1"
+            v-if="scope.row.type != 0"
             size="mini"
             type="text"
             icon="el-icon-download"
@@ -88,6 +109,7 @@
             size="mini"
             type="text"
             icon="el-icon-edit"
+            v-hasPermi="['file:file:edit']"
             @click="handleUpdate(scope.row)"
           >修改
           </el-button>
@@ -95,21 +117,22 @@
             size="mini"
             type="text"
             icon="el-icon-delete"
+            v-hasPermi="['file:file:remove']"
             @click="handleDelete(scope.row)"
           >删除
           </el-button>
         </template>
       </el-table-column>
     </el-table>
-<!--    <el-dialog :close-on-click-modal="false" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1300px"-->
-<!--               append-to-body>-->
-<!--      <div style="margin-top: -60px;float: right;margin-right: 40px;">-->
-<!--        <el-button size="mini" type="text" @click="openPdf">新页面打开PDF</el-button>-->
-<!--      </div>-->
-<!--      <div style="margin-top: -30px">-->
-<!--        <iframe :src="pdf.pdfUrl" frameborder="0" width="100%" height="700px"></iframe>-->
-<!--      </div>-->
-<!--    </el-dialog>-->
+    <!--    <el-dialog :close-on-click-modal="false" v-dialogDrag :title="pdf.title" :visible.sync="pdf.open" width="1300px"-->
+    <!--               append-to-body>-->
+    <!--      <div style="margin-top: -60px;float: right;margin-right: 40px;">-->
+    <!--        <el-button size="mini" type="text" @click="openPdf">新页面打开PDF</el-button>-->
+    <!--      </div>-->
+    <!--      <div style="margin-top: -30px">-->
+    <!--        <iframe :src="pdf.pdfUrl" frameborder="0" width="100%" height="700px"></iframe>-->
+    <!--      </div>-->
+    <!--    </el-dialog>-->
     <!-- 添加或修改附件对话框 -->
     <el-dialog :title="doc.title" :visible.sync="doc.open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
@@ -119,15 +142,16 @@
                       placeholder="请选择文件夹"/>
         </el-form-item>
         <el-upload style="text-align: center;"
-          ref="doc"
-          :limit="50"
-          :headers="doc.headers"
-          :action="doc.url + '?linkId=' + this.$route.query.linkId + '&linkName=' + this.$route.query.linkName + '&pId=' + this.form.pId"
-          :disabled="doc.isUploading"
-          :on-progress="handleFileDocProgress"
-          :on-success="handleFileDocSuccess"
-          :auto-upload="true"
-          drag
+                   ref="doc"
+                   :limit="50"
+                   :headers="doc.headers"
+                   :action="doc.url + '?linkId=' + this.$route.query.linkId + '&linkName=' + this.$route.query.linkName + '&pId=' + this.form.pId"
+                   :disabled="doc.isUploading"
+                   :on-progress="handleFileDocProgress"
+                   :on-success="handleFileDocSuccess"
+                   :auto-upload="true"
+                   multiple
+                   drag
         >
           <i class="el-icon-upload"></i>
           <div class="el-upload__text">
@@ -233,13 +257,19 @@ export default {
   },
   created() {
     console.log(this.$route.query)
-    if(this.$route.query){
-      this.queryParams.linkId=this.$route.query.linkId
-      this.queryParams.linkName=this.$route.query.linkName
+    if (this.$route.query) {
+      this.queryParams.linkId = this.$route.query.linkId
+      this.queryParams.linkName = this.$route.query.linkName
     }
     this.getList();
   },
   methods: {
+    rowClick(row, column, event) {
+      this.$refs.fileTable.toggleRowExpansion(row);
+    },
+      getImgUrl(url) {
+      return process.env.VUE_APP_BASE_API + url;
+    },
     /** 查询附件列表 */
     getList() {
       this.loading = true;
@@ -389,14 +419,18 @@ export default {
     //附件上传成功处理
     handleFileDocSuccess(response, file, fileList) {
       this.doc.isUploading = false;
-      this.$alert(response.msg, '导入结果', {dangerouslyUseHTMLString: true});
+      // this.$alert(response.msg, '导入结果', {dangerouslyUseHTMLString: true});
       this.form.id = this.doc.pId;
       // addFile(this.form)
       this.$refs.upload.clearFiles();
       this.getList()
     },
-    handleFileView(row){
-      this.$router.push({ path: '/office/edit', query: { fileId: row.id, ot: 'detail' }});
+    handleFileView(row) {
+      if (row.type == 1 || row.type == 2 || row.type == 3) {
+        this.$router.push({path: '/office/edit', query: {fileId: row.id, ot: 'detail'}});
+      } else {
+        window.open(process.env.VUE_APP_BASE_API + row.fileUrl);
+      }
     }
   }
 };

+ 3 - 2
cpms-ui/src/views/plant/staffmgr/index.vue

@@ -1304,7 +1304,7 @@ export default {
     },
     /** 报告附件按钮操作 */
     handleDoc(row) {
-      this.doc.id = row.id;
+      /*this.doc.id = row.id;
       this.doc.title = row.name + this.附件;
       this.doc.open = true;
       this.doc.queryParams.pId = row.id
@@ -1312,7 +1312,8 @@ export default {
       this.getFileList()
       this.$nextTick(() => {
         this.$refs.doc.clearFiles()
-      })
+      })*/
+      this.$router.push({path: '/system/file', query: {linkId: row.id, linkName: 'shiftMgr'}})
     },
     getFileList() {
       allFileList(this.doc.queryParams).then(response => {

+ 4 - 10
cpms-ui/src/views/sems/specAqf/bf.vue

@@ -698,16 +698,10 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备安全阀台账数据项?', "警告", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(function () {
-        return exportAqf(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+
+      this.download('sems/aqf/export', {
+        ...this.queryParams
+      }, `devAqf_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 4 - 10
cpms-ui/src/views/sems/specAqf/fc.vue

@@ -706,16 +706,10 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备安全阀台账数据项?', "警告", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(function () {
-        return exportAqf(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+
+      this.download('sems/aqf/export', {
+        ...this.queryParams
+      }, `devAqf_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specAqf/index.vue

@@ -674,16 +674,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备安全阀台账数据项?', "警告", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(function () {
-        return exportAqf(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/aqf/export', {
+        ...this.queryParams
+      }, `devAqf_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 4 - 10
cpms-ui/src/views/sems/specAqf/ty.vue

@@ -698,16 +698,10 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备安全阀台账数据项?', "警告", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(function () {
-        return exportAqf(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+
+      this.download('sems/aqf/export', {
+        ...this.queryParams
+      }, `devAqf_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 10 - 25
cpms-ui/src/views/sems/specCc/bf.vue

@@ -20,8 +20,8 @@
         />
       </el-form-item>
       <el-form-item>
-        <el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery"> 搜索 </el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"> 重置 </el-button>
+        <el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery"> 搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"> 重置</el-button>
       </el-form-item>
     </el-form>
 
@@ -130,7 +130,7 @@
     />
 
     <!-- 添加或修改特种设备叉车台账对话框 -->
-    <el-dialog :close-on-click-modal="false" v-dialogDrag  :title="title" :visible.sync="open" append-to-body
+    <el-dialog :close-on-click-modal="false" v-dialogDrag :title="title" :visible.sync="open" append-to-body
                width="60%">
       <el-form ref="form" :model="form" :rules="rules" label-width="140px">
         <el-row>
@@ -229,7 +229,8 @@
       </div>
     </el-dialog>
     <!-- 用户导入对话框 -->
-    <el-dialog :close-on-click-modal="false" v-dialogDrag :title="upload.title" :visible.sync="upload.open" append-to-body width="400px">
+    <el-dialog :close-on-click-modal="false" v-dialogDrag :title="upload.title" :visible.sync="upload.open"
+               append-to-body width="400px">
       <el-upload
         ref="upload"
         :action="upload.url + '?updateSupport=' + upload.updateSupport"
@@ -273,16 +274,7 @@
 </template>
 
 <script>
-import {
-  addSpecCc,
-  delSpecCc,
-  duplicate,
-  exportSpecCc,
-  exportSpecList,
-  getSpecCc,
-  listSpecCc,
-  updateSpecCc
-} from "@/api/sems/specCc";
+import {addSpecCc, delSpecCc, duplicate, exportSpecList, getSpecCc, listSpecCc, updateSpecCc} from "@/api/sems/specCc";
 import {treeselect} from "@/api/system/dept";
 import {getToken} from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
@@ -561,7 +553,7 @@ export default {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: "warning"
-      }).then(function() {
+      }).then(function () {
         return delSpecCc(ids);
       }).then(() => {
         this.getList();
@@ -583,16 +575,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备场内机动车辆台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecCc(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specCc/export', {
+        ...this.queryParams
+      }, `devCc_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 80 - 95
cpms-ui/src/views/sems/specCc/index.vue

@@ -3,78 +3,78 @@
     <el-form v-show="showSearch" ref="queryForm" :inline="true" :model="queryParams" label-width="68px">
       <el-form-item label="装置" label-width="50" prop="plantCode">
         <el-input
-            v-model="queryParams.plantCode"
-            placeholder="请输入 + 装置"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
+          v-model="queryParams.plantCode"
+          placeholder="请输入 + 装置"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
         />
       </el-form-item>
       <el-form-item label="全局搜索" prop="fuzzy">
         <el-input
-            v-model="queryParams.fuzzy"
-            clearable
-            placeholder="请输入要查询的值"
-            size="small"
-            @keyup.enter.native="handleQuery"
+          v-model="queryParams.fuzzy"
+          clearable
+          placeholder="请输入要查询的值"
+          size="small"
+          @keyup.enter.native="handleQuery"
         />
       </el-form-item>
       <el-form-item>
-        <el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery"> 搜索 </el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"> 重置 </el-button>
+        <el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery"> 搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"> 重置</el-button>
       </el-form-item>
     </el-form>
 
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
-            v-hasPermi="['sems:specCc:add']"
-            icon="el-icon-plus"
-            size="mini"
-            type="primary"
-            @click="handleAdd"
+          v-hasPermi="['sems:specCc:add']"
+          icon="el-icon-plus"
+          size="mini"
+          type="primary"
+          @click="handleAdd"
         > 新增
         </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
-            v-hasPermi="['sems:specCc:edit']"
-            :disabled="single"
-            icon="el-icon-edit"
-            size="mini"
-            type="success"
-            @click="handleUpdate"
+          v-hasPermi="['sems:specCc:edit']"
+          :disabled="single"
+          icon="el-icon-edit"
+          size="mini"
+          type="success"
+          @click="handleUpdate"
         > 修改
         </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
-            v-hasPermi="['sems:specCc:remove']"
-            :disabled="multiple"
-            icon="el-icon-delete"
-            size="mini"
-            type="danger"
-            @click="handleDelete"
+          v-hasPermi="['sems:specCc:remove']"
+          :disabled="multiple"
+          icon="el-icon-delete"
+          size="mini"
+          type="danger"
+          @click="handleDelete"
         > 删除
         </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
-            v-hasPermi="['sems:specCc:edit']"
-            icon="el-icon-upload2"
-            size="mini"
-            type="info"
-            @click="handleImport"
+          v-hasPermi="['sems:specCc:edit']"
+          icon="el-icon-upload2"
+          size="mini"
+          type="info"
+          @click="handleImport"
         > 导入
         </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
-            v-hasPermi="['sems:specCc:export']"
-            icon="el-icon-download"
-            size="mini"
-            type="warning"
-            @click="handleExport"
+          v-hasPermi="['sems:specCc:export']"
+          icon="el-icon-download"
+          size="mini"
+          type="warning"
+          @click="handleExport"
         > 导出
         </el-button>
       </el-col>
@@ -109,11 +109,11 @@
                        width="140">
         <template slot-scope="scope">
           <el-button
-              v-hasPermi="['sems:specCc:edit']"
-              icon="el-icon-edit"
-              size="mini"
-              type="text"
-              @click="handleUpdate(scope.row)"
+            v-hasPermi="['sems:specCc:edit']"
+            icon="el-icon-edit"
+            size="mini"
+            type="text"
+            @click="handleUpdate(scope.row)"
           >修改
           </el-button>
         </template>
@@ -121,24 +121,24 @@
     </el-table>
 
     <pagination
-        v-show="total>0"
-        :limit.sync="queryParams.pageSize"
-        :page-sizes="[20,100,300,500]"
-        :page.sync="queryParams.pageNum"
-        :total="total"
-        @pagination="getList"
+      v-show="total>0"
+      :limit.sync="queryParams.pageSize"
+      :page-sizes="[20,100,300,500]"
+      :page.sync="queryParams.pageNum"
+      :total="total"
+      @pagination="getList"
     />
 
     <!-- 添加或修改特种设备叉车台账对话框 -->
-    <el-dialog :close-on-click-modal="false" v-dialogDrag  :title="title" :visible.sync="open" append-to-body
+    <el-dialog :close-on-click-modal="false" v-dialogDrag :title="title" :visible.sync="open" append-to-body
                width="60%">
       <el-form ref="form" :model="form" :rules="rules" label-width="140px">
         <el-row>
           <el-col :span="12">
-              <el-form-item label="装置" prop="plantCode">
-                <el-input v-model="form.plantCode" placeholder="请输入装置"/>
-              </el-form-item>
-            </el-col>
+            <el-form-item label="装置" prop="plantCode">
+              <el-input v-model="form.plantCode" placeholder="请输入装置"/>
+            </el-form-item>
+          </el-col>
           <el-col :span="12">
             <el-form-item label="设备类别" prop="devType">
               <el-input v-model="form.devType" placeholder="请输入设备类别"/>
@@ -229,18 +229,19 @@
       </div>
     </el-dialog>
     <!-- 用户导入对话框 -->
-    <el-dialog :close-on-click-modal="false" v-dialogDrag :title="upload.title" :visible.sync="upload.open" append-to-body width="400px">
+    <el-dialog :close-on-click-modal="false" v-dialogDrag :title="upload.title" :visible.sync="upload.open"
+               append-to-body width="400px">
       <el-upload
-          ref="upload"
-          :action="upload.url + '?updateSupport=' + upload.updateSupport"
-          :auto-upload="false"
-          :disabled="upload.isUploading"
-          :headers="upload.headers"
-          :limit="1"
-          :on-progress="handleFileUploadProgress"
-          :on-success="handleFileSuccess"
-          accept=".xlsx, .xls"
-          drag
+        ref="upload"
+        :action="upload.url + '?updateSupport=' + upload.updateSupport"
+        :auto-upload="false"
+        :disabled="upload.isUploading"
+        :headers="upload.headers"
+        :limit="1"
+        :on-progress="handleFileUploadProgress"
+        :on-success="handleFileSuccess"
+        accept=".xlsx, .xls"
+        drag
       >
         <i class="el-icon-upload"></i>
         <div class="el-upload__text">
@@ -273,16 +274,7 @@
 </template>
 
 <script>
-import {
-  addSpecCc,
-  delSpecCc,
-  duplicate,
-  exportSpecCc,
-  exportSpecList,
-  getSpecCc,
-  listSpecCc,
-  updateSpecCc
-} from "@/api/sems/specCc";
+import {addSpecCc, delSpecCc, duplicate, exportSpecList, getSpecCc, listSpecCc, updateSpecCc} from "@/api/sems/specCc";
 import {treeselect} from "@/api/system/dept";
 import {getToken} from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
@@ -558,15 +550,15 @@ export default {
     handleDelete(row) {
       const ids = row.id || this.ids;
       this.$confirm('是否确认删除?', '警告', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: "warning"
-        }).then(function() {
-          return delSpecCc(ids);
-        }).then(() => {
-          this.getList();
-          this.$modal.msgSuccess('删除成功');
-        })
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: "warning"
+      }).then(function () {
+        return delSpecCc(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess('删除成功');
+      })
     },
     /** 去重按钮操作 */
     handleDup() {
@@ -583,16 +575,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备场内机动车辆台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecCc(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specCc/export', {
+        ...this.queryParams
+      }, `devCc_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 10 - 25
cpms-ui/src/views/sems/specCc/ty.vue

@@ -20,8 +20,8 @@
         />
       </el-form-item>
       <el-form-item>
-        <el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery"> 搜索 </el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"> 重置 </el-button>
+        <el-button icon="el-icon-search" size="mini" type="primary" @click="handleQuery"> 搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"> 重置</el-button>
       </el-form-item>
     </el-form>
 
@@ -130,7 +130,7 @@
     />
 
     <!-- 添加或修改特种设备叉车台账对话框 -->
-    <el-dialog :close-on-click-modal="false" v-dialogDrag  :title="title" :visible.sync="open" append-to-body
+    <el-dialog :close-on-click-modal="false" v-dialogDrag :title="title" :visible.sync="open" append-to-body
                width="60%">
       <el-form ref="form" :model="form" :rules="rules" label-width="140px">
         <el-row>
@@ -229,7 +229,8 @@
       </div>
     </el-dialog>
     <!-- 用户导入对话框 -->
-    <el-dialog :close-on-click-modal="false" v-dialogDrag :title="upload.title" :visible.sync="upload.open" append-to-body width="400px">
+    <el-dialog :close-on-click-modal="false" v-dialogDrag :title="upload.title" :visible.sync="upload.open"
+               append-to-body width="400px">
       <el-upload
         ref="upload"
         :action="upload.url + '?updateSupport=' + upload.updateSupport"
@@ -273,16 +274,7 @@
 </template>
 
 <script>
-import {
-  addSpecCc,
-  delSpecCc,
-  duplicate,
-  exportSpecCc,
-  exportSpecList,
-  getSpecCc,
-  listSpecCc,
-  updateSpecCc
-} from "@/api/sems/specCc";
+import {addSpecCc, delSpecCc, duplicate, exportSpecList, getSpecCc, listSpecCc, updateSpecCc} from "@/api/sems/specCc";
 import {treeselect} from "@/api/system/dept";
 import {getToken} from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
@@ -561,7 +553,7 @@ export default {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: "warning"
-      }).then(function() {
+      }).then(function () {
         return delSpecCc(ids);
       }).then(() => {
         this.getList();
@@ -583,16 +575,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备场内机动车辆台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecCc(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specCc/export', {
+        ...this.queryParams
+      }, `devCc_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specCc/zx.vue

@@ -584,16 +584,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备场内机动车辆台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecCc(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specCc/export', {
+        ...this.queryParams
+      }, `devCc_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specDt/bf.vue

@@ -565,16 +565,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备电梯台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecDt(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specDt/export', {
+        ...this.queryParams
+      }, `devDt_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specDt/index.vue

@@ -566,16 +566,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备电梯台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecDt(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specDt/export', {
+        ...this.queryParams
+      }, `devDt_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specDt/ty.vue

@@ -566,16 +566,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备电梯台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecDt(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specDt/export', {
+        ...this.queryParams
+      }, `devDt_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specDt/zx.vue

@@ -566,16 +566,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备电梯台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecDt(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specDt/export', {
+        ...this.queryParams
+      }, `devDt_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specDzsb/bf.vue

@@ -595,16 +595,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备起重机械台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecDzsb(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specDzsb/export', {
+        ...this.queryParams
+      }, `devQzjx_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specDzsb/index.vue

@@ -595,16 +595,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备起重机械台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecDzsb(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specDzsb/export', {
+        ...this.queryParams
+      }, `devQzjx_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specDzsb/ty.vue

@@ -595,16 +595,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备起重机械台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecDzsb(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specDzsb/export', {
+        ...this.queryParams
+      }, `devQzjx_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specDzsb/zx.vue

@@ -595,16 +595,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备起重机械台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecDzsb(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specDzsb/export', {
+        ...this.queryParams
+      }, `devQzjx_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specGl/bf.vue

@@ -669,16 +669,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备锅炉台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecGl(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specGl/export', {
+        ...this.queryParams
+      }, `devGl_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specGl/index.vue

@@ -651,16 +651,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备锅炉台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecGl(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specGl/export', {
+        ...this.queryParams
+      }, `devGl_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specGl/ty.vue

@@ -669,16 +669,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备锅炉台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecGl(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specGl/export', {
+        ...this.queryParams
+      }, `devGl_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 28
cpms-ui/src/views/sems/specGl/zx.vue

@@ -137,7 +137,6 @@
       <el-table-column label="制造单位" :show-overflow-tooltip="true" align="center" prop="createUnit"/>
       <el-table-column label="检验状态" align="center" prop="checkStatus"/>
       <el-table-column :formatter="statusFormat" label="状态" align="center" prop="status"/>
-      <!--      <el-table-column label="申请状态" align="center"  prop="approveStatus" :formatter="approveStatusFormat" />-->
       <el-table-column label="备注" :show-overflow-tooltip="true" align="center" prop="remarks"/>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right"
                        width="140">
@@ -407,10 +406,7 @@ export default {
       open: false,
       // 状态字典
       statusOptions: [],
-      // 申请状态字典
-      approveStatusOptions: [],
       plantOptions: [],
-      plantMaintOptions: [],
       wxjlList: [],
       // 用户导入参数
       upload: {
@@ -504,16 +500,6 @@ export default {
         this.filterList.push(items);
       }
     });
-    this.getDicts("spec_approve_status").then(response => {
-      for (let i = 0; i < response.data.length; i++) {
-        if (!["5", "6", "7", "8", "16", "17"].includes(response.data[i].dictValue)) {
-          this.approveStatusOptions.push(response.data[i])
-        }
-      }
-    });
-    this.getDicts("SPEC_PLANT_MAINT").then(response => {
-      this.plantMaintOptions = response.data;
-    });
     let plantParams = {
       pType: 1
     }
@@ -541,10 +527,6 @@ export default {
     statusFormat(row, column) {
       return this.selectDictLabel(this.statusOptions, row.status);
     },
-    // 申请状态字典翻译
-    approveStatusFormat(row, column) {
-      return this.selectDictLabel(this.approveStatusOptions, row.approveStatus);
-    },
     // 取消按钮
     cancel() {
       this.open = false;
@@ -669,16 +651,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备锅炉台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecGl(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specGl/export', {
+        ...this.queryParams
+      }, `devGl_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specYlgd/bf.vue

@@ -887,16 +887,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备压力管道台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecYlgd(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specYlgd/export', {
+        ...this.queryParams
+      }, `devYlgd_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specYlgd/index.vue

@@ -887,16 +887,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备压力管道台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecYlgd(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specYlgd/export', {
+        ...this.queryParams
+      }, `devYlgd_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specYlgd/ty.vue

@@ -887,16 +887,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备压力管道台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecYlgd(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specYlgd/export', {
+        ...this.queryParams
+      }, `devYlgd_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specYlgd/zx.vue

@@ -887,16 +887,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备压力管道台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecYlgd(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specYlgd/export', {
+        ...this.queryParams
+      }, `devYlgd_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specYlrq/bf.vue

@@ -692,16 +692,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备压力容器台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecYlrq(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specYlrq/export', {
+        ...this.queryParams
+      }, `devYlrq_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specYlrq/index.vue

@@ -692,16 +692,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备压力容器台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecYlrq(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specYlrq/export', {
+        ...this.queryParams
+      }, `devYlrq_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specYlrq/ty.vue

@@ -692,16 +692,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备压力容器台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecYlrq(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specYlrq/export', {
+        ...this.queryParams
+      }, `devYlrq_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 3 - 10
cpms-ui/src/views/sems/specYlrq/zx.vue

@@ -692,16 +692,9 @@ export default {
     },
     /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有特种设备压力容器台账数据项?', '警告', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: "warning"
-      }).then(function () {
-        return exportSpecYlrq(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-      })
+      this.download('sems/specYlrq/export', {
+        ...this.queryParams
+      }, `devYlrq_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {

+ 295 - 0
cpms-ui/src/views/system/plant/index.vue

@@ -0,0 +1,295 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="名称" prop="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="中文名称" prop="cname">
+        <el-input
+          v-model="queryParams.cname"
+          placeholder="请输入中文名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="组织机构代码" prop="deptCode">
+        <el-input
+          v-model="queryParams.deptCode"
+          placeholder="请输入组织机构代码"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="类型" prop="pType">
+        <el-select v-model="queryParams.pType" placeholder="请选择 + 类型" clearable size="small">
+          <el-option
+            v-for="dict in dict.type.sys_plant_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:plant:add']"
+        >新增
+        </el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table
+      v-loading="loading"
+      :data="plantList"
+      row-key="plantId"
+      :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
+    >
+      <el-table-column label="名称" align="center" prop="name"/>
+      <el-table-column label="类型" align="center" prop="pType">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.sys_plant_type" :value="scope.row.pType"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="中文名称" align="center" prop="cname"/>
+      <el-table-column label="组织机构代码" align="center" prop="deptCode"/>
+      <el-table-column label="备注" align="center" prop="remarks"/>
+      <el-table-column label="排序" align="center" width="50" prop="orderNum"/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:plant:edit']"
+          >修改
+          </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:plant:remove']"
+          >删除
+          </el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!-- 添加或修改装置管理对话框 -->
+    <el-dialog :close-on-click-modal="false" v-dialogDrag :title="title" :visible.sync="open" width="600px"
+               append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="130px">
+        <el-form-item label="父类" prop="parentId">
+          <treeselect v-model="form.parentId" :options="plantOptions" :normalizer="normalizer"
+                      placeholder="请选择父类"/>
+        </el-form-item>
+        <el-form-item label="名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入名称"/>
+        </el-form-item>
+        <el-form-item label="排序" prop="orderNum">
+          <el-input v-model="form.orderNum" placeholder="请输入排序"/>
+        </el-form-item>
+        <el-form-item label="中文名称" prop="cname">
+          <el-input v-model="form.cname" placeholder="请输入中文名称"/>
+        </el-form-item>
+        <el-form-item label="组织机构代码" prop="deptCode">
+          <el-input v-model="form.deptCode" placeholder="请输入组织机构代码"/>
+        </el-form-item>
+        <el-form-item label="备注" prop="remarks">
+          <el-input v-model="form.remarks" type="textarea" placeholder="请输入内容"/>
+        </el-form-item>
+        <el-form-item label="类型">
+          <el-radio-group v-model="form.pType">
+            <el-radio
+              v-for="dict in dict.type.sys_plant_type"
+              :key="dict.value"
+              :label="parseInt(dict.value)"
+            >{{ dict.label }}
+            </el-radio>
+          </el-radio-group>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {addPlant, delPlant, getPlant, listPlant, updatePlant} from "@/api/system/plant";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
+export default {
+  dicts: ['sys_plant_type'],
+  name: "Plant",
+  components: {
+    Treeselect
+  },
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 显示搜索条件
+      showSearch: false,
+      // 装置管理表格数据
+      plantList: [],
+      // 装置管理树选项
+      plantOptions: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        name: null,
+        cname: null,
+        deptCode: null,
+        pType: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {}
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询装置管理列表 */
+    getList() {
+      this.loading = true;
+      listPlant(this.queryParams).then(response => {
+        this.plantList = this.handleTree(response.data, "plantId", "parentId");
+        this.loading = false;
+      });
+    },
+    /** 转换装置管理数据结构 */
+    normalizer(node) {
+      if (node.children && !node.children.length) {
+        delete node.children;
+      }
+      return {
+        id: node.plantId,
+        label: node.name,
+        children: node.children
+      };
+    },
+    /** 查询部门下拉树结构 */
+    getTreeselect() {
+      listPlant().then(response => {
+        this.plantOptions = [];
+        const data = {plantId: 0, name: '顶级节点', children: []};
+        data.children = this.handleTree(response.data, "plantId", "parentId");
+        this.plantOptions.push(data);
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        plantId: null,
+        parentId: null,
+        name: null,
+        orderNum: null,
+        delFlag: null,
+        cname: null,
+        deptCode: null,
+        remarks: null,
+        pType: 0
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.getTreeselect();
+      this.open = true;
+      this.title = '添加' + '装置管理';
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      this.getTreeselect();
+      if (row != null) {
+        this.form.parentId = row.plantId;
+      }
+      getPlant(row.plantId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = '修改' + '装置管理';
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.plantId != null) {
+            updatePlant(this.form).then(response => {
+              this.$modal.msgSuccess('修改成功');
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPlant(this.form).then(response => {
+              this.$modal.msgSuccess('新增成功');
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      this.$confirm('是否确认删除装置管理编号为"' + ' ' + row.plantId + '"的数据?', '警告', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: "warning"
+      }).then(function () {
+        return delPlant(row.plantId);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess('删除成功');
+      })
+    }
+  }
+};
+</script>