lamphua 1 anno fa
parent
commit
222924d449
96 ha cambiato i file con 4798 aggiunte e 1210 eliminazioni
  1. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcArchiveController.java
  2. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcAssessController.java
  3. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBorrowController.java
  4. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBorrowDetailController.java
  5. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBrandController.java
  6. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBrandPaymentController.java
  7. 3
    3
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBrandProjectController.java
  8. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBrandProjectProgressController.java
  9. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBudgetCarController.java
  10. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBudgetController.java
  11. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBudgetDeviceController.java
  12. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBudgetSettleController.java
  13. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBudgetStaffController.java
  14. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcCarApprovalController.java
  15. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcCarController.java
  16. 0
    100
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcCarExpenseController.java
  17. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractCommentController.java
  18. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractController.java
  19. 1
    2
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractMeetingController.java
  20. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractPaymentController.java
  21. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractWorkController.java
  22. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDepositController.java
  23. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDeviceApprovalController.java
  24. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDeviceController.java
  25. 13
    4
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDeviceExpenseController.java
  26. 3
    4
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDeviceHandoverController.java
  27. 7
    6
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDeviceScrapController.java
  28. 2
    2
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcPartnerController.java
  29. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcPartyAController.java
  30. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcPostSalaryController.java
  31. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcPriceController.java
  32. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectChangeController.java
  33. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectCommentController.java
  34. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectContractController.java
  35. 2
    2
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectController.java
  36. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectProgressController.java
  37. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectWorkController.java
  38. 0
    97
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectWorkerController.java
  39. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSafeController.java
  40. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSettleController.java
  41. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSettleSummaryController.java
  42. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSettleWorkController.java
  43. 2
    2
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSubContractController.java
  44. 1
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcTechnicalController.java
  45. 2
    2
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcTenderController.java
  46. 12
    0
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java
  47. 3
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcCarExpense.java
  48. 3
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcContractMeeting.java
  49. 33
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcDeviceExpense.java
  50. 3
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcDeviceHandover.java
  51. 3
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcDeviceScrap.java
  52. 0
    61
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcCarExpenseMapper.java
  53. 3
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcDeviceExpenseMapper.java
  54. 3
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcDeviceHandoverMapper.java
  55. 3
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcDeviceScrapMapper.java
  56. 0
    63
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcProjectWorkerMapper.java
  57. 0
    61
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcCarExpenseService.java
  58. 3
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcDeviceExpenseService.java
  59. 3
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcDeviceHandoverService.java
  60. 3
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcDeviceScrapService.java
  61. 0
    63
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcProjectWorkerService.java
  62. 0
    93
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcCarExpenseServiceImpl.java
  63. 3
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcDeviceExpenseServiceImpl.java
  64. 3
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcDeviceHandoverServiceImpl.java
  65. 3
    3
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcDeviceScrapServiceImpl.java
  66. 0
    95
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcProjectWorkerServiceImpl.java
  67. 48
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java
  68. 48
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
  69. 66
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
  70. 15
    4
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcDeviceExpenseMapper.xml
  71. 2
    3
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcDeviceHandoverMapper.xml
  72. 2
    3
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcDeviceScrapMapper.xml
  73. 0
    76
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectWorkerMapper.xml
  74. 54
    0
      oa-back/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml
  75. 475
    242
      oa-back/sql/sql.sql
  76. 0
    50
      oa-ui/src/api/oa/car/carExpense.js
  77. 1
    0
      oa-ui/src/assets/icons/svg/delete.svg
  78. 1
    0
      oa-ui/src/assets/icons/svg/pass.svg
  79. 7
    7
      oa-ui/src/views/file/filesProject/achievement.vue
  80. 1
    1
      oa-ui/src/views/flowable/form/archiveForm.vue
  81. 3
    3
      oa-ui/src/views/index.vue
  82. 463
    0
      oa-ui/src/views/oa/assess/index.vue
  83. 512
    0
      oa-ui/src/views/oa/budget/index.vue
  84. 645
    0
      oa-ui/src/views/oa/car/approval.vue
  85. 50
    28
      oa-ui/src/views/oa/car/detail.vue
  86. 318
    0
      oa-ui/src/views/oa/car/expense.vue
  87. 329
    0
      oa-ui/src/views/oa/car/scrap.vue
  88. 6
    6
      oa-ui/src/views/oa/contract/index.vue
  89. 8
    48
      oa-ui/src/views/oa/contract/subContract.vue
  90. 30
    2
      oa-ui/src/views/oa/deposit/index.vue
  91. 552
    0
      oa-ui/src/views/oa/device/approval.vue
  92. 1
    1
      oa-ui/src/views/oa/device/detail.vue
  93. 318
    0
      oa-ui/src/views/oa/device/expense.vue
  94. 329
    0
      oa-ui/src/views/oa/device/scrap.vue
  95. 357
    0
      oa-ui/src/views/oa/supply/handover.vue
  96. 4
    0
      oa-ui/src/views/oa/tender/index.vue

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcArchiveController.java Vedi File

@@ -109,6 +109,6 @@ public class CmcArchiveController extends BaseController
109 109
 	@DeleteMapping("/{archiveIds}")
110 110
     public AjaxResult remove(@PathVariable String[] archiveIds)
111 111
     {
112
-        return toAjax(cmcArchiveService.deleteCmcArchiveByArchiveIds(archiveIds));
112
+        return success(cmcArchiveService.deleteCmcArchiveByArchiveIds(archiveIds));
113 113
     }
114 114
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcAssessController.java Vedi File

@@ -346,6 +346,6 @@ public class CmcAssessController extends BaseController
346 346
 	@DeleteMapping("/{assessIds}")
347 347
     public AjaxResult remove(@PathVariable String[] assessIds)
348 348
     {
349
-        return toAjax(cmcAssessService.deleteCmcAssessByAssessIds(assessIds));
349
+        return success(cmcAssessService.deleteCmcAssessByAssessIds(assessIds));
350 350
     }
351 351
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBorrowController.java Vedi File

@@ -117,6 +117,6 @@ public class CmcBorrowController extends BaseController
117 117
 	@DeleteMapping("/{borrowIds}")
118 118
     public AjaxResult remove(@PathVariable String[] borrowIds)
119 119
     {
120
-        return toAjax(cmcBorrowService.deleteCmcBorrowByBorrowIds(borrowIds));
120
+        return success(cmcBorrowService.deleteCmcBorrowByBorrowIds(borrowIds));
121 121
     }
122 122
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBorrowDetailController.java Vedi File

@@ -94,6 +94,6 @@ public class CmcBorrowDetailController extends BaseController
94 94
 	@DeleteMapping("/{borrowIds}")
95 95
     public AjaxResult remove(@PathVariable String[] borrowIds)
96 96
     {
97
-        return toAjax(cmcBorrowDetailService.deleteCmcBorrowDetailByBorrowIds(borrowIds));
97
+        return success(cmcBorrowDetailService.deleteCmcBorrowDetailByBorrowIds(borrowIds));
98 98
     }
99 99
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBrandController.java Vedi File

@@ -95,6 +95,6 @@ public class CmcBrandController extends BaseController
95 95
 	@DeleteMapping("/{brandIds}")
96 96
     public AjaxResult remove(@PathVariable String[] brandIds)
97 97
     {
98
-        return toAjax(cmcBrandService.deleteCmcBrandByBrandIds(brandIds));
98
+        return success(cmcBrandService.deleteCmcBrandByBrandIds(brandIds));
99 99
     }
100 100
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBrandPaymentController.java Vedi File

@@ -94,6 +94,6 @@ public class CmcBrandPaymentController extends BaseController
94 94
 	@DeleteMapping("/{brandIds}")
95 95
     public AjaxResult remove(@PathVariable String[] brandIds)
96 96
     {
97
-        return toAjax(cmcBrandPaymentService.deleteCmcBrandPaymentByBrandIds(brandIds));
97
+        return success(cmcBrandPaymentService.deleteCmcBrandPaymentByBrandIds(brandIds));
98 98
     }
99 99
 }

+ 3
- 3
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBrandProjectController.java Vedi File

@@ -86,7 +86,7 @@ public class CmcBrandProjectController extends BaseController
86 86
     {
87 87
         if (!cmcBrandProject.getPartnerId().matches("-?\\d+(\\.\\d+)?")) {
88 88
             CmcPartner cmcPartner = new CmcPartner();
89
-            cmcPartner.setPartnerId(new SnowFlake().generateId());
89
+            cmcPartner.setPartnerId(String.valueOf(cmcPartnerService.selectCmcPartnerList(new CmcPartner()).size() + 1));
90 90
             cmcPartner.setPartnerName(cmcBrandProject.getPartnerId());
91 91
             cmcPartner.setTelephone(cmcBrandProject.getTelephone());
92 92
             cmcPartner.setContactPerson(cmcBrandProject.getContactPerson());
@@ -95,7 +95,7 @@ public class CmcBrandProjectController extends BaseController
95 95
         }
96 96
         if (!cmcBrandProject.getPartyAId().matches("-?\\d+(\\.\\d+)?")) {
97 97
             CmcPartyA cmcPartyA = new CmcPartyA();
98
-            cmcPartyA.setPartyAId(new SnowFlake().generateId());
98
+            cmcPartyA.setPartyAId(String.valueOf(cmcPartyAService.selectCmcPartyAList(new CmcPartyA()).size() + 1));
99 99
             cmcPartyA.setPartyAName(cmcBrandProject.getPartnerId());
100 100
             cmcPartyAService.insertCmcPartyA(cmcPartyA);
101 101
             cmcBrandProject.setPartyAId(cmcPartyA.getPartyAId());
@@ -121,6 +121,6 @@ public class CmcBrandProjectController extends BaseController
121 121
 	@DeleteMapping("/{projectIds}")
122 122
     public AjaxResult remove(@PathVariable String[] projectIds)
123 123
     {
124
-        return toAjax(cmcBrandProjectService.deleteCmcBrandProjectByProjectIds(projectIds));
124
+        return success(cmcBrandProjectService.deleteCmcBrandProjectByProjectIds(projectIds));
125 125
     }
126 126
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBrandProjectProgressController.java Vedi File

@@ -92,6 +92,6 @@ public class CmcBrandProjectProgressController extends BaseController
92 92
 	@DeleteMapping("/{progressIds}")
93 93
     public AjaxResult remove(@PathVariable Long[] progressIds)
94 94
     {
95
-        return toAjax(cmcBrandProjectProgressService.deleteCmcBrandProjectProgressByProgressIds(progressIds));
95
+        return success(cmcBrandProjectProgressService.deleteCmcBrandProjectProgressByProgressIds(progressIds));
96 96
     }
97 97
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBudgetCarController.java Vedi File

@@ -95,6 +95,6 @@ public class CmcBudgetCarController extends BaseController
95 95
 	@DeleteMapping("/{budgetCarIds}")
96 96
     public AjaxResult remove(@PathVariable String[] budgetCarIds)
97 97
     {
98
-        return toAjax(cmcBudgetCarService.deleteCmcBudgetCarByBudgetIds(budgetCarIds));
98
+        return success(cmcBudgetCarService.deleteCmcBudgetCarByBudgetIds(budgetCarIds));
99 99
     }
100 100
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBudgetController.java Vedi File

@@ -89,6 +89,6 @@ public class CmcBudgetController extends BaseController
89 89
 	@DeleteMapping("/{budgetIds}")
90 90
     public AjaxResult remove(@PathVariable String[] budgetIds)
91 91
     {
92
-        return toAjax(cmcBudgetService.deleteCmcBudgetByBudgetIds(budgetIds));
92
+        return success(cmcBudgetService.deleteCmcBudgetByBudgetIds(budgetIds));
93 93
     }
94 94
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBudgetDeviceController.java Vedi File

@@ -95,6 +95,6 @@ public class CmcBudgetDeviceController extends BaseController
95 95
 	@DeleteMapping("/{budgetIds}")
96 96
     public AjaxResult remove(@PathVariable String[] budgetIds)
97 97
     {
98
-        return toAjax(cmcBudgetDeviceService.deleteCmcBudgetDeviceByBudgetIds(budgetIds));
98
+        return success(cmcBudgetDeviceService.deleteCmcBudgetDeviceByBudgetIds(budgetIds));
99 99
     }
100 100
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBudgetSettleController.java Vedi File

@@ -95,6 +95,6 @@ public class CmcBudgetSettleController extends BaseController
95 95
 	@DeleteMapping("/{budgetIds}")
96 96
     public AjaxResult remove(@PathVariable String[] budgetIds)
97 97
     {
98
-        return toAjax(cmcBudgetSettleService.deleteCmcBudgetSettleByBudgetIds(budgetIds));
98
+        return success(cmcBudgetSettleService.deleteCmcBudgetSettleByBudgetIds(budgetIds));
99 99
     }
100 100
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBudgetStaffController.java Vedi File

@@ -95,6 +95,6 @@ public class CmcBudgetStaffController extends BaseController
95 95
 	@DeleteMapping("/{budgetIds}")
96 96
     public AjaxResult remove(@PathVariable String[] budgetIds)
97 97
     {
98
-        return toAjax(cmcBudgetStaffService.deleteCmcBudgetStaffByBudgetIds(budgetIds));
98
+        return success(cmcBudgetStaffService.deleteCmcBudgetStaffByBudgetIds(budgetIds));
99 99
     }
100 100
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcCarApprovalController.java Vedi File

@@ -149,6 +149,6 @@ public class CmcCarApprovalController extends BaseController
149 149
 	@DeleteMapping("/{carApplyIds}")
150 150
     public AjaxResult remove(@PathVariable String[] carApplyIds)
151 151
     {
152
-        return toAjax(cmcCarApprovalService.deleteCmcCarApprovalByCarApplyIds(carApplyIds));
152
+        return success(cmcCarApprovalService.deleteCmcCarApprovalByCarApplyIds(carApplyIds));
153 153
     }
154 154
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcCarController.java Vedi File

@@ -114,6 +114,6 @@ public class CmcCarController extends BaseController
114 114
 	@DeleteMapping("/{carIds}")
115 115
     public AjaxResult remove(@PathVariable Long[] carIds)
116 116
     {
117
-        return toAjax(cmcCarService.deleteCmcCarByCarIds(carIds));
117
+        return success(cmcCarService.deleteCmcCarByCarIds(carIds));
118 118
     }
119 119
 }

+ 0
- 100
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcCarExpenseController.java Vedi File

@@ -1,100 +0,0 @@
1
-package com.ruoyi.web.controller.oa;
2
-
3
-import java.util.List;
4
-import javax.servlet.http.HttpServletResponse;
5
-
6
-import com.ruoyi.common.utils.SnowFlake;
7
-import org.springframework.beans.factory.annotation.Autowired;
8
-import org.springframework.web.bind.annotation.GetMapping;
9
-import org.springframework.web.bind.annotation.PostMapping;
10
-import org.springframework.web.bind.annotation.PutMapping;
11
-import org.springframework.web.bind.annotation.DeleteMapping;
12
-import org.springframework.web.bind.annotation.PathVariable;
13
-import org.springframework.web.bind.annotation.RequestBody;
14
-import org.springframework.web.bind.annotation.RequestMapping;
15
-import org.springframework.web.bind.annotation.RestController;
16
-import com.ruoyi.common.annotation.Log;
17
-import com.ruoyi.common.core.controller.BaseController;
18
-import com.ruoyi.common.core.domain.AjaxResult;
19
-import com.ruoyi.common.enums.BusinessType;
20
-import com.ruoyi.oa.domain.CmcCarExpense;
21
-import com.ruoyi.oa.service.ICmcCarExpenseService;
22
-import com.ruoyi.common.utils.poi.ExcelUtil;
23
-import com.ruoyi.common.core.page.TableDataInfo;
24
-
25
-/**
26
- * cmc车辆费用Controller
27
- * 
28
- * @author cmc
29
- * @date 2024-03-12
30
- */
31
-@RestController
32
-@RequestMapping("/oa/carExpense")
33
-public class CmcCarExpenseController extends BaseController
34
-{
35
-    @Autowired
36
-    private ICmcCarExpenseService cmcCarExpenseService;
37
-
38
-    /**
39
-     * 查询cmc车辆费用列表
40
-     */
41
-    @GetMapping("/list")
42
-    public TableDataInfo list(CmcCarExpense cmcCarExpense)
43
-    {
44
-        startPage();
45
-        List<CmcCarExpense> list = cmcCarExpenseService.selectCmcCarExpenseList(cmcCarExpense);
46
-        return getDataTable(list);
47
-    }
48
-
49
-    /**
50
-     * 导出cmc车辆费用列表
51
-     */
52
-    @Log(title = "cmc车辆费用", businessType = BusinessType.EXPORT)
53
-    @PostMapping("/export")
54
-    public void export(HttpServletResponse response, CmcCarExpense cmcCarExpense)
55
-    {
56
-        List<CmcCarExpense> list = cmcCarExpenseService.selectCmcCarExpenseList(cmcCarExpense);
57
-        ExcelUtil<CmcCarExpense> util = new ExcelUtil<CmcCarExpense>(CmcCarExpense.class);
58
-        util.exportExcel(response, list, "cmc车辆费用数据");
59
-    }
60
-
61
-    /**
62
-     * 获取cmc车辆费用详细信息
63
-     */
64
-    @GetMapping(value = "/{carExpenseId}")
65
-    public AjaxResult getInfo(@PathVariable("carExpenseId") String carExpenseId)
66
-    {
67
-        return success(cmcCarExpenseService.selectCmcCarExpenseByCarExpenseId(carExpenseId));
68
-    }
69
-
70
-    /**
71
-     * 新增cmc车辆费用
72
-     */
73
-    @Log(title = "cmc车辆费用", businessType = BusinessType.INSERT)
74
-    @PostMapping
75
-    public AjaxResult add(@RequestBody CmcCarExpense cmcCarExpense)
76
-    {
77
-        cmcCarExpense.setCarExpenseId(new SnowFlake().generateId());
78
-        return toAjax(cmcCarExpenseService.insertCmcCarExpense(cmcCarExpense));
79
-    }
80
-
81
-    /**
82
-     * 修改cmc车辆费用
83
-     */
84
-    @Log(title = "cmc车辆费用", businessType = BusinessType.UPDATE)
85
-    @PutMapping
86
-    public AjaxResult edit(@RequestBody CmcCarExpense cmcCarExpense)
87
-    {
88
-        return toAjax(cmcCarExpenseService.updateCmcCarExpense(cmcCarExpense));
89
-    }
90
-
91
-    /**
92
-     * 删除cmc车辆费用
93
-     */
94
-    @Log(title = "cmc车辆费用", businessType = BusinessType.DELETE)
95
-	@DeleteMapping("/{carExpenseIds}")
96
-    public AjaxResult remove(@PathVariable String[] carExpenseIds)
97
-    {
98
-        return toAjax(cmcCarExpenseService.deleteCmcCarExpenseByCarExpenseIds(carExpenseIds));
99
-    }
100
-}

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractCommentController.java Vedi File

@@ -98,6 +98,6 @@ public class CmcContractCommentController extends BaseController
98 98
 	@DeleteMapping("/{contractIds}")
99 99
     public AjaxResult remove(@PathVariable String[] contractIds)
100 100
     {
101
-        return toAjax(cmcContractCommentService.deleteCmcContractCommentByContractIds(contractIds));
101
+        return success(cmcContractCommentService.deleteCmcContractCommentByContractIds(contractIds));
102 102
     }
103 103
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractController.java Vedi File

@@ -97,6 +97,6 @@ public class CmcContractController extends BaseController
97 97
 	@DeleteMapping("/{contractIds}")
98 98
     public AjaxResult remove(@PathVariable String[] contractIds)
99 99
     {
100
-        return toAjax(cmcContractService.deleteCmcContractByContractIds(contractIds));
100
+        return success(cmcContractService.deleteCmcContractByContractIds(contractIds));
101 101
     }
102 102
 }

+ 1
- 2
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractMeetingController.java Vedi File

@@ -71,7 +71,6 @@ public class CmcContractMeetingController extends BaseController
71 71
     {
72 72
         JSONObject formDataJson = JSONObject.parse(formData);
73 73
         CmcContractMeeting cmcContractMeeting = new CmcContractMeeting();
74
-        cmcContractMeeting.setMeetingId(new SnowFlake().generateId());
75 74
         cmcContractMeeting.setContractId(formDataJson.getString("contractId"));
76 75
         cmcContractMeeting.setMeetingTime(formDataJson.getDate("meetingTime"));
77 76
         cmcContractMeeting.setPlace(formDataJson.getString("place"));
@@ -105,6 +104,6 @@ public class CmcContractMeetingController extends BaseController
105 104
 	@DeleteMapping("/{contractIds}")
106 105
     public AjaxResult remove(@PathVariable String[] contractIds)
107 106
     {
108
-        return toAjax(cmcContractMeetingService.deleteCmcContractMeetingByContractIds(contractIds));
107
+        return success(cmcContractMeetingService.deleteCmcContractMeetingByContractIds(contractIds));
109 108
     }
110 109
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractPaymentController.java Vedi File

@@ -94,6 +94,6 @@ public class CmcContractPaymentController extends BaseController
94 94
 	@DeleteMapping("/{contractIds}")
95 95
     public AjaxResult remove(@PathVariable String[] contractIds)
96 96
     {
97
-        return toAjax(cmcContractPaymentService.deleteCmcContractPaymentByContractIds(contractIds));
97
+        return success(cmcContractPaymentService.deleteCmcContractPaymentByContractIds(contractIds));
98 98
     }
99 99
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractWorkController.java Vedi File

@@ -94,6 +94,6 @@ public class CmcContractWorkController extends BaseController
94 94
 	@DeleteMapping("/{contractIds}")
95 95
     public AjaxResult remove(@PathVariable String[] contractIds)
96 96
     {
97
-        return toAjax(cmcContractWorkService.deleteCmcContractWorkByContractIds(contractIds));
97
+        return success(cmcContractWorkService.deleteCmcContractWorkByContractIds(contractIds));
98 98
     }
99 99
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDepositController.java Vedi File

@@ -103,6 +103,6 @@ public class CmcDepositController extends BaseController
103 103
 	@DeleteMapping("/{depositIds}")
104 104
     public AjaxResult remove(@PathVariable String[] depositIds)
105 105
     {
106
-        return toAjax(cmcDepositService.deleteCmcDepositByDepositIds(depositIds));
106
+        return success(cmcDepositService.deleteCmcDepositByDepositIds(depositIds));
107 107
     }
108 108
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDeviceApprovalController.java Vedi File

@@ -184,6 +184,6 @@ public class CmcDeviceApprovalController extends BaseController
184 184
 	@DeleteMapping("/{deviceApplyIds}")
185 185
     public AjaxResult remove(@PathVariable String[] deviceApplyIds)
186 186
     {
187
-        return toAjax(cmcDeviceApprovalService.deleteCmcDeviceApprovalByDeviceApplyIds(deviceApplyIds));
187
+        return success(cmcDeviceApprovalService.deleteCmcDeviceApprovalByDeviceApplyIds(deviceApplyIds));
188 188
     }
189 189
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDeviceController.java Vedi File

@@ -121,6 +121,6 @@ public class CmcDeviceController extends BaseController
121 121
 	@DeleteMapping("/{deviceIds}")
122 122
     public AjaxResult remove(@PathVariable Long[] deviceIds)
123 123
     {
124
-        return toAjax(cmcDeviceService.deleteCmcDeviceByDeviceIds(deviceIds));
124
+        return success(cmcDeviceService.deleteCmcDeviceByDeviceIds(deviceIds));
125 125
     }
126 126
 }

+ 13
- 4
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDeviceExpenseController.java Vedi File

@@ -4,6 +4,10 @@ import java.util.List;
4 4
 import javax.servlet.http.HttpServletResponse;
5 5
 
6 6
 import com.ruoyi.common.utils.SnowFlake;
7
+import com.ruoyi.oa.domain.CmcCar;
8
+import com.ruoyi.oa.domain.CmcDevice;
9
+import com.ruoyi.oa.service.ICmcCarService;
10
+import com.ruoyi.oa.service.ICmcDeviceService;
7 11
 import org.springframework.beans.factory.annotation.Autowired;
8 12
 import org.springframework.web.bind.annotation.GetMapping;
9 13
 import org.springframework.web.bind.annotation.PostMapping;
@@ -62,7 +66,7 @@ public class CmcDeviceExpenseController extends BaseController
62 66
      * 获取cmc仪器费用详细信息
63 67
      */
64 68
     @GetMapping(value = "/{deviceExpenseId}")
65
-    public AjaxResult getInfo(@PathVariable("deviceExpenseId") String deviceExpenseId)
69
+    public AjaxResult getInfo(@PathVariable("deviceExpenseId") Integer deviceExpenseId)
66 70
     {
67 71
         return success(cmcDeviceExpenseService.selectCmcDeviceExpenseByDeviceExpenseId(deviceExpenseId));
68 72
     }
@@ -74,7 +78,12 @@ public class CmcDeviceExpenseController extends BaseController
74 78
     @PostMapping
75 79
     public AjaxResult add(@RequestBody CmcDeviceExpense cmcDeviceExpense)
76 80
     {
77
-        cmcDeviceExpense.setDeviceExpenseId(new SnowFlake().generateId());
81
+        if (cmcDeviceExpense.getDeviceId() != null && cmcDeviceExpense.getCarId() == null) {
82
+            cmcDeviceExpense.setCarId(0);
83
+        }
84
+        if (cmcDeviceExpense.getCarId() != null && cmcDeviceExpense.getDeviceId() == null) {
85
+            cmcDeviceExpense.setDeviceId(0);
86
+        }
78 87
         return toAjax(cmcDeviceExpenseService.insertCmcDeviceExpense(cmcDeviceExpense));
79 88
     }
80 89
 
@@ -93,8 +102,8 @@ public class CmcDeviceExpenseController extends BaseController
93 102
      */
94 103
     @Log(title = "cmc仪器费用", businessType = BusinessType.DELETE)
95 104
 	@DeleteMapping("/{deviceExpenseIds}")
96
-    public AjaxResult remove(@PathVariable String[] deviceExpenseIds)
105
+    public AjaxResult remove(@PathVariable Integer[] deviceExpenseIds)
97 106
     {
98
-        return toAjax(cmcDeviceExpenseService.deleteCmcDeviceExpenseByDeviceExpenseIds(deviceExpenseIds));
107
+        return success(cmcDeviceExpenseService.deleteCmcDeviceExpenseByDeviceExpenseIds(deviceExpenseIds));
99 108
     }
100 109
 }

+ 3
- 4
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDeviceHandoverController.java Vedi File

@@ -62,7 +62,7 @@ public class CmcDeviceHandoverController extends BaseController
62 62
      * 获取cmc设备移交详细信息
63 63
      */
64 64
     @GetMapping(value = "/{deviceHandoverId}")
65
-    public AjaxResult getInfo(@PathVariable("deviceHandoverId") String deviceHandoverId)
65
+    public AjaxResult getInfo(@PathVariable("deviceHandoverId") Integer deviceHandoverId)
66 66
     {
67 67
         return success(cmcDeviceHandoverService.selectCmcDeviceHandoverByDeviceHandoverId(deviceHandoverId));
68 68
     }
@@ -74,7 +74,6 @@ public class CmcDeviceHandoverController extends BaseController
74 74
     @PostMapping
75 75
     public AjaxResult add(@RequestBody CmcDeviceHandover cmcDeviceHandover)
76 76
     {
77
-        cmcDeviceHandover.setDeviceHandoverId(new SnowFlake().generateId());
78 77
         return toAjax(cmcDeviceHandoverService.insertCmcDeviceHandover(cmcDeviceHandover));
79 78
     }
80 79
 
@@ -93,8 +92,8 @@ public class CmcDeviceHandoverController extends BaseController
93 92
      */
94 93
     @Log(title = "cmc设备移交", businessType = BusinessType.DELETE)
95 94
 	@DeleteMapping("/{deviceHandoverIds}")
96
-    public AjaxResult remove(@PathVariable String[] deviceHandoverIds)
95
+    public AjaxResult remove(@PathVariable Integer[] deviceHandoverIds)
97 96
     {
98
-        return toAjax(cmcDeviceHandoverService.deleteCmcDeviceHandoverByDeviceHandoverIds(deviceHandoverIds));
97
+        return success(cmcDeviceHandoverService.deleteCmcDeviceHandoverByDeviceHandoverIds(deviceHandoverIds));
99 98
     }
100 99
 }

+ 7
- 6
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDeviceScrapController.java Vedi File

@@ -72,7 +72,7 @@ public class CmcDeviceScrapController extends BaseController
72 72
      * 获取cmc设备报废详细信息
73 73
      */
74 74
     @GetMapping(value = "/{deviceScrapId}")
75
-    public AjaxResult getInfo(@PathVariable("deviceScrapId") String deviceScrapId)
75
+    public AjaxResult getInfo(@PathVariable("deviceScrapId") Integer deviceScrapId)
76 76
     {
77 77
         return success(cmcDeviceScrapService.selectCmcDeviceScrapByDeviceScrapId(deviceScrapId));
78 78
     }
@@ -84,13 +84,14 @@ public class CmcDeviceScrapController extends BaseController
84 84
     @PostMapping
85 85
     public AjaxResult add(@RequestBody CmcDeviceScrap cmcDeviceScrap)
86 86
     {
87
-        cmcDeviceScrap.setDeviceScrapId(new SnowFlake().generateId());
88
-        if (cmcDeviceScrap.getDeviceId() != null) {
87
+        if (cmcDeviceScrap.getDeviceId() != null && cmcDeviceScrap.getCarId() == null) {
88
+            cmcDeviceScrap.setCarId(0);
89 89
             CmcDevice cmcDevice = cmcDeviceService.selectCmcDeviceByDeviceId(cmcDeviceScrap.getDeviceId());
90 90
             cmcDevice.setStatus("4");
91 91
             cmcDeviceService.updateCmcDevice(cmcDevice);
92 92
         }
93
-        if (cmcDeviceScrap.getCarId() != null) {
93
+        if (cmcDeviceScrap.getCarId() != null && cmcDeviceScrap.getDeviceId() == null) {
94
+            cmcDeviceScrap.setDeviceId(0);
94 95
             CmcCar cmcCar = cmcCarService.selectCmcCarByCarId(cmcDeviceScrap.getCarId());
95 96
             cmcCar.setStatus("4");
96 97
             cmcCarService.updateCmcCar(cmcCar);
@@ -113,8 +114,8 @@ public class CmcDeviceScrapController extends BaseController
113 114
      */
114 115
     @Log(title = "cmc设备报废", businessType = BusinessType.DELETE)
115 116
 	@DeleteMapping("/{deviceScrapIds}")
116
-    public AjaxResult remove(@PathVariable String[] deviceScrapIds)
117
+    public AjaxResult remove(@PathVariable Integer[] deviceScrapIds)
117 118
     {
118
-        return toAjax(cmcDeviceScrapService.deleteCmcDeviceScrapByDeviceScrapIds(deviceScrapIds));
119
+        return success(cmcDeviceScrapService.deleteCmcDeviceScrapByDeviceScrapIds(deviceScrapIds));
119 120
     }
120 121
 }

+ 2
- 2
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcPartnerController.java Vedi File

@@ -74,7 +74,7 @@ public class CmcPartnerController extends BaseController
74 74
     @PostMapping
75 75
     public AjaxResult add(@RequestBody CmcPartner cmcPartner)
76 76
     {
77
-        cmcPartner.setPartnerId(new SnowFlake().generateId());
77
+        cmcPartner.setPartnerId(String.valueOf(cmcPartnerService.selectCmcPartnerList(new CmcPartner()).size() + 1));
78 78
         return toAjax(cmcPartnerService.insertCmcPartner(cmcPartner));
79 79
     }
80 80
 
@@ -95,6 +95,6 @@ public class CmcPartnerController extends BaseController
95 95
 	@DeleteMapping("/{partnerIds}")
96 96
     public AjaxResult remove(@PathVariable String[] partnerIds)
97 97
     {
98
-        return toAjax(cmcPartnerService.deleteCmcPartnerByPartnerIds(partnerIds));
98
+        return success(cmcPartnerService.deleteCmcPartnerByPartnerIds(partnerIds));
99 99
     }
100 100
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcPartyAController.java Vedi File

@@ -92,6 +92,6 @@ public class CmcPartyAController extends BaseController
92 92
 	@DeleteMapping("/{partyAIds}")
93 93
     public AjaxResult remove(@PathVariable String[] partyAIds)
94 94
     {
95
-        return toAjax(cmcPartyAService.deleteCmcPartyAByPartyAIds(partyAIds));
95
+        return success(cmcPartyAService.deleteCmcPartyAByPartyAIds(partyAIds));
96 96
     }
97 97
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcPostSalaryController.java Vedi File

@@ -92,6 +92,6 @@ public class CmcPostSalaryController extends BaseController
92 92
 	@DeleteMapping("/{salaryIds}")
93 93
     public AjaxResult remove(@PathVariable Integer[] salaryIds)
94 94
     {
95
-        return toAjax(cmcPostSalaryService.deleteCmcPostSalaryBySalaryIds(salaryIds));
95
+        return success(cmcPostSalaryService.deleteCmcPostSalaryBySalaryIds(salaryIds));
96 96
     }
97 97
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcPriceController.java Vedi File

@@ -183,6 +183,6 @@ public class CmcPriceController extends BaseController
183 183
     @DeleteMapping("/{ids}")
184 184
     public AjaxResult remove(@PathVariable Long[] ids)
185 185
     {
186
-        return toAjax(cmcPriceService.deleteCmcPriceByIds(ids));
186
+        return success(cmcPriceService.deleteCmcPriceByIds(ids));
187 187
     }
188 188
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectChangeController.java Vedi File

@@ -92,6 +92,6 @@ public class CmcProjectChangeController extends BaseController
92 92
 	@DeleteMapping("/{changeIds}")
93 93
     public AjaxResult remove(@PathVariable Long[] changeIds)
94 94
     {
95
-        return toAjax(cmcProjectChangeService.deleteCmcProjectChangeByChangeIds(changeIds));
95
+        return success(cmcProjectChangeService.deleteCmcProjectChangeByChangeIds(changeIds));
96 96
     }
97 97
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectCommentController.java Vedi File

@@ -125,6 +125,6 @@ public class CmcProjectCommentController extends BaseController
125 125
 	@DeleteMapping("/{projectIds}")
126 126
     public AjaxResult remove(@PathVariable String[] projectIds)
127 127
     {
128
-        return toAjax(cmcProjectCommentService.deleteCmcProjectCommentByProjectIds(projectIds));
128
+        return success(cmcProjectCommentService.deleteCmcProjectCommentByProjectIds(projectIds));
129 129
     }
130 130
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectContractController.java Vedi File

@@ -92,6 +92,6 @@ public class CmcProjectContractController extends BaseController
92 92
 	@DeleteMapping("/{projectIds}")
93 93
     public AjaxResult remove(@PathVariable String[] projectIds)
94 94
     {
95
-        return toAjax(cmcProjectContractService.deleteCmcProjectContractByProjectIds(projectIds));
95
+        return success(cmcProjectContractService.deleteCmcProjectContractByProjectIds(projectIds));
96 96
     }
97 97
 }

+ 2
- 2
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectController.java Vedi File

@@ -127,7 +127,7 @@ public class CmcProjectController extends BaseController
127 127
         cmcProject.setIsFinished("0");
128 128
         if (!cmcProject.getPartyAId().matches("-?\\d+(\\.\\d+)?")) {
129 129
             CmcPartyA cmcPartyA = new CmcPartyA();
130
-            cmcPartyA.setPartyAId(new SnowFlake().generateId());
130
+            cmcPartyA.setPartyAId(String.valueOf(cmcPartyAService.selectCmcPartyAList(new CmcPartyA()).size() + 1));
131 131
             cmcPartyA.setPartyAName(cmcProject.getPartyAId());
132 132
             cmcPartyAService.insertCmcPartyA(cmcPartyA);
133 133
             cmcProject.setPartyAId(cmcPartyA.getPartyAId());
@@ -153,6 +153,6 @@ public class CmcProjectController extends BaseController
153 153
     public AjaxResult remove(@PathVariable String[] projectIds)
154 154
     {
155 155
         cmcProjectWorkService.deleteCmcProjectWorkByProjectIds(projectIds);
156
-        return toAjax(cmcProjectService.deleteCmcProjectByProjectIds(projectIds));
156
+        return success(cmcProjectService.deleteCmcProjectByProjectIds(projectIds));
157 157
     }
158 158
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectProgressController.java Vedi File

@@ -94,6 +94,6 @@ public class CmcProjectProgressController extends BaseController
94 94
 	@DeleteMapping("/{projectIds}")
95 95
     public AjaxResult remove(@PathVariable String[] projectIds)
96 96
     {
97
-        return toAjax(cmcProjectProgressService.deleteCmcProjectProgressByProjectIds(projectIds));
97
+        return success(cmcProjectProgressService.deleteCmcProjectProgressByProjectIds(projectIds));
98 98
     }
99 99
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectWorkController.java Vedi File

@@ -94,6 +94,6 @@ public class CmcProjectWorkController extends BaseController
94 94
 	@DeleteMapping("/{projectId}")
95 95
     public AjaxResult remove(@PathVariable String[] projectId)
96 96
     {
97
-        return toAjax(cmcProjectWorkService.deleteCmcProjectWorkByProjectIds(projectId));
97
+        return success(cmcProjectWorkService.deleteCmcProjectWorkByProjectIds(projectId));
98 98
     }
99 99
 }

+ 0
- 97
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectWorkerController.java Vedi File

@@ -1,97 +0,0 @@
1
-package com.ruoyi.web.controller.oa;
2
-
3
-import java.util.List;
4
-import javax.servlet.http.HttpServletResponse;
5
-import org.springframework.beans.factory.annotation.Autowired;
6
-import org.springframework.web.bind.annotation.GetMapping;
7
-import org.springframework.web.bind.annotation.PostMapping;
8
-import org.springframework.web.bind.annotation.PutMapping;
9
-import org.springframework.web.bind.annotation.DeleteMapping;
10
-import org.springframework.web.bind.annotation.PathVariable;
11
-import org.springframework.web.bind.annotation.RequestBody;
12
-import org.springframework.web.bind.annotation.RequestMapping;
13
-import org.springframework.web.bind.annotation.RestController;
14
-import com.ruoyi.common.annotation.Log;
15
-import com.ruoyi.common.core.controller.BaseController;
16
-import com.ruoyi.common.core.domain.AjaxResult;
17
-import com.ruoyi.common.enums.BusinessType;
18
-import com.ruoyi.oa.domain.CmcProjectWorker;
19
-import com.ruoyi.oa.service.ICmcProjectWorkerService;
20
-import com.ruoyi.common.utils.poi.ExcelUtil;
21
-import com.ruoyi.common.core.page.TableDataInfo;
22
-
23
-/**
24
- * cmc项目人员Controller
25
- * 
26
- * @author cmc
27
- * @date 2024-03-26
28
- */
29
-@RestController
30
-@RequestMapping("/oa/projectWorker")
31
-public class CmcProjectWorkerController extends BaseController
32
-{
33
-    @Autowired
34
-    private ICmcProjectWorkerService cmcProjectWorkerService;
35
-
36
-    /**
37
-     * 查询cmc项目人员列表
38
-     */
39
-    @GetMapping("/list")
40
-    public TableDataInfo list(CmcProjectWorker cmcProjectWorker)
41
-    {
42
-        startPage();
43
-        List<CmcProjectWorker> list = cmcProjectWorkerService.selectCmcProjectWorkerList(cmcProjectWorker);
44
-        return getDataTable(list);
45
-    }
46
-
47
-    /**
48
-     * 导出cmc项目人员列表
49
-     */
50
-    @Log(title = "cmc项目人员", businessType = BusinessType.EXPORT)
51
-    @PostMapping("/export")
52
-    public void export(HttpServletResponse response, CmcProjectWorker cmcProjectWorker)
53
-    {
54
-        List<CmcProjectWorker> list = cmcProjectWorkerService.selectCmcProjectWorkerList(cmcProjectWorker);
55
-        ExcelUtil<CmcProjectWorker> util = new ExcelUtil<CmcProjectWorker>(CmcProjectWorker.class);
56
-        util.exportExcel(response, list, "cmc项目人员数据");
57
-    }
58
-
59
-    /**
60
-     * 获取cmc项目人员详细信息
61
-     */
62
-    @GetMapping(value = "/{id}")
63
-    public AjaxResult getInfo(@PathVariable("id") String id)
64
-    {
65
-        return success(cmcProjectWorkerService.selectCmcProjectWorkerById(id));
66
-    }
67
-
68
-    /**
69
-     * 新增cmc项目人员
70
-     */
71
-    @Log(title = "cmc项目人员", businessType = BusinessType.INSERT)
72
-    @PostMapping
73
-    public AjaxResult add(@RequestBody CmcProjectWorker cmcProjectWorker)
74
-    {
75
-        return toAjax(cmcProjectWorkerService.insertCmcProjectWorker(cmcProjectWorker));
76
-    }
77
-
78
-    /**
79
-     * 修改cmc项目人员
80
-     */
81
-    @Log(title = "cmc项目人员", businessType = BusinessType.UPDATE)
82
-    @PutMapping
83
-    public AjaxResult edit(@RequestBody CmcProjectWorker cmcProjectWorker)
84
-    {
85
-        return toAjax(cmcProjectWorkerService.updateCmcProjectWorker(cmcProjectWorker));
86
-    }
87
-
88
-    /**
89
-     * 删除cmc项目人员
90
-     */
91
-    @Log(title = "cmc项目人员", businessType = BusinessType.DELETE)
92
-	@DeleteMapping("/{ids}")
93
-    public AjaxResult remove(@PathVariable String[] ids)
94
-    {
95
-        return toAjax(cmcProjectWorkerService.deleteCmcProjectWorkerByIds(ids));
96
-    }
97
-}

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSafeController.java Vedi File

@@ -92,6 +92,6 @@ public class CmcSafeController extends BaseController
92 92
 	@DeleteMapping("/{safeIds}")
93 93
     public AjaxResult remove(@PathVariable String[] safeIds)
94 94
     {
95
-        return toAjax(cmcSafeService.deleteCmcSafeBySafeIds(safeIds));
95
+        return success(cmcSafeService.deleteCmcSafeBySafeIds(safeIds));
96 96
     }
97 97
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSettleController.java Vedi File

@@ -92,6 +92,6 @@ public class CmcSettleController extends BaseController
92 92
 	@DeleteMapping("/{settleIds}")
93 93
     public AjaxResult remove(@PathVariable String[] settleIds)
94 94
     {
95
-        return toAjax(cmcSettleService.deleteCmcSettleBySettleIds(settleIds));
95
+        return success(cmcSettleService.deleteCmcSettleBySettleIds(settleIds));
96 96
     }
97 97
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSettleSummaryController.java Vedi File

@@ -94,6 +94,6 @@ public class CmcSettleSummaryController extends BaseController
94 94
 	@DeleteMapping("/{settleIds}")
95 95
     public AjaxResult remove(@PathVariable String[] settleIds)
96 96
     {
97
-        return toAjax(cmcSettleSummaryService.deleteCmcSettleSummaryBySettleIds(settleIds));
97
+        return success(cmcSettleSummaryService.deleteCmcSettleSummaryBySettleIds(settleIds));
98 98
     }
99 99
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSettleWorkController.java Vedi File

@@ -94,6 +94,6 @@ public class CmcSettleWorkController extends BaseController
94 94
 	@DeleteMapping("/{settleIds}")
95 95
     public AjaxResult remove(@PathVariable String[] settleIds)
96 96
     {
97
-        return toAjax(cmcSettleWorkService.deleteCmcSettleWorkBySettleIds(settleIds));
97
+        return success(cmcSettleWorkService.deleteCmcSettleWorkBySettleIds(settleIds));
98 98
     }
99 99
 }

+ 2
- 2
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSubContractController.java Vedi File

@@ -82,7 +82,7 @@ public class CmcSubContractController extends BaseController
82 82
     {
83 83
         if (!cmcSubContract.getPartnerId().matches("-?\\d+(\\.\\d+)?")) {
84 84
             CmcPartner cmcPartner = new CmcPartner();
85
-            cmcPartner.setPartnerId(new SnowFlake().generateId());
85
+            cmcPartner.setPartnerId(String.valueOf(cmcPartnerService.selectCmcPartnerList(new CmcPartner()).size() + 1));
86 86
             cmcPartner.setPartnerName(cmcSubContract.getPartnerId());
87 87
             cmcPartner.setTelephone(cmcSubContract.getTelephone());
88 88
             cmcPartner.setContactPerson(cmcSubContract.getContactPerson());
@@ -113,6 +113,6 @@ public class CmcSubContractController extends BaseController
113 113
 	@DeleteMapping("/{subContractIds}")
114 114
     public AjaxResult remove(@PathVariable String[] subContractIds)
115 115
     {
116
-        return toAjax(cmcSubContractService.deleteCmcSubContractBySubContractIds(subContractIds));
116
+        return success(cmcSubContractService.deleteCmcSubContractBySubContractIds(subContractIds));
117 117
     }
118 118
 }

+ 1
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcTechnicalController.java Vedi File

@@ -106,6 +106,6 @@ public class CmcTechnicalController extends BaseController
106 106
 	@DeleteMapping("/{technicalIds}")
107 107
     public AjaxResult remove(@PathVariable String[] technicalIds)
108 108
     {
109
-        return toAjax(cmcTechnicalService.deleteCmcTechnicalByTechnicalIds(technicalIds));
109
+        return success(cmcTechnicalService.deleteCmcTechnicalByTechnicalIds(technicalIds));
110 110
     }
111 111
 }

+ 2
- 2
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcTenderController.java Vedi File

@@ -81,7 +81,7 @@ public class CmcTenderController extends BaseController
81 81
     {
82 82
         if (!cmcTender.getPartyAId().matches("-?\\d+(\\.\\d+)?")) {
83 83
             CmcPartyA cmcPartyA = new CmcPartyA();
84
-            cmcPartyA.setPartyAId(new SnowFlake().generateId());
84
+            cmcPartyA.setPartyAId(String.valueOf(cmcPartyAService.selectCmcPartyAList(new CmcPartyA()).size() + 1));
85 85
             cmcPartyA.setPartyAName(cmcTender.getPartyAId());
86 86
             cmcPartyAService.insertCmcPartyA(cmcPartyA);
87 87
             cmcTender.setPartyAId(cmcPartyA.getPartyAId());
@@ -106,6 +106,6 @@ public class CmcTenderController extends BaseController
106 106
 	@DeleteMapping("/{tenderIds}")
107 107
     public AjaxResult remove(@PathVariable String[] tenderIds)
108 108
     {
109
-        return toAjax(cmcTenderService.deleteCmcTenderByTenderIds(tenderIds));
109
+        return success(cmcTenderService.deleteCmcTenderByTenderIds(tenderIds));
110 110
     }
111 111
 }

+ 12
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java Vedi File

@@ -64,6 +64,12 @@ public class SysPostController extends BaseController
64 64
         SysUser deptLeader = postService.selectDeptLeaderByUserId(userId);
65 65
         if (deptLeader == null)
66 66
             deptLeader = postService.selectViceDeptLeaderByUserId(userId);
67
+        if (deptLeader == null)
68
+            deptLeader = postService.selectSubLeaderByUserId(userId);
69
+        if (deptLeader == null)
70
+            deptLeader = postService.selectSubGmByUserId(userId);
71
+        if (deptLeader == null)
72
+            deptLeader = postService.selectBranchLeaderByUserId(userId);
67 73
         return success(deptLeader);
68 74
     }
69 75
 
@@ -86,6 +92,12 @@ public class SysPostController extends BaseController
86 92
         SysUser deptLeader = postService.selectDeptLeaderByDeptId(deptId);
87 93
         if (deptLeader == null)
88 94
             deptLeader = postService.selectViceDeptLeaderByDeptId(deptId);
95
+        if (deptLeader == null)
96
+            deptLeader = postService.selectSubLeaderByDeptId(deptId);
97
+        if (deptLeader == null)
98
+            deptLeader = postService.selectSubGmByDeptId(deptId);
99
+        if (deptLeader == null)
100
+            deptLeader = postService.selectBranchLeaderByDeptId(deptId);
89 101
         return success(deptLeader);
90 102
     }
91 103
 

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcCarExpense.java Vedi File

@@ -19,7 +19,7 @@ public class CmcCarExpense extends BaseEntity
19 19
     private static final long serialVersionUID = 1L;
20 20
 
21 21
     /** 车辆费用id */
22
-    private String carExpenseId;
22
+    private Integer carExpenseId;
23 23
 
24 24
     /** 车辆id */
25 25
     @Excel(name = "车牌号")
@@ -44,12 +44,12 @@ public class CmcCarExpense extends BaseEntity
44 44
     @Excel(name = "附件")
45 45
     private String document;
46 46
 
47
-    public void setCarExpenseId(String carExpenseId) 
47
+    public void setCarExpenseId(Integer carExpenseId)
48 48
     {
49 49
         this.carExpenseId = carExpenseId;
50 50
     }
51 51
 
52
-    public String getCarExpenseId() 
52
+    public Integer getCarExpenseId()
53 53
     {
54 54
         return carExpenseId;
55 55
     }

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcContractMeeting.java Vedi File

@@ -19,7 +19,7 @@ public class CmcContractMeeting extends BaseEntity
19 19
     private static final long serialVersionUID = 1L;
20 20
 
21 21
     /** 合同会审id */
22
-    private String meetingId;
22
+    private Long meetingId;
23 23
 
24 24
     /** 合同id */
25 25
     @Excel(name = "合同id")
@@ -57,12 +57,12 @@ public class CmcContractMeeting extends BaseEntity
57 57
     @Excel(name = "总结时间", width = 30, dateFormat = "yyyy-MM-dd")
58 58
     private Date commentTime;
59 59
 
60
-    public void setMeetingId(String meetingId)
60
+    public void setMeetingId(Long meetingId)
61 61
     {
62 62
         this.meetingId = meetingId;
63 63
     }
64 64
 
65
-    public String getMeetingId()
65
+    public Long getMeetingId()
66 66
     {
67 67
         return meetingId;
68 68
     }

+ 33
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcDeviceExpense.java Vedi File

@@ -20,12 +20,19 @@ public class CmcDeviceExpense extends BaseEntity
20 20
     private static final long serialVersionUID = 1L;
21 21
 
22 22
     /** 设备费用id */
23
-    private String deviceExpenseId;
23
+    private Integer deviceExpenseId;
24 24
 
25 25
     /** 设备id */
26 26
     private Integer deviceId;
27 27
     private CmcDevice device;
28 28
 
29
+    /** 车辆id */
30
+    private Integer carId;
31
+    private CmcCar car;
32
+
33
+    @Excel(name = "车牌号")
34
+    private String licensePlate;
35
+
29 36
     @Excel(name = "设备编码")
30 37
     private String deviceNumber;
31 38
 
@@ -65,12 +72,12 @@ public class CmcDeviceExpense extends BaseEntity
65 72
     @Excel(name = "附件")
66 73
     private String document;
67 74
 
68
-    public void setDeviceExpenseId(String deviceExpenseId) 
75
+    public void setDeviceExpenseId(Integer deviceExpenseId)
69 76
     {
70 77
         this.deviceExpenseId = deviceExpenseId;
71 78
     }
72 79
 
73
-    public String getDeviceExpenseId() 
80
+    public Integer getDeviceExpenseId()
74 81
     {
75 82
         return deviceExpenseId;
76 83
     }
@@ -83,6 +90,15 @@ public class CmcDeviceExpense extends BaseEntity
83 90
     {
84 91
         return deviceId;
85 92
     }
93
+    public void setCarId(Integer carId)
94
+    {
95
+        this.carId = carId;
96
+    }
97
+
98
+    public Integer getCarId()
99
+    {
100
+        return carId;
101
+    }
86 102
     public void setDevice(CmcDevice device)
87 103
     {
88 104
         this.device = device;
@@ -99,6 +115,19 @@ public class CmcDeviceExpense extends BaseEntity
99 115
     {
100 116
         return device;
101 117
     }
118
+
119
+    public void setCar(CmcCar car)
120
+    {
121
+        this.car = car;
122
+        if (car != null) {
123
+            this.licensePlate = car.getLicensePlate();
124
+        }
125
+    }
126
+
127
+    public CmcCar getCar()
128
+    {
129
+        return car;
130
+    }
102 131
     public void setUserId(Long userId) 
103 132
     {
104 133
         this.userId = userId;
@@ -160,6 +189,7 @@ public class CmcDeviceExpense extends BaseEntity
160 189
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
161 190
             .append("deviceExpenseId", getDeviceExpenseId())
162 191
             .append("deviceId", getDeviceId())
192
+            .append("carId", getCarId())
163 193
             .append("userId", getUserId())
164 194
             .append("expenseType", getExpenseType())
165 195
             .append("expense", getExpense())

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcDeviceHandover.java Vedi File

@@ -20,7 +20,7 @@ public class CmcDeviceHandover extends BaseEntity
20 20
     private static final long serialVersionUID = 1L;
21 21
 
22 22
     /** 设备移交id */
23
-    private String deviceHandoverId;
23
+    private Integer deviceHandoverId;
24 24
 
25 25
     /** 设备id */
26 26
     private Integer deviceId;
@@ -83,12 +83,12 @@ public class CmcDeviceHandover extends BaseEntity
83 83
     @Excel(name = "交接原因")
84 84
     private String reason;
85 85
 
86
-    public void setDeviceHandoverId(String deviceHandoverId) 
86
+    public void setDeviceHandoverId(Integer deviceHandoverId)
87 87
     {
88 88
         this.deviceHandoverId = deviceHandoverId;
89 89
     }
90 90
 
91
-    public String getDeviceHandoverId() 
91
+    public Integer getDeviceHandoverId()
92 92
     {
93 93
         return deviceHandoverId;
94 94
     }

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcDeviceScrap.java Vedi File

@@ -19,7 +19,7 @@ public class CmcDeviceScrap extends BaseEntity
19 19
     private static final long serialVersionUID = 1L;
20 20
 
21 21
     /** 设备报废id */
22
-    private String deviceScrapId;
22
+    private Integer deviceScrapId;
23 23
 
24 24
     /** 设备id */
25 25
     @Excel(name = "设备id")
@@ -50,12 +50,12 @@ public class CmcDeviceScrap extends BaseEntity
50 50
     @Excel(name = "附件")
51 51
     private String document;
52 52
 
53
-    public void setDeviceScrapId(String deviceScrapId) 
53
+    public void setDeviceScrapId(Integer deviceScrapId)
54 54
     {
55 55
         this.deviceScrapId = deviceScrapId;
56 56
     }
57 57
 
58
-    public String getDeviceScrapId() 
58
+    public Integer getDeviceScrapId()
59 59
     {
60 60
         return deviceScrapId;
61 61
     }

+ 0
- 61
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcCarExpenseMapper.java Vedi File

@@ -1,61 +0,0 @@
1
-package com.ruoyi.oa.mapper;
2
-
3
-import java.util.List;
4
-import com.ruoyi.oa.domain.CmcCarExpense;
5
-
6
-/**
7
- * cmc车辆费用Mapper接口
8
- * 
9
- * @author cmc
10
- * @date 2024-03-12
11
- */
12
-public interface CmcCarExpenseMapper 
13
-{
14
-    /**
15
-     * 查询cmc车辆费用
16
-     * 
17
-     * @param carExpenseId cmc车辆费用主键
18
-     * @return cmc车辆费用
19
-     */
20
-    public CmcCarExpense selectCmcCarExpenseByCarExpenseId(String carExpenseId);
21
-
22
-    /**
23
-     * 查询cmc车辆费用列表
24
-     * 
25
-     * @param cmcCarExpense cmc车辆费用
26
-     * @return cmc车辆费用集合
27
-     */
28
-    public List<CmcCarExpense> selectCmcCarExpenseList(CmcCarExpense cmcCarExpense);
29
-
30
-    /**
31
-     * 新增cmc车辆费用
32
-     * 
33
-     * @param cmcCarExpense cmc车辆费用
34
-     * @return 结果
35
-     */
36
-    public int insertCmcCarExpense(CmcCarExpense cmcCarExpense);
37
-
38
-    /**
39
-     * 修改cmc车辆费用
40
-     * 
41
-     * @param cmcCarExpense cmc车辆费用
42
-     * @return 结果
43
-     */
44
-    public int updateCmcCarExpense(CmcCarExpense cmcCarExpense);
45
-
46
-    /**
47
-     * 删除cmc车辆费用
48
-     * 
49
-     * @param carExpenseId cmc车辆费用主键
50
-     * @return 结果
51
-     */
52
-    public int deleteCmcCarExpenseByCarExpenseId(String carExpenseId);
53
-
54
-    /**
55
-     * 批量删除cmc车辆费用
56
-     * 
57
-     * @param carExpenseIds 需要删除的数据主键集合
58
-     * @return 结果
59
-     */
60
-    public int deleteCmcCarExpenseByCarExpenseIds(String[] carExpenseIds);
61
-}

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcDeviceExpenseMapper.java Vedi File

@@ -17,7 +17,7 @@ public interface CmcDeviceExpenseMapper
17 17
      * @param deviceExpenseId cmc设备费用主键
18 18
      * @return cmc设备费用
19 19
      */
20
-    public CmcDeviceExpense selectCmcDeviceExpenseByDeviceExpenseId(String deviceExpenseId);
20
+    public CmcDeviceExpense selectCmcDeviceExpenseByDeviceExpenseId(Integer deviceExpenseId);
21 21
 
22 22
     /**
23 23
      * 查询cmc设备费用列表
@@ -49,7 +49,7 @@ public interface CmcDeviceExpenseMapper
49 49
      * @param deviceExpenseId cmc设备费用主键
50 50
      * @return 结果
51 51
      */
52
-    public int deleteCmcDeviceExpenseByDeviceExpenseId(String deviceExpenseId);
52
+    public int deleteCmcDeviceExpenseByDeviceExpenseId(Integer deviceExpenseId);
53 53
 
54 54
     /**
55 55
      * 批量删除cmc设备费用
@@ -57,5 +57,5 @@ public interface CmcDeviceExpenseMapper
57 57
      * @param deviceExpenseIds 需要删除的数据主键集合
58 58
      * @return 结果
59 59
      */
60
-    public int deleteCmcDeviceExpenseByDeviceExpenseIds(String[] deviceExpenseIds);
60
+    public int deleteCmcDeviceExpenseByDeviceExpenseIds(Integer[] deviceExpenseIds);
61 61
 }

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcDeviceHandoverMapper.java Vedi File

@@ -17,7 +17,7 @@ public interface CmcDeviceHandoverMapper
17 17
      * @param deviceHandoverId cmc设备移交主键
18 18
      * @return cmc设备移交
19 19
      */
20
-    public CmcDeviceHandover selectCmcDeviceHandoverByDeviceHandoverId(String deviceHandoverId);
20
+    public CmcDeviceHandover selectCmcDeviceHandoverByDeviceHandoverId(Integer deviceHandoverId);
21 21
 
22 22
     /**
23 23
      * 查询cmc设备移交列表
@@ -49,7 +49,7 @@ public interface CmcDeviceHandoverMapper
49 49
      * @param deviceHandoverId cmc设备移交主键
50 50
      * @return 结果
51 51
      */
52
-    public int deleteCmcDeviceHandoverByDeviceHandoverId(String deviceHandoverId);
52
+    public int deleteCmcDeviceHandoverByDeviceHandoverId(Integer deviceHandoverId);
53 53
 
54 54
     /**
55 55
      * 批量删除cmc设备移交
@@ -57,5 +57,5 @@ public interface CmcDeviceHandoverMapper
57 57
      * @param deviceHandoverIds 需要删除的数据主键集合
58 58
      * @return 结果
59 59
      */
60
-    public int deleteCmcDeviceHandoverByDeviceHandoverIds(String[] deviceHandoverIds);
60
+    public int deleteCmcDeviceHandoverByDeviceHandoverIds(Integer[] deviceHandoverIds);
61 61
 }

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcDeviceScrapMapper.java Vedi File

@@ -17,7 +17,7 @@ public interface CmcDeviceScrapMapper
17 17
      * @param deviceScrapId cmc设备报废主键
18 18
      * @return cmc设备报废
19 19
      */
20
-    public CmcDeviceScrap selectCmcDeviceScrapByDeviceScrapId(String deviceScrapId);
20
+    public CmcDeviceScrap selectCmcDeviceScrapByDeviceScrapId(Integer deviceScrapId);
21 21
 
22 22
     /**
23 23
      * 查询cmc设备报废列表
@@ -49,7 +49,7 @@ public interface CmcDeviceScrapMapper
49 49
      * @param deviceScrapId cmc设备报废主键
50 50
      * @return 结果
51 51
      */
52
-    public int deleteCmcDeviceScrapByDeviceScrapId(String deviceScrapId);
52
+    public int deleteCmcDeviceScrapByDeviceScrapId(Integer deviceScrapId);
53 53
 
54 54
     /**
55 55
      * 批量删除cmc设备报废
@@ -57,5 +57,5 @@ public interface CmcDeviceScrapMapper
57 57
      * @param deviceScrapIds 需要删除的数据主键集合
58 58
      * @return 结果
59 59
      */
60
-    public int deleteCmcDeviceScrapByDeviceScrapIds(String[] deviceScrapIds);
60
+    public int deleteCmcDeviceScrapByDeviceScrapIds(Integer[] deviceScrapIds);
61 61
 }

+ 0
- 63
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcProjectWorkerMapper.java Vedi File

@@ -1,63 +0,0 @@
1
-package com.ruoyi.oa.mapper;
2
-
3
-import java.util.List;
4
-
5
-import com.ruoyi.oa.domain.CmcProject;
6
-import com.ruoyi.oa.domain.CmcProjectWorker;
7
-
8
-/**
9
- * cmc项目人员Mapper接口
10
- * 
11
- * @author cmc
12
- * @date 2024-03-26
13
- */
14
-public interface CmcProjectWorkerMapper 
15
-{
16
-    /**
17
-     * 查询cmc项目人员
18
-     * 
19
-     * @param id cmc项目人员主键
20
-     * @return cmc项目人员
21
-     */
22
-    public CmcProjectWorker selectCmcProjectWorkerById(String id);
23
-
24
-    /**
25
-     * 查询cmc项目人员列表
26
-     * 
27
-     * @param cmcProjectWorker cmc项目人员
28
-     * @return cmc项目人员集合
29
-     */
30
-    public List<CmcProjectWorker> selectCmcProjectWorkerList(CmcProjectWorker cmcProjectWorker);
31
-
32
-    /**
33
-     * 新增cmc项目人员
34
-     * 
35
-     * @param cmcProjectWorker cmc项目人员
36
-     * @return 结果
37
-     */
38
-    public int insertCmcProjectWorker(CmcProjectWorker cmcProjectWorker);
39
-
40
-    /**
41
-     * 修改cmc项目人员
42
-     * 
43
-     * @param cmcProjectWorker cmc项目人员
44
-     * @return 结果
45
-     */
46
-    public int updateCmcProjectWorker(CmcProjectWorker cmcProjectWorker);
47
-
48
-    /**
49
-     * 删除cmc项目人员
50
-     * 
51
-     * @param id cmc项目人员主键
52
-     * @return 结果
53
-     */
54
-    public int deleteCmcProjectWorkerById(String id);
55
-
56
-    /**
57
-     * 批量删除cmc项目人员
58
-     * 
59
-     * @param ids 需要删除的数据主键集合
60
-     * @return 结果
61
-     */
62
-    public int deleteCmcProjectWorkerByIds(String[] ids);
63
-}

+ 0
- 61
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcCarExpenseService.java Vedi File

@@ -1,61 +0,0 @@
1
-package com.ruoyi.oa.service;
2
-
3
-import java.util.List;
4
-import com.ruoyi.oa.domain.CmcCarExpense;
5
-
6
-/**
7
- * cmc车辆费用Service接口
8
- * 
9
- * @author cmc
10
- * @date 2024-03-12
11
- */
12
-public interface ICmcCarExpenseService 
13
-{
14
-    /**
15
-     * 查询cmc车辆费用
16
-     * 
17
-     * @param carExpenseId cmc车辆费用主键
18
-     * @return cmc车辆费用
19
-     */
20
-    public CmcCarExpense selectCmcCarExpenseByCarExpenseId(String carExpenseId);
21
-
22
-    /**
23
-     * 查询cmc车辆费用列表
24
-     * 
25
-     * @param cmcCarExpense cmc车辆费用
26
-     * @return cmc车辆费用集合
27
-     */
28
-    public List<CmcCarExpense> selectCmcCarExpenseList(CmcCarExpense cmcCarExpense);
29
-
30
-    /**
31
-     * 新增cmc车辆费用
32
-     * 
33
-     * @param cmcCarExpense cmc车辆费用
34
-     * @return 结果
35
-     */
36
-    public int insertCmcCarExpense(CmcCarExpense cmcCarExpense);
37
-
38
-    /**
39
-     * 修改cmc车辆费用
40
-     * 
41
-     * @param cmcCarExpense cmc车辆费用
42
-     * @return 结果
43
-     */
44
-    public int updateCmcCarExpense(CmcCarExpense cmcCarExpense);
45
-
46
-    /**
47
-     * 批量删除cmc车辆费用
48
-     * 
49
-     * @param carExpenseIds 需要删除的cmc车辆费用主键集合
50
-     * @return 结果
51
-     */
52
-    public int deleteCmcCarExpenseByCarExpenseIds(String[] carExpenseIds);
53
-
54
-    /**
55
-     * 删除cmc车辆费用信息
56
-     * 
57
-     * @param carExpenseId cmc车辆费用主键
58
-     * @return 结果
59
-     */
60
-    public int deleteCmcCarExpenseByCarExpenseId(String carExpenseId);
61
-}

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcDeviceExpenseService.java Vedi File

@@ -17,7 +17,7 @@ public interface ICmcDeviceExpenseService
17 17
      * @param deviceExpenseId cmc设备费用主键
18 18
      * @return cmc设备费用
19 19
      */
20
-    public CmcDeviceExpense selectCmcDeviceExpenseByDeviceExpenseId(String deviceExpenseId);
20
+    public CmcDeviceExpense selectCmcDeviceExpenseByDeviceExpenseId(Integer deviceExpenseId);
21 21
 
22 22
     /**
23 23
      * 查询cmc设备费用列表
@@ -49,7 +49,7 @@ public interface ICmcDeviceExpenseService
49 49
      * @param deviceExpenseIds 需要删除的cmc设备费用主键集合
50 50
      * @return 结果
51 51
      */
52
-    public int deleteCmcDeviceExpenseByDeviceExpenseIds(String[] deviceExpenseIds);
52
+    public int deleteCmcDeviceExpenseByDeviceExpenseIds(Integer[] deviceExpenseIds);
53 53
 
54 54
     /**
55 55
      * 删除cmc设备费用信息
@@ -57,5 +57,5 @@ public interface ICmcDeviceExpenseService
57 57
      * @param deviceExpenseId cmc设备费用主键
58 58
      * @return 结果
59 59
      */
60
-    public int deleteCmcDeviceExpenseByDeviceExpenseId(String deviceExpenseId);
60
+    public int deleteCmcDeviceExpenseByDeviceExpenseId(Integer deviceExpenseId);
61 61
 }

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcDeviceHandoverService.java Vedi File

@@ -17,7 +17,7 @@ public interface ICmcDeviceHandoverService
17 17
      * @param deviceHandoverId cmc设备移交主键
18 18
      * @return cmc设备移交
19 19
      */
20
-    public CmcDeviceHandover selectCmcDeviceHandoverByDeviceHandoverId(String deviceHandoverId);
20
+    public CmcDeviceHandover selectCmcDeviceHandoverByDeviceHandoverId(Integer deviceHandoverId);
21 21
 
22 22
     /**
23 23
      * 查询cmc设备移交列表
@@ -49,7 +49,7 @@ public interface ICmcDeviceHandoverService
49 49
      * @param deviceHandoverIds 需要删除的cmc设备移交主键集合
50 50
      * @return 结果
51 51
      */
52
-    public int deleteCmcDeviceHandoverByDeviceHandoverIds(String[] deviceHandoverIds);
52
+    public int deleteCmcDeviceHandoverByDeviceHandoverIds(Integer[] deviceHandoverIds);
53 53
 
54 54
     /**
55 55
      * 删除cmc设备移交信息
@@ -57,5 +57,5 @@ public interface ICmcDeviceHandoverService
57 57
      * @param deviceHandoverId cmc设备移交主键
58 58
      * @return 结果
59 59
      */
60
-    public int deleteCmcDeviceHandoverByDeviceHandoverId(String deviceHandoverId);
60
+    public int deleteCmcDeviceHandoverByDeviceHandoverId(Integer deviceHandoverId);
61 61
 }

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcDeviceScrapService.java Vedi File

@@ -17,7 +17,7 @@ public interface ICmcDeviceScrapService
17 17
      * @param deviceScrapId cmc设备报废主键
18 18
      * @return cmc设备报废
19 19
      */
20
-    public CmcDeviceScrap selectCmcDeviceScrapByDeviceScrapId(String deviceScrapId);
20
+    public CmcDeviceScrap selectCmcDeviceScrapByDeviceScrapId(Integer deviceScrapId);
21 21
 
22 22
     /**
23 23
      * 查询cmc设备报废列表
@@ -49,7 +49,7 @@ public interface ICmcDeviceScrapService
49 49
      * @param deviceScrapIds 需要删除的cmc设备报废主键集合
50 50
      * @return 结果
51 51
      */
52
-    public int deleteCmcDeviceScrapByDeviceScrapIds(String[] deviceScrapIds);
52
+    public int deleteCmcDeviceScrapByDeviceScrapIds(Integer[] deviceScrapIds);
53 53
 
54 54
     /**
55 55
      * 删除cmc设备报废信息
@@ -57,5 +57,5 @@ public interface ICmcDeviceScrapService
57 57
      * @param deviceScrapId cmc设备报废主键
58 58
      * @return 结果
59 59
      */
60
-    public int deleteCmcDeviceScrapByDeviceScrapId(String deviceScrapId);
60
+    public int deleteCmcDeviceScrapByDeviceScrapId(Integer deviceScrapId);
61 61
 }

+ 0
- 63
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcProjectWorkerService.java Vedi File

@@ -1,63 +0,0 @@
1
-package com.ruoyi.oa.service;
2
-
3
-import java.util.List;
4
-
5
-import com.ruoyi.oa.domain.CmcProject;
6
-import com.ruoyi.oa.domain.CmcProjectWorker;
7
-
8
-/**
9
- * cmc项目人员Service接口
10
- * 
11
- * @author cmc
12
- * @date 2024-03-26
13
- */
14
-public interface ICmcProjectWorkerService 
15
-{
16
-    /**
17
-     * 查询cmc项目人员
18
-     * 
19
-     * @param id cmc项目人员主键
20
-     * @return cmc项目人员
21
-     */
22
-    public CmcProjectWorker selectCmcProjectWorkerById(String id);
23
-
24
-    /**
25
-     * 查询cmc项目人员列表
26
-     * 
27
-     * @param cmcProjectWorker cmc项目人员
28
-     * @return cmc项目人员集合
29
-     */
30
-    public List<CmcProjectWorker> selectCmcProjectWorkerList(CmcProjectWorker cmcProjectWorker);
31
-
32
-    /**
33
-     * 新增cmc项目人员
34
-     * 
35
-     * @param cmcProjectWorker cmc项目人员
36
-     * @return 结果
37
-     */
38
-    public int insertCmcProjectWorker(CmcProjectWorker cmcProjectWorker);
39
-
40
-    /**
41
-     * 修改cmc项目人员
42
-     * 
43
-     * @param cmcProjectWorker cmc项目人员
44
-     * @return 结果
45
-     */
46
-    public int updateCmcProjectWorker(CmcProjectWorker cmcProjectWorker);
47
-
48
-    /**
49
-     * 批量删除cmc项目人员
50
-     * 
51
-     * @param ids 需要删除的cmc项目人员主键集合
52
-     * @return 结果
53
-     */
54
-    public int deleteCmcProjectWorkerByIds(String[] ids);
55
-
56
-    /**
57
-     * 删除cmc项目人员信息
58
-     * 
59
-     * @param id cmc项目人员主键
60
-     * @return 结果
61
-     */
62
-    public int deleteCmcProjectWorkerById(String id);
63
-}

+ 0
- 93
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcCarExpenseServiceImpl.java Vedi File

@@ -1,93 +0,0 @@
1
-package com.ruoyi.oa.service.impl;
2
-
3
-import java.util.List;
4
-import org.springframework.beans.factory.annotation.Autowired;
5
-import org.springframework.stereotype.Service;
6
-import com.ruoyi.oa.mapper.CmcCarExpenseMapper;
7
-import com.ruoyi.oa.domain.CmcCarExpense;
8
-import com.ruoyi.oa.service.ICmcCarExpenseService;
9
-
10
-/**
11
- * cmc车辆费用Service业务层处理
12
- * 
13
- * @author cmc
14
- * @date 2024-03-12
15
- */
16
-@Service
17
-public class CmcCarExpenseServiceImpl implements ICmcCarExpenseService 
18
-{
19
-    @Autowired
20
-    private CmcCarExpenseMapper cmcCarExpenseMapper;
21
-
22
-    /**
23
-     * 查询cmc车辆费用
24
-     * 
25
-     * @param carExpenseId cmc车辆费用主键
26
-     * @return cmc车辆费用
27
-     */
28
-    @Override
29
-    public CmcCarExpense selectCmcCarExpenseByCarExpenseId(String carExpenseId)
30
-    {
31
-        return cmcCarExpenseMapper.selectCmcCarExpenseByCarExpenseId(carExpenseId);
32
-    }
33
-
34
-    /**
35
-     * 查询cmc车辆费用列表
36
-     * 
37
-     * @param cmcCarExpense cmc车辆费用
38
-     * @return cmc车辆费用
39
-     */
40
-    @Override
41
-    public List<CmcCarExpense> selectCmcCarExpenseList(CmcCarExpense cmcCarExpense)
42
-    {
43
-        return cmcCarExpenseMapper.selectCmcCarExpenseList(cmcCarExpense);
44
-    }
45
-
46
-    /**
47
-     * 新增cmc车辆费用
48
-     * 
49
-     * @param cmcCarExpense cmc车辆费用
50
-     * @return 结果
51
-     */
52
-    @Override
53
-    public int insertCmcCarExpense(CmcCarExpense cmcCarExpense)
54
-    {
55
-        return cmcCarExpenseMapper.insertCmcCarExpense(cmcCarExpense);
56
-    }
57
-
58
-    /**
59
-     * 修改cmc车辆费用
60
-     * 
61
-     * @param cmcCarExpense cmc车辆费用
62
-     * @return 结果
63
-     */
64
-    @Override
65
-    public int updateCmcCarExpense(CmcCarExpense cmcCarExpense)
66
-    {
67
-        return cmcCarExpenseMapper.updateCmcCarExpense(cmcCarExpense);
68
-    }
69
-
70
-    /**
71
-     * 批量删除cmc车辆费用
72
-     * 
73
-     * @param carExpenseIds 需要删除的cmc车辆费用主键
74
-     * @return 结果
75
-     */
76
-    @Override
77
-    public int deleteCmcCarExpenseByCarExpenseIds(String[] carExpenseIds)
78
-    {
79
-        return cmcCarExpenseMapper.deleteCmcCarExpenseByCarExpenseIds(carExpenseIds);
80
-    }
81
-
82
-    /**
83
-     * 删除cmc车辆费用信息
84
-     * 
85
-     * @param carExpenseId cmc车辆费用主键
86
-     * @return 结果
87
-     */
88
-    @Override
89
-    public int deleteCmcCarExpenseByCarExpenseId(String carExpenseId)
90
-    {
91
-        return cmcCarExpenseMapper.deleteCmcCarExpenseByCarExpenseId(carExpenseId);
92
-    }
93
-}

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcDeviceExpenseServiceImpl.java Vedi File

@@ -26,7 +26,7 @@ public class CmcDeviceExpenseServiceImpl implements ICmcDeviceExpenseService
26 26
      * @return cmc设备费用
27 27
      */
28 28
     @Override
29
-    public CmcDeviceExpense selectCmcDeviceExpenseByDeviceExpenseId(String deviceExpenseId)
29
+    public CmcDeviceExpense selectCmcDeviceExpenseByDeviceExpenseId(Integer deviceExpenseId)
30 30
     {
31 31
         return cmcDeviceExpenseMapper.selectCmcDeviceExpenseByDeviceExpenseId(deviceExpenseId);
32 32
     }
@@ -74,7 +74,7 @@ public class CmcDeviceExpenseServiceImpl implements ICmcDeviceExpenseService
74 74
      * @return 结果
75 75
      */
76 76
     @Override
77
-    public int deleteCmcDeviceExpenseByDeviceExpenseIds(String[] deviceExpenseIds)
77
+    public int deleteCmcDeviceExpenseByDeviceExpenseIds(Integer[] deviceExpenseIds)
78 78
     {
79 79
         return cmcDeviceExpenseMapper.deleteCmcDeviceExpenseByDeviceExpenseIds(deviceExpenseIds);
80 80
     }
@@ -86,7 +86,7 @@ public class CmcDeviceExpenseServiceImpl implements ICmcDeviceExpenseService
86 86
      * @return 结果
87 87
      */
88 88
     @Override
89
-    public int deleteCmcDeviceExpenseByDeviceExpenseId(String deviceExpenseId)
89
+    public int deleteCmcDeviceExpenseByDeviceExpenseId(Integer deviceExpenseId)
90 90
     {
91 91
         return cmcDeviceExpenseMapper.deleteCmcDeviceExpenseByDeviceExpenseId(deviceExpenseId);
92 92
     }

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcDeviceHandoverServiceImpl.java Vedi File

@@ -26,7 +26,7 @@ public class CmcDeviceHandoverServiceImpl implements ICmcDeviceHandoverService
26 26
      * @return cmc设备移交
27 27
      */
28 28
     @Override
29
-    public CmcDeviceHandover selectCmcDeviceHandoverByDeviceHandoverId(String deviceHandoverId)
29
+    public CmcDeviceHandover selectCmcDeviceHandoverByDeviceHandoverId(Integer deviceHandoverId)
30 30
     {
31 31
         return cmcDeviceHandoverMapper.selectCmcDeviceHandoverByDeviceHandoverId(deviceHandoverId);
32 32
     }
@@ -74,7 +74,7 @@ public class CmcDeviceHandoverServiceImpl implements ICmcDeviceHandoverService
74 74
      * @return 结果
75 75
      */
76 76
     @Override
77
-    public int deleteCmcDeviceHandoverByDeviceHandoverIds(String[] deviceHandoverIds)
77
+    public int deleteCmcDeviceHandoverByDeviceHandoverIds(Integer[] deviceHandoverIds)
78 78
     {
79 79
         return cmcDeviceHandoverMapper.deleteCmcDeviceHandoverByDeviceHandoverIds(deviceHandoverIds);
80 80
     }
@@ -86,7 +86,7 @@ public class CmcDeviceHandoverServiceImpl implements ICmcDeviceHandoverService
86 86
      * @return 结果
87 87
      */
88 88
     @Override
89
-    public int deleteCmcDeviceHandoverByDeviceHandoverId(String deviceHandoverId)
89
+    public int deleteCmcDeviceHandoverByDeviceHandoverId(Integer deviceHandoverId)
90 90
     {
91 91
         return cmcDeviceHandoverMapper.deleteCmcDeviceHandoverByDeviceHandoverId(deviceHandoverId);
92 92
     }

+ 3
- 3
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcDeviceScrapServiceImpl.java Vedi File

@@ -26,7 +26,7 @@ public class CmcDeviceScrapServiceImpl implements ICmcDeviceScrapService
26 26
      * @return cmc设备报废
27 27
      */
28 28
     @Override
29
-    public CmcDeviceScrap selectCmcDeviceScrapByDeviceScrapId(String deviceScrapId)
29
+    public CmcDeviceScrap selectCmcDeviceScrapByDeviceScrapId(Integer deviceScrapId)
30 30
     {
31 31
         return cmcDeviceScrapMapper.selectCmcDeviceScrapByDeviceScrapId(deviceScrapId);
32 32
     }
@@ -74,7 +74,7 @@ public class CmcDeviceScrapServiceImpl implements ICmcDeviceScrapService
74 74
      * @return 结果
75 75
      */
76 76
     @Override
77
-    public int deleteCmcDeviceScrapByDeviceScrapIds(String[] deviceScrapIds)
77
+    public int deleteCmcDeviceScrapByDeviceScrapIds(Integer[] deviceScrapIds)
78 78
     {
79 79
         return cmcDeviceScrapMapper.deleteCmcDeviceScrapByDeviceScrapIds(deviceScrapIds);
80 80
     }
@@ -86,7 +86,7 @@ public class CmcDeviceScrapServiceImpl implements ICmcDeviceScrapService
86 86
      * @return 结果
87 87
      */
88 88
     @Override
89
-    public int deleteCmcDeviceScrapByDeviceScrapId(String deviceScrapId)
89
+    public int deleteCmcDeviceScrapByDeviceScrapId(Integer deviceScrapId)
90 90
     {
91 91
         return cmcDeviceScrapMapper.deleteCmcDeviceScrapByDeviceScrapId(deviceScrapId);
92 92
     }

+ 0
- 95
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcProjectWorkerServiceImpl.java Vedi File

@@ -1,95 +0,0 @@
1
-package com.ruoyi.oa.service.impl;
2
-
3
-import java.util.List;
4
-
5
-import com.ruoyi.oa.domain.CmcProject;
6
-import org.springframework.beans.factory.annotation.Autowired;
7
-import org.springframework.stereotype.Service;
8
-import com.ruoyi.oa.mapper.CmcProjectWorkerMapper;
9
-import com.ruoyi.oa.domain.CmcProjectWorker;
10
-import com.ruoyi.oa.service.ICmcProjectWorkerService;
11
-
12
-/**
13
- * cmc项目人员Service业务层处理
14
- * 
15
- * @author cmc
16
- * @date 2024-03-26
17
- */
18
-@Service
19
-public class CmcProjectWorkerServiceImpl implements ICmcProjectWorkerService 
20
-{
21
-    @Autowired
22
-    private CmcProjectWorkerMapper cmcProjectWorkerMapper;
23
-
24
-    /**
25
-     * 查询cmc项目人员
26
-     * 
27
-     * @param id cmc项目人员主键
28
-     * @return cmc项目人员
29
-     */
30
-    @Override
31
-    public CmcProjectWorker selectCmcProjectWorkerById(String id)
32
-    {
33
-        return cmcProjectWorkerMapper.selectCmcProjectWorkerById(id);
34
-    }
35
-
36
-    /**
37
-     * 查询cmc项目人员列表
38
-     * 
39
-     * @param cmcProjectWorker cmc项目人员
40
-     * @return cmc项目人员
41
-     */
42
-    @Override
43
-    public List<CmcProjectWorker> selectCmcProjectWorkerList(CmcProjectWorker cmcProjectWorker)
44
-    {
45
-        return cmcProjectWorkerMapper.selectCmcProjectWorkerList(cmcProjectWorker);
46
-    }
47
-
48
-    /**
49
-     * 新增cmc项目人员
50
-     * 
51
-     * @param cmcProjectWorker cmc项目人员
52
-     * @return 结果
53
-     */
54
-    @Override
55
-    public int insertCmcProjectWorker(CmcProjectWorker cmcProjectWorker)
56
-    {
57
-        return cmcProjectWorkerMapper.insertCmcProjectWorker(cmcProjectWorker);
58
-    }
59
-
60
-    /**
61
-     * 修改cmc项目人员
62
-     * 
63
-     * @param cmcProjectWorker cmc项目人员
64
-     * @return 结果
65
-     */
66
-    @Override
67
-    public int updateCmcProjectWorker(CmcProjectWorker cmcProjectWorker)
68
-    {
69
-        return cmcProjectWorkerMapper.updateCmcProjectWorker(cmcProjectWorker);
70
-    }
71
-
72
-    /**
73
-     * 批量删除cmc项目人员
74
-     * 
75
-     * @param ids 需要删除的cmc项目人员主键
76
-     * @return 结果
77
-     */
78
-    @Override
79
-    public int deleteCmcProjectWorkerByIds(String[] ids)
80
-    {
81
-        return cmcProjectWorkerMapper.deleteCmcProjectWorkerByIds(ids);
82
-    }
83
-
84
-    /**
85
-     * 删除cmc项目人员信息
86
-     * 
87
-     * @param id cmc项目人员主键
88
-     * @return 结果
89
-     */
90
-    @Override
91
-    public int deleteCmcProjectWorkerById(String id)
92
-    {
93
-        return cmcProjectWorkerMapper.deleteCmcProjectWorkerById(id);
94
-    }
95
-}

+ 48
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java Vedi File

@@ -60,6 +60,30 @@ public interface SysUserPostMapper
60 60
      */
61 61
     public List<SysUser> selectUserListByPostName(String postName);
62 62
 
63
+    /**
64
+     * 查询子公司执行董事
65
+     *
66
+     * @param
67
+     * @return 查询子公司执行董事
68
+     */
69
+    public SysUser selectSubLeaderByUserId(String userId);
70
+
71
+    /**
72
+     * 查询子公司总经理
73
+     *
74
+     * @param
75
+     * @return 查询子公司总经理
76
+     */
77
+    public SysUser selectSubGmByUserId(String userId);
78
+
79
+    /**
80
+     * 查询分公司经理
81
+     *
82
+     * @param
83
+     * @return 查询分公司经理
84
+     */
85
+    public SysUser selectBranchLeaderByUserId(String userId);
86
+
63 87
     /**
64 88
      * 查询部门主任
65 89
      *
@@ -76,6 +100,30 @@ public interface SysUserPostMapper
76 100
      */
77 101
     public SysUser selectViceDeptLeaderByUserId(String userId);
78 102
 
103
+    /**
104
+     * 查询子公司执行董事
105
+     *
106
+     * @param
107
+     * @return 查询子公司执行董事
108
+     */
109
+    public SysUser selectSubLeaderByDeptId(String userId);
110
+
111
+    /**
112
+     * 查询子公司总经理
113
+     *
114
+     * @param
115
+     * @return 查询子公司总经理
116
+     */
117
+    public SysUser selectSubGmByDeptId(String userId);
118
+
119
+    /**
120
+     * 查询分公司经理
121
+     *
122
+     * @param
123
+     * @return 查询分公司经理
124
+     */
125
+    public SysUser selectBranchLeaderByDeptId(String userId);
126
+
79 127
     /**
80 128
      * 查询部门主任
81 129
      *

+ 48
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java Vedi File

@@ -116,6 +116,30 @@ public interface ISysPostService
116 116
      */
117 117
     public List<SysUser> selectUserListByPostName(String postName);
118 118
 
119
+    /**
120
+     * 查询子公司执行董事
121
+     *
122
+     * @param
123
+     * @return 查询子公司执行董事
124
+     */
125
+    public SysUser selectSubLeaderByUserId(String userId);
126
+
127
+    /**
128
+     * 查询子公司总经理
129
+     *
130
+     * @param
131
+     * @return 查询子公司总经理
132
+     */
133
+    public SysUser selectSubGmByUserId(String userId);
134
+
135
+    /**
136
+     * 查询分公司经理
137
+     *
138
+     * @param
139
+     * @return 查询分公司经理
140
+     */
141
+    public SysUser selectBranchLeaderByUserId(String userId);
142
+
119 143
     /**
120 144
      * 查询部门主任
121 145
      *
@@ -132,6 +156,30 @@ public interface ISysPostService
132 156
      */
133 157
     public SysUser selectViceDeptLeaderByUserId(String userId);
134 158
 
159
+    /**
160
+     * 查询子公司执行董事
161
+     *
162
+     * @param
163
+     * @return 查询子公司执行董事
164
+     */
165
+    public SysUser selectSubLeaderByDeptId(String userId);
166
+
167
+    /**
168
+     * 查询子公司总经理
169
+     *
170
+     * @param
171
+     * @return 查询子公司总经理
172
+     */
173
+    public SysUser selectSubGmByDeptId(String userId);
174
+
175
+    /**
176
+     * 查询分公司经理
177
+     *
178
+     * @param
179
+     * @return 查询分公司经理
180
+     */
181
+    public SysUser selectBranchLeaderByDeptId(String userId);
182
+
135 183
     /**
136 184
      * 查询部门主任
137 185
      *

+ 66
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java Vedi File

@@ -200,6 +200,39 @@ public class SysPostServiceImpl implements ISysPostService
200 200
         return userPostMapper.selectUserListByPostName(postName);
201 201
     }
202 202
 
203
+    /**
204
+     * 查询子公司执行董事
205
+     *
206
+     * @param
207
+     * @return 查询子公司执行董事
208
+     */
209
+    @Override
210
+    public SysUser selectSubLeaderByUserId(String userId) {
211
+        return userPostMapper.selectSubLeaderByUserId(userId);
212
+    }
213
+
214
+    /**
215
+     * 查询子公司总经理
216
+     *
217
+     * @param
218
+     * @return 查询子公司总经理
219
+     */
220
+    @Override
221
+    public SysUser selectSubGmByUserId(String userId) {
222
+        return userPostMapper.selectSubGmByUserId(userId);
223
+    }
224
+
225
+    /**
226
+     * 查询分公司经理
227
+     *
228
+     * @param
229
+     * @return 查询分公司经理
230
+     */
231
+    @Override
232
+    public SysUser selectBranchLeaderByUserId(String userId) {
233
+        return userPostMapper.selectBranchLeaderByUserId(userId);
234
+    }
235
+
203 236
     /**
204 237
      * 查询部门主任
205 238
      *
@@ -222,6 +255,39 @@ public class SysPostServiceImpl implements ISysPostService
222 255
         return userPostMapper.selectViceDeptLeaderByUserId(userId);
223 256
     }
224 257
 
258
+    /**
259
+     * 查询子公司执行董事
260
+     *
261
+     * @param
262
+     * @return 查询子公司执行董事
263
+     */
264
+    @Override
265
+    public SysUser selectSubLeaderByDeptId(String deptId) {
266
+        return userPostMapper.selectSubLeaderByDeptId(deptId);
267
+    }
268
+
269
+    /**
270
+     * 查询子公司总经理
271
+     *
272
+     * @param
273
+     * @return 查询子公司总经理
274
+     */
275
+    @Override
276
+    public SysUser selectSubGmByDeptId(String userId) {
277
+        return userPostMapper.selectSubGmByDeptId(userId);
278
+    }
279
+
280
+    /**
281
+     * 查询分公司经理
282
+     *
283
+     * @param
284
+     * @return 查询分公司经理
285
+     */
286
+    @Override
287
+    public SysUser selectBranchLeaderByDeptId(String userId) {
288
+        return userPostMapper.selectBranchLeaderByDeptId(userId);
289
+    }
290
+
225 291
     /**
226 292
      * 查询部门主任
227 293
      *

+ 15
- 4
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcDeviceExpenseMapper.xml Vedi File

@@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
7 7
     <resultMap type="CmcDeviceExpense" id="CmcDeviceExpenseResult">
8 8
         <result property="deviceExpenseId"    column="device_expense_id"    />
9 9
         <result property="deviceId"    column="device_id"    />
10
+        <result property="carId"    column="car_id"    />
10 11
         <result property="userId"    column="user_id"    />
11 12
         <result property="expenseType"    column="expense_type"    />
12 13
         <result property="expense"    column="expense"    />
@@ -15,6 +16,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
15 16
         <result property="document"    column="document"    />
16 17
         <association property="user"    javaType="SysUser"         resultMap="SysUserResult" />
17 18
         <association property="device"    javaType="CmcDevice"         resultMap="CmcDeviceResult" />
19
+        <association property="car"    javaType="CmcCar"         resultMap="CmcCarResult" />
18 20
     </resultMap>
19 21
 
20 22
     <resultMap type="SysUser" id="SysUserResult">
@@ -31,16 +33,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
31 33
         <result property="brand"    column="brand"    />
32 34
     </resultMap>
33 35
 
36
+    <resultMap type="CmcCar" id="CmcCarResult">
37
+        <result property="carId"    column="car_id"    />
38
+        <result property="licensePlate"    column="license_plate"    />
39
+    </resultMap>
40
+
34 41
     <sql id="selectCmcDeviceExpenseVo">
35
-        select de.device_expense_id, de.device_id, d.device_number, d.code, d.name, d.brand, d.series, de.user_id, u.nick_name, de.expense_type, de.expense, de.occur_date, de.remark, de.document from cmc_device_expense as de
42
+        select de.device_expense_id, de.device_id, de.car_id, c.license_plate, d.device_number, d.code, d.name, d.brand, d.series, de.user_id, u.nick_name, de.expense_type, de.expense, de.occur_date, de.remark, de.document from cmc_device_expense as de
36 43
         left join sys_user as u on u.user_id = de.user_id
37 44
         left join cmc_device as d on d.device_id = de.device_id
45
+        left join cmc_car as c on c.car_id = de.car_id
38 46
     </sql>
39 47
 
40 48
     <select id="selectCmcDeviceExpenseList" parameterType="CmcDeviceExpense" resultMap="CmcDeviceExpenseResult">
41 49
         <include refid="selectCmcDeviceExpenseVo"/>
42 50
         <where>  
43 51
             <if test="deviceId != null "> and de.device_id = #{deviceId}</if>
52
+            <if test="carId != null "> and de.car_id = #{carId}</if>
44 53
             <if test="userId != null "> and de.user_id = #{userId}</if>
45 54
             <if test="expenseType != null  and expenseType != ''"> and de.expense_type = #{expenseType}</if>
46 55
             <if test="expense != null "> and de.expense = #{expense}</if>
@@ -57,8 +66,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
57 66
     <insert id="insertCmcDeviceExpense" parameterType="CmcDeviceExpense">
58 67
         insert into cmc_device_expense
59 68
         <trim prefix="(" suffix=")" suffixOverrides=",">
60
-            <if test="deviceExpenseId != null">device_expense_id,</if>
61 69
             <if test="deviceId != null">device_id,</if>
70
+            <if test="carId != null">car_id,</if>
62 71
             <if test="userId != null">user_id,</if>
63 72
             <if test="expenseType != null">expense_type,</if>
64 73
             <if test="expense != null">expense,</if>
@@ -69,6 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
69 78
         <trim prefix="values (" suffix=")" suffixOverrides=",">
70 79
             <if test="deviceExpenseId != null">#{deviceExpenseId},</if>
71 80
             <if test="deviceId != null">#{deviceId},</if>
81
+            <if test="carId != null">#{carId},</if>
72 82
             <if test="userId != null">#{userId},</if>
73 83
             <if test="expenseType != null">#{expenseType},</if>
74 84
             <if test="expense != null">#{expense},</if>
@@ -82,6 +92,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
82 92
         update cmc_device_expense
83 93
         <trim prefix="SET" suffixOverrides=",">
84 94
             <if test="deviceId != null">device_id = #{deviceId},</if>
95
+            <if test="carId != null">car_id = #{carId},</if>
85 96
             <if test="userId != null">user_id = #{userId},</if>
86 97
             <if test="expenseType != null">expense_type = #{expenseType},</if>
87 98
             <if test="expense != null">expense = #{expense},</if>
@@ -92,11 +103,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
92 103
         where device_expense_id = #{deviceExpenseId}
93 104
     </update>
94 105
 
95
-    <delete id="deleteCmcDeviceExpenseByDeviceExpenseId" parameterType="String">
106
+    <delete id="deleteCmcDeviceExpenseByDeviceExpenseId" parameterType="Integer">
96 107
         delete from cmc_device_expense where device_expense_id = #{deviceExpenseId}
97 108
     </delete>
98 109
 
99
-    <delete id="deleteCmcDeviceExpenseByDeviceExpenseIds" parameterType="String">
110
+    <delete id="deleteCmcDeviceExpenseByDeviceExpenseIds" parameterType="Integer">
100 111
         delete from cmc_device_expense where device_expense_id in 
101 112
         <foreach item="deviceExpenseId" collection="array" open="(" separator="," close=")">
102 113
             #{deviceExpenseId}

+ 2
- 3
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcDeviceHandoverMapper.xml Vedi File

@@ -83,7 +83,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
83 83
     <insert id="insertCmcDeviceHandover" parameterType="CmcDeviceHandover">
84 84
         insert into cmc_device_handover
85 85
         <trim prefix="(" suffix=")" suffixOverrides=",">
86
-            <if test="deviceHandoverId != null">device_handover_id,</if>
87 86
             <if test="deviceId != null">device_id,</if>
88 87
             <if test="handoverDeptId != null">handover_dept_id,</if>
89 88
             <if test="handoverUserId != null">handover_user_id,</if>
@@ -124,11 +123,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
124 123
         where device_handover_id = #{deviceHandoverId}
125 124
     </update>
126 125
 
127
-    <delete id="deleteCmcDeviceHandoverByDeviceHandoverId" parameterType="String">
126
+    <delete id="deleteCmcDeviceHandoverByDeviceHandoverId" parameterType="Integer">
128 127
         delete from cmc_device_handover where device_handover_id = #{deviceHandoverId}
129 128
     </delete>
130 129
 
131
-    <delete id="deleteCmcDeviceHandoverByDeviceHandoverIds" parameterType="String">
130
+    <delete id="deleteCmcDeviceHandoverByDeviceHandoverIds" parameterType="Integer">
132 131
         delete from cmc_device_handover where device_handover_id in 
133 132
         <foreach item="deviceHandoverId" collection="array" open="(" separator="," close=")">
134 133
             #{deviceHandoverId}

+ 2
- 3
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcDeviceScrapMapper.xml Vedi File

@@ -41,7 +41,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
41 41
     <insert id="insertCmcDeviceScrap" parameterType="CmcDeviceScrap">
42 42
         insert into cmc_device_scrap
43 43
         <trim prefix="(" suffix=")" suffixOverrides=",">
44
-            <if test="deviceScrapId != null">device_scrap_id,</if>
45 44
             <if test="deviceId != null">device_id,</if>
46 45
             <if test="carId != null">car_id,</if>
47 46
             <if test="cost != null">cost,</if>
@@ -79,11 +78,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
79 78
         where device_scrap_id = #{deviceScrapId}
80 79
     </update>
81 80
 
82
-    <delete id="deleteCmcDeviceScrapByDeviceScrapId" parameterType="String">
81
+    <delete id="deleteCmcDeviceScrapByDeviceScrapId" parameterType="Integer">
83 82
         delete from cmc_device_scrap where device_scrap_id = #{deviceScrapId}
84 83
     </delete>
85 84
 
86
-    <delete id="deleteCmcDeviceScrapByDeviceScrapIds" parameterType="String">
85
+    <delete id="deleteCmcDeviceScrapByDeviceScrapIds" parameterType="Integer">
87 86
         delete from cmc_device_scrap where device_scrap_id in 
88 87
         <foreach item="deviceScrapId" collection="array" open="(" separator="," close=")">
89 88
             #{deviceScrapId}

+ 0
- 76
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectWorkerMapper.xml Vedi File

@@ -1,76 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8" ?>
2
-<!DOCTYPE mapper
3
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
-<mapper namespace="com.ruoyi.oa.mapper.CmcProjectWorkerMapper">
6
-    
7
-    <resultMap type="CmcProjectWorker" id="CmcProjectWorkerResult">
8
-        <result property="id"    column="id"    />
9
-        <result property="projectId"    column="project_id"    />
10
-        <result property="inWorker"    column="in_worker"    />
11
-        <result property="outWorker"    column="out_worker"    />
12
-        <association property="project"    javaType="CmcProject"         resultMap="CmcProjectResult" />
13
-    </resultMap>
14
-
15
-    <resultMap type="CmcProject" id="CmcProjectResult">
16
-        <result property="projectId"    column="project_id"    />
17
-        <result property="projectNumber"    column="project_number"    />
18
-        <result property="projectName"    column="project_name"    />
19
-    </resultMap>
20
-
21
-    <sql id="selectCmcProjectWorkerVo">
22
-        select pw.id, pw.project_id, p.project_number, p.project_name, pw.in_worker, pw.out_worker from cmc_project_worker as pw
23
-            left join cmc_project as p on p.project_id = pw.project_id
24
-    </sql>
25
-
26
-    <select id="selectCmcProjectWorkerList" parameterType="CmcProjectWorker" resultMap="CmcProjectWorkerResult">
27
-        <include refid="selectCmcProjectWorkerVo"/>
28
-        <where>  
29
-            <if test="projectId != null  and projectId != ''"> and pw.project_id = #{projectId}</if>
30
-            <if test="inWorker != null  and inWorker != ''"> and pw.in_worker = #{inWorker}</if>
31
-            <if test="outWorker != null  and outWorker != ''"> and pw.out_worker = #{outWorker}</if>
32
-        </where>
33
-    </select>
34
-
35
-    <select id="selectCmcProjectWorkerById" parameterType="String" resultMap="CmcProjectWorkerResult">
36
-        <include refid="selectCmcProjectWorkerVo"/>
37
-        where id = #{id}
38
-    </select>
39
-
40
-    <insert id="insertCmcProjectWorker" parameterType="CmcProjectWorker">
41
-        insert into cmc_project_worker
42
-        <trim prefix="(" suffix=")" suffixOverrides=",">
43
-            <if test="id != null">id,</if>
44
-            <if test="projectId != null">project_id,</if>
45
-            <if test="inWorker != null">in_worker,</if>
46
-            <if test="outWorker != null">out_worker,</if>
47
-         </trim>
48
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
49
-            <if test="id != null">#{id},</if>
50
-            <if test="projectId != null">#{projectId},</if>
51
-            <if test="inWorker != null">#{inWorker},</if>
52
-            <if test="outWorker != null">#{outWorker},</if>
53
-         </trim>
54
-    </insert>
55
-
56
-    <update id="updateCmcProjectWorker" parameterType="CmcProjectWorker">
57
-        update cmc_project_worker
58
-        <trim prefix="SET" suffixOverrides=",">
59
-            <if test="projectId != null">project_id = #{projectId},</if>
60
-            <if test="inWorker != null">in_worker = #{inWorker},</if>
61
-            <if test="outWorker != null">out_worker = #{outWorker},</if>
62
-        </trim>
63
-        where id = #{id}
64
-    </update>
65
-
66
-    <delete id="deleteCmcProjectWorkerById" parameterType="String">
67
-        delete from cmc_project_worker where id = #{id}
68
-    </delete>
69
-
70
-    <delete id="deleteCmcProjectWorkerByIds" parameterType="String">
71
-        delete from cmc_project_worker where id in 
72
-        <foreach item="id" collection="array" open="(" separator="," close=")">
73
-            #{id}
74
-        </foreach>
75
-    </delete>
76
-</mapper>

+ 54
- 0
oa-back/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml Vedi File

@@ -94,6 +94,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
94 94
 		where p.post_name = #{param}
95 95
 	</select>
96 96
 
97
+	<select id="selectSubLeaderByUserId" parameterType="String" resultMap="SysUserResult">
98
+		select r.user_id, r.nick_name from
99
+		(select u1.user_id, u1.nick_name, u.dept_id from
100
+		sys_user as u, sys_user as u1 where u.user_id = #{param} and u1.dept_id = u.dept_id) as r
101
+		left join sys_user_post as up on r.user_id = up.user_id
102
+		left join sys_post as p on p.post_id = up.post_id
103
+		where p.post_name = '子公司执行董事'
104
+	</select>
105
+
106
+	<select id="selectSubGmByUserId" parameterType="String" resultMap="SysUserResult">
107
+		select r.user_id, r.nick_name from
108
+		(select u1.user_id, u1.nick_name, u.dept_id from
109
+		sys_user as u, sys_user as u1 where u.user_id = #{param} and u1.dept_id = u.dept_id) as r
110
+		left join sys_user_post as up on r.user_id = up.user_id
111
+		left join sys_post as p on p.post_id = up.post_id
112
+		where p.post_name = '子公司总经理'
113
+	</select>
114
+
115
+	<select id="selectBranchLeaderByUserId" parameterType="String" resultMap="SysUserResult">
116
+		select r.user_id, r.nick_name from
117
+		(select u1.user_id, u1.nick_name, u.dept_id from
118
+		sys_user as u, sys_user as u1 where u.user_id = #{param} and u1.dept_id = u.dept_id) as r
119
+		left join sys_user_post as up on r.user_id = up.user_id
120
+		left join sys_post as p on p.post_id = up.post_id
121
+		where p.post_name = '经理'
122
+	</select>
123
+
97 124
 	<select id="selectDeptLeaderByUserId" parameterType="String" resultMap="SysUserResult">
98 125
 		select r.user_id, r.nick_name from
99 126
 		(select u1.user_id, u1.nick_name, u.dept_id from
@@ -113,6 +140,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
113 140
 		order by r.user_id desc limit 1
114 141
 	</select>
115 142
 
143
+	<select id="selectSubLeaderByDeptId" parameterType="String" resultMap="SysUserResult">
144
+		select r.user_id, r.nick_name from
145
+		(select user_id, nick_name, dept_id from
146
+		sys_user where dept_id = #{param}) as r
147
+		left join sys_user_post as up on r.user_id = up.user_id
148
+		left join sys_post as p on p.post_id = up.post_id
149
+		where p.post_name = '子公司执行董事'
150
+	</select>
151
+
152
+	<select id="selectSubGmByDeptId" parameterType="String" resultMap="SysUserResult">
153
+		select r.user_id, r.nick_name from
154
+		(select user_id, nick_name, dept_id from
155
+		sys_user where dept_id = #{param}) as r
156
+		left join sys_user_post as up on r.user_id = up.user_id
157
+		left join sys_post as p on p.post_id = up.post_id
158
+		where p.post_name = '子公司总经理'
159
+	</select>
160
+
161
+	<select id="selectBranchLeaderByDeptId" parameterType="String" resultMap="SysUserResult">
162
+		select r.user_id, r.nick_name from
163
+		(select user_id, nick_name, dept_id from
164
+		sys_user where dept_id = #{param}) as r
165
+		left join sys_user_post as up on r.user_id = up.user_id
166
+		left join sys_post as p on p.post_id = up.post_id
167
+		where p.post_name = '经理'
168
+	</select>
169
+
116 170
 	<select id="selectDeptLeaderByDeptId" parameterType="String" resultMap="SysUserResult">
117 171
 		select r.user_id, r.nick_name from
118 172
 		(select user_id, nick_name, dept_id from

+ 475
- 242
oa-back/sql/sql.sql
File diff soppresso perché troppo grande
Vedi File


+ 0
- 50
oa-ui/src/api/oa/car/carExpense.js Vedi File

@@ -1,50 +0,0 @@
1
-/*
2
- * @Author: wrh
3
- * @Date: 2024-03-12 15:30:58
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-03-12 15:38:27
6
- */
7
-import request from '@/utils/request'
8
-
9
-// 查询cmc车辆费用列表
10
-export function listCarExpense(query) {
11
-  return request({
12
-    url: '/oa/carExpense/list',
13
-    method: 'get',
14
-    params: query
15
-  })
16
-}
17
-
18
-// 查询cmc车辆费用详细
19
-export function getCarExpense(carExpenseId) {
20
-  return request({
21
-    url: '/oa/carExpense/' + carExpenseId,
22
-    method: 'get'
23
-  })
24
-}
25
-
26
-// 新增cmc车辆费用
27
-export function addCarExpense(data) {
28
-  return request({
29
-    url: '/oa/carExpense',
30
-    method: 'post',
31
-    data: data
32
-  })
33
-}
34
-
35
-// 修改cmc车辆费用
36
-export function updateCarExpense(data) {
37
-  return request({
38
-    url: '/oa/carExpense',
39
-    method: 'put',
40
-    data: data
41
-  })
42
-}
43
-
44
-// 删除cmc车辆费用
45
-export function delCarExpense(carExpenseId) {
46
-  return request({
47
-    url: '/oa/carExpense/' + carExpenseId,
48
-    method: 'delete'
49
-  })
50
-}

+ 1
- 0
oa-ui/src/assets/icons/svg/delete.svg Vedi File

@@ -0,0 +1 @@
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="1718268584150" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5461" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M916.29 159.48H646.43C635.67 102.6 585.75 59.39 525.78 59.39S415.91 102.6 405.15 159.48H135.3a25 25 0 0 0 0 49.9h67.17A80.57 80.57 0 0 0 192 253.31l36 624.49a80.47 80.47 0 0 0 80.28 75.8h435a80.47 80.47 0 0 0 80.28-75.8l36-624.49a80.53 80.53 0 0 0-10.44-43.93h67.19a25 25 0 0 0 0-49.9zM773.76 874.93a30.56 30.56 0 0 1-30.48 28.77h-435a30.55 30.55 0 0 1-30.48-28.77l-36-624.5a30.54 30.54 0 0 1 30.48-32.28h506.98a30.53 30.53 0 0 1 30.48 32.28z m-248-765.64c32.26 0 59.39 21.15 69.05 50.19H456.76c9.66-29.04 36.77-50.19 69.02-50.19z" fill="#ffffff" p-id="5462"></path><path d="M374 305.45a24.93 24.93 0 0 0-25 24.94v446.23a24.95 24.95 0 1 0 49.9 0V330.39a24.93 24.93 0 0 0-24.9-24.94zM525.78 305.45a24.93 24.93 0 0 0-24.95 24.94v446.23a24.95 24.95 0 0 0 49.9 0V330.39a24.93 24.93 0 0 0-24.95-24.94zM686.9 305.45a24.93 24.93 0 0 0-24.9 24.94v446.23a24.95 24.95 0 0 0 49.9 0V330.39a24.93 24.93 0 0 0-25-24.94z" fill="#ffffff" p-id="5463"></path></svg>

+ 1
- 0
oa-ui/src/assets/icons/svg/pass.svg Vedi File

@@ -0,0 +1 @@
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="1718268777068" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6583" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M938.75 388.44L644.58 94.26c-7.5-7.49-25.47-9.77-35.24-5.67s-22.87 13.59-22.87 24.17v145.8C365.31 301.9 184.78 471.34 131.43 738c-2.42 12.11 7.31 24.25 18.63 29.15a34.58 34.58 0 0 0 12.07 2.15c8.25 0 10.38-3.91 15.42-10.95 94.77-132.67 232.17-197.57 408.91-203v145.76c0 10.59 13.1 20.13 22.87 24.18s24.38 1.82 31.88-5.67l295.86-294.18c10.22-10.23 11.91-26.79 1.67-37z m0 0" fill="#ffffff" p-id="6584"></path></svg>

+ 7
- 7
oa-ui/src/views/file/filesProject/achievement.vue Vedi File

@@ -4,7 +4,7 @@
4 4
  * @Author: ysh
5 5
  * @Date: 2022-09-08 17:16:12
6 6
  * @LastEditors: wrh
7
- * @LastEditTime: 2024-06-12 09:53:12
7
+ * @LastEditTime: 2024-06-13 22:42:16
8 8
 -->
9 9
 <template>
10 10
   <div>
@@ -31,13 +31,13 @@
31 31
     <!-- 操作栏 -->
32 32
     <el-row style="margin-bottom: 10px;">
33 33
       <el-button type="primary" size="small" icon="el-icon-plus" @click="handleAddAchievement"
34
-        v-hasPermi="['oa:archive:add']">新增成果</el-button>
34
+        v-hasPermi="['file:achievement:add']">新增成果</el-button>
35 35
       <el-button type="success" size="small" icon="el-icon-download" @click="handleExprot"
36
-        v-hasPermi="['oa:archive:export']">导出</el-button>
36
+        v-hasPermi="['file:achievement:export']">导出</el-button>
37 37
       <el-button type="warning" size="small" icon="el-icon-upload" @click="uploadAchievement"
38
-        v-hasPermi="['oa:archive:add']">上传成果表</el-button>
38
+        v-hasPermi="['file:achievement:add']">上传成果表</el-button>
39 39
       <el-button type="danger" size="small" icon="el-icon-delete" :disabled="multiple" @click="handleDeleteMany"
40
-        v-hasPermi="['oa:archive:edit']">批量删除
40
+        v-hasPermi="['file:achievement:edit']">批量删除
41 41
       </el-button>
42 42
     </el-row>
43 43
     <!-- 表格 -->
@@ -76,12 +76,12 @@
76 76
           <template #default="scope">
77 77
             <el-tooltip content="修改" placement="top">
78 78
               <el-button type="text" icon="el-icon-edit-outline" @click="handleUpdate(scope.row)"
79
-                v-hasPermi="['oa:archive:edit']">
79
+                v-hasPermi="['file:achievement:edit']">
80 80
               </el-button>
81 81
             </el-tooltip>
82 82
             <el-tooltip content="删除" placement="top">
83 83
               <el-button type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
84
-                v-hasPermi="['oa:archive:remove']">
84
+                v-hasPermi="['file:achievement:remove']">
85 85
               </el-button>
86 86
             </el-tooltip>
87 87
           </template>

+ 1
- 1
oa-ui/src/views/flowable/form/archiveForm.vue Vedi File

@@ -17,7 +17,7 @@
17 17
               }}</el-descriptions-item>
18 18
               <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
19 19
               }}</el-descriptions-item>
20
-              <el-descriptions-item label="甲方单位" label-class-name="my-label">{{ chooseProject.partyA
20
+              <el-descriptions-item label="甲方单位" label-class-name="my-label">{{ chooseProject.partyA.partyAName
21 21
               }}</el-descriptions-item>
22 22
               <el-descriptions-item label="合同编码" label-class-name="my-label">{{ contractCode
23 23
               }}</el-descriptions-item>

+ 3
- 3
oa-ui/src/views/index.vue Vedi File

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-01-03 09:23:11
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-06-03 16:18:24
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-06-13 20:05:22
6 6
 -->
7 7
 
8 8
 <template>
@@ -180,7 +180,7 @@ export default {
180 180
           icon: 'car',
181 181
           bgColor: '#eeb62f',
182 182
           boxShadow: '0 5px 20px rgba(238,182,47,0.5)',
183
-          path: '/car',
183
+          path: '/car/index',
184 184
           privilege:['oa:car:list']
185 185
         }, {
186 186
           id: 6,

+ 463
- 0
oa-ui/src/views/oa/assess/index.vue Vedi File

@@ -0,0 +1,463 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
+      <el-form-item label="用户id" prop="userId">
5
+        <el-input
6
+          v-model="queryParams.userId"
7
+          placeholder="请输入用户id"
8
+          clearable
9
+          @keyup.enter.native="handleQuery"
10
+        />
11
+      </el-form-item>
12
+      <el-form-item label="项目id" prop="projectId">
13
+        <el-input
14
+          v-model="queryParams.projectId"
15
+          placeholder="请输入项目id"
16
+          clearable
17
+          @keyup.enter.native="handleQuery"
18
+        />
19
+      </el-form-item>
20
+      <el-form-item label="考核时间" prop="assessTime">
21
+        <el-date-picker clearable
22
+          v-model="queryParams.assessTime"
23
+          type="date"
24
+          value-format="yyyy-MM-dd"
25
+          placeholder="请选择考核时间">
26
+        </el-date-picker>
27
+      </el-form-item>
28
+      <el-form-item label="部门考核等级" prop="deptAssessment">
29
+        <el-input
30
+          v-model="queryParams.deptAssessment"
31
+          placeholder="请输入部门考核等级"
32
+          clearable
33
+          @keyup.enter.native="handleQuery"
34
+        />
35
+      </el-form-item>
36
+      <el-form-item label="部门考核意见" prop="deptAdvice">
37
+        <el-input
38
+          v-model="queryParams.deptAdvice"
39
+          placeholder="请输入部门考核意见"
40
+          clearable
41
+          @keyup.enter.native="handleQuery"
42
+        />
43
+      </el-form-item>
44
+      <el-form-item label="部门考核时间" prop="deptTime">
45
+        <el-date-picker clearable
46
+          v-model="queryParams.deptTime"
47
+          type="date"
48
+          value-format="yyyy-MM-dd"
49
+          placeholder="请选择部门考核时间">
50
+        </el-date-picker>
51
+      </el-form-item>
52
+      <el-form-item label="部门考核负责人" prop="deptAssesser">
53
+        <el-input
54
+          v-model="queryParams.deptAssesser"
55
+          placeholder="请输入部门考核负责人"
56
+          clearable
57
+          @keyup.enter.native="handleQuery"
58
+        />
59
+      </el-form-item>
60
+      <el-form-item label="分管考核等级" prop="managerAssessment">
61
+        <el-input
62
+          v-model="queryParams.managerAssessment"
63
+          placeholder="请输入分管考核等级"
64
+          clearable
65
+          @keyup.enter.native="handleQuery"
66
+        />
67
+      </el-form-item>
68
+      <el-form-item label="分管考核意见" prop="managerAdvice">
69
+        <el-input
70
+          v-model="queryParams.managerAdvice"
71
+          placeholder="请输入分管考核意见"
72
+          clearable
73
+          @keyup.enter.native="handleQuery"
74
+        />
75
+      </el-form-item>
76
+      <el-form-item label="分管考核时间" prop="managerTime">
77
+        <el-date-picker clearable
78
+          v-model="queryParams.managerTime"
79
+          type="date"
80
+          value-format="yyyy-MM-dd"
81
+          placeholder="请选择分管考核时间">
82
+        </el-date-picker>
83
+      </el-form-item>
84
+      <el-form-item label="分管考核负责人" prop="managerAssesser">
85
+        <el-input
86
+          v-model="queryParams.managerAssesser"
87
+          placeholder="请输入分管考核负责人"
88
+          clearable
89
+          @keyup.enter.native="handleQuery"
90
+        />
91
+      </el-form-item>
92
+      <el-form-item label="自述" prop="selfAssess">
93
+        <el-input
94
+          v-model="queryParams.selfAssess"
95
+          placeholder="请输入自述"
96
+          clearable
97
+          @keyup.enter.native="handleQuery"
98
+        />
99
+      </el-form-item>
100
+      <el-form-item label="考核填报时间" prop="fillTime">
101
+        <el-date-picker clearable
102
+          v-model="queryParams.fillTime"
103
+          type="date"
104
+          value-format="yyyy-MM-dd"
105
+          placeholder="请选择考核填报时间">
106
+        </el-date-picker>
107
+      </el-form-item>
108
+      <el-form-item label="其他工作" prop="otherWork">
109
+        <el-input
110
+          v-model="queryParams.otherWork"
111
+          placeholder="请输入其他工作"
112
+          clearable
113
+          @keyup.enter.native="handleQuery"
114
+        />
115
+      </el-form-item>
116
+      <el-form-item>
117
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
118
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
119
+      </el-form-item>
120
+    </el-form>
121
+
122
+    <el-row :gutter="10" class="mb8">
123
+      <el-col :span="1.5">
124
+        <el-button
125
+          type="primary"
126
+          plain
127
+          icon="el-icon-plus"
128
+          size="mini"
129
+          @click="handleAdd"
130
+          v-hasPermi="['oa:assess:add']"
131
+        >新增</el-button>
132
+      </el-col>
133
+      <el-col :span="1.5">
134
+        <el-button
135
+          type="success"
136
+          plain
137
+          icon="el-icon-edit"
138
+          size="mini"
139
+          :disabled="single"
140
+          @click="handleUpdate"
141
+          v-hasPermi="['oa:assess:edit']"
142
+        >修改</el-button>
143
+      </el-col>
144
+      <el-col :span="1.5">
145
+        <el-button
146
+          type="danger"
147
+          plain
148
+          icon="el-icon-delete"
149
+          size="mini"
150
+          :disabled="multiple"
151
+          @click="handleDelete"
152
+          v-hasPermi="['oa:assess:remove']"
153
+        >删除</el-button>
154
+      </el-col>
155
+      <el-col :span="1.5">
156
+        <el-button
157
+          type="warning"
158
+          plain
159
+          icon="el-icon-download"
160
+          size="mini"
161
+          @click="handleExport"
162
+          v-hasPermi="['oa:assess:export']"
163
+        >导出</el-button>
164
+      </el-col>
165
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
166
+    </el-row>
167
+
168
+    <el-table v-loading="loading" :data="assessList" @selection-change="handleSelectionChange">
169
+      <el-table-column type="selection" width="55" align="center" />
170
+      <el-table-column label="总考核表id" align="center" prop="assessId" />
171
+      <el-table-column label="用户id" align="center" prop="userId" />
172
+      <el-table-column label="项目id" align="center" prop="projectId" />
173
+      <el-table-column label="考核时间" align="center" prop="assessTime" width="180">
174
+        <template slot-scope="scope">
175
+          <span>{{ parseTime(scope.row.assessTime, '{y}-{m}-{d}') }}</span>
176
+        </template>
177
+      </el-table-column>
178
+      <el-table-column label="部门考核等级" align="center" prop="deptAssessment" />
179
+      <el-table-column label="部门考核意见" align="center" prop="deptAdvice" />
180
+      <el-table-column label="部门考核时间" align="center" prop="deptTime" width="180">
181
+        <template slot-scope="scope">
182
+          <span>{{ parseTime(scope.row.deptTime, '{y}-{m}-{d}') }}</span>
183
+        </template>
184
+      </el-table-column>
185
+      <el-table-column label="部门考核负责人" align="center" prop="deptAssesser" />
186
+      <el-table-column label="分管考核等级" align="center" prop="managerAssessment" />
187
+      <el-table-column label="分管考核意见" align="center" prop="managerAdvice" />
188
+      <el-table-column label="分管考核时间" align="center" prop="managerTime" width="180">
189
+        <template slot-scope="scope">
190
+          <span>{{ parseTime(scope.row.managerTime, '{y}-{m}-{d}') }}</span>
191
+        </template>
192
+      </el-table-column>
193
+      <el-table-column label="分管考核负责人" align="center" prop="managerAssesser" />
194
+      <el-table-column label="自述" align="center" prop="selfAssess" />
195
+      <el-table-column label="考核填报时间" align="center" prop="fillTime" width="180">
196
+        <template slot-scope="scope">
197
+          <span>{{ parseTime(scope.row.fillTime, '{y}-{m}-{d}') }}</span>
198
+        </template>
199
+      </el-table-column>
200
+      <el-table-column label="其他工作" align="center" prop="otherWork" />
201
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
202
+        <template slot-scope="scope">
203
+          <el-button
204
+            size="mini"
205
+            type="text"
206
+            icon="el-icon-edit"
207
+            @click="handleUpdate(scope.row)"
208
+            v-hasPermi="['oa:assess:edit']"
209
+          >修改</el-button>
210
+          <el-button
211
+            size="mini"
212
+            type="text"
213
+            icon="el-icon-delete"
214
+            @click="handleDelete(scope.row)"
215
+            v-hasPermi="['oa:assess:remove']"
216
+          >删除</el-button>
217
+        </template>
218
+      </el-table-column>
219
+    </el-table>
220
+    
221
+    <pagination
222
+      v-show="total>0"
223
+      :total="total"
224
+      :page.sync="queryParams.pageNum"
225
+      :limit.sync="queryParams.pageSize"
226
+      @pagination="getList"
227
+    />
228
+
229
+    <!-- 添加或修改cmc考核对话框 -->
230
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
231
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
232
+        <el-form-item label="用户id" prop="userId">
233
+          <el-input v-model="form.userId" placeholder="请输入用户id" />
234
+        </el-form-item>
235
+        <el-form-item label="项目id" prop="projectId">
236
+          <el-input v-model="form.projectId" placeholder="请输入项目id" />
237
+        </el-form-item>
238
+        <el-form-item label="考核时间" prop="assessTime">
239
+          <el-date-picker clearable
240
+            v-model="form.assessTime"
241
+            type="date"
242
+            value-format="yyyy-MM-dd"
243
+            placeholder="请选择考核时间">
244
+          </el-date-picker>
245
+        </el-form-item>
246
+        <el-form-item label="部门考核等级" prop="deptAssessment">
247
+          <el-input v-model="form.deptAssessment" placeholder="请输入部门考核等级" />
248
+        </el-form-item>
249
+        <el-form-item label="部门考核意见" prop="deptAdvice">
250
+          <el-input v-model="form.deptAdvice" placeholder="请输入部门考核意见" />
251
+        </el-form-item>
252
+        <el-form-item label="部门考核时间" prop="deptTime">
253
+          <el-date-picker clearable
254
+            v-model="form.deptTime"
255
+            type="date"
256
+            value-format="yyyy-MM-dd"
257
+            placeholder="请选择部门考核时间">
258
+          </el-date-picker>
259
+        </el-form-item>
260
+        <el-form-item label="部门考核负责人" prop="deptAssesser">
261
+          <el-input v-model="form.deptAssesser" placeholder="请输入部门考核负责人" />
262
+        </el-form-item>
263
+        <el-form-item label="分管考核等级" prop="managerAssessment">
264
+          <el-input v-model="form.managerAssessment" placeholder="请输入分管考核等级" />
265
+        </el-form-item>
266
+        <el-form-item label="分管考核意见" prop="managerAdvice">
267
+          <el-input v-model="form.managerAdvice" placeholder="请输入分管考核意见" />
268
+        </el-form-item>
269
+        <el-form-item label="分管考核时间" prop="managerTime">
270
+          <el-date-picker clearable
271
+            v-model="form.managerTime"
272
+            type="date"
273
+            value-format="yyyy-MM-dd"
274
+            placeholder="请选择分管考核时间">
275
+          </el-date-picker>
276
+        </el-form-item>
277
+        <el-form-item label="分管考核负责人" prop="managerAssesser">
278
+          <el-input v-model="form.managerAssesser" placeholder="请输入分管考核负责人" />
279
+        </el-form-item>
280
+        <el-form-item label="自述" prop="selfAssess">
281
+          <el-input v-model="form.selfAssess" placeholder="请输入自述" />
282
+        </el-form-item>
283
+        <el-form-item label="考核填报时间" prop="fillTime">
284
+          <el-date-picker clearable
285
+            v-model="form.fillTime"
286
+            type="date"
287
+            value-format="yyyy-MM-dd"
288
+            placeholder="请选择考核填报时间">
289
+          </el-date-picker>
290
+        </el-form-item>
291
+        <el-form-item label="其他工作" prop="otherWork">
292
+          <el-input v-model="form.otherWork" placeholder="请输入其他工作" />
293
+        </el-form-item>
294
+      </el-form>
295
+      <div slot="footer" class="dialog-footer">
296
+        <el-button type="primary" @click="submitForm">确 定</el-button>
297
+        <el-button @click="cancel">取 消</el-button>
298
+      </div>
299
+    </el-dialog>
300
+  </div>
301
+</template>
302
+
303
+<script>
304
+import { listAssess, getAssess, delAssess, addAssess, updateAssess } from "@/api/oa/assess/assess";
305
+
306
+export default {
307
+  name: "Assess",
308
+  data() {
309
+    return {
310
+      // 遮罩层
311
+      loading: true,
312
+      // 选中数组
313
+      ids: [],
314
+      // 非单个禁用
315
+      single: true,
316
+      // 非多个禁用
317
+      multiple: true,
318
+      // 显示搜索条件
319
+      showSearch: true,
320
+      // 总条数
321
+      total: 0,
322
+      // cmc考核表格数据
323
+      assessList: [],
324
+      // 弹出层标题
325
+      title: "",
326
+      // 是否显示弹出层
327
+      open: false,
328
+      // 查询参数
329
+      queryParams: {
330
+        pageNum: 1,
331
+        pageSize: 10,
332
+        userId: null,
333
+        projectId: null,
334
+        assessTime: null,
335
+        deptAssessment: null,
336
+        deptAdvice: null,
337
+        deptTime: null,
338
+        deptAssesser: null,
339
+        managerAssessment: null,
340
+        managerAdvice: null,
341
+        managerTime: null,
342
+        managerAssesser: null,
343
+        selfAssess: null,
344
+        fillTime: null,
345
+        otherWork: null
346
+      },
347
+      // 表单参数
348
+      form: {},
349
+      // 表单校验
350
+      rules: {
351
+      }
352
+    };
353
+  },
354
+  created() {
355
+    this.getList();
356
+  },
357
+  methods: {
358
+    /** 查询cmc考核列表 */
359
+    getList() {
360
+      this.loading = true;
361
+      listAssess(this.queryParams).then(response => {
362
+        this.assessList = response.rows;
363
+        this.total = response.total;
364
+        this.loading = false;
365
+      });
366
+    },
367
+    // 取消按钮
368
+    cancel() {
369
+      this.open = false;
370
+      this.reset();
371
+    },
372
+    // 表单重置
373
+    reset() {
374
+      this.form = {
375
+        assessId: null,
376
+        userId: null,
377
+        projectId: null,
378
+        assessTime: null,
379
+        deptAssessment: null,
380
+        deptAdvice: null,
381
+        deptTime: null,
382
+        deptAssesser: null,
383
+        managerAssessment: null,
384
+        managerAdvice: null,
385
+        managerTime: null,
386
+        managerAssesser: null,
387
+        selfAssess: null,
388
+        fillTime: null,
389
+        otherWork: null
390
+      };
391
+      this.resetForm("form");
392
+    },
393
+    /** 搜索按钮操作 */
394
+    handleQuery() {
395
+      this.queryParams.pageNum = 1;
396
+      this.getList();
397
+    },
398
+    /** 重置按钮操作 */
399
+    resetQuery() {
400
+      this.resetForm("queryForm");
401
+      this.handleQuery();
402
+    },
403
+    // 多选框选中数据
404
+    handleSelectionChange(selection) {
405
+      this.ids = selection.map(item => item.assessId)
406
+      this.single = selection.length!==1
407
+      this.multiple = !selection.length
408
+    },
409
+    /** 新增按钮操作 */
410
+    handleAdd() {
411
+      this.reset();
412
+      this.open = true;
413
+      this.title = "添加cmc考核";
414
+    },
415
+    /** 修改按钮操作 */
416
+    handleUpdate(row) {
417
+      this.reset();
418
+      const assessId = row.assessId || this.ids
419
+      getAssess(assessId).then(response => {
420
+        this.form = response.data;
421
+        this.open = true;
422
+        this.title = "修改cmc考核";
423
+      });
424
+    },
425
+    /** 提交按钮 */
426
+    submitForm() {
427
+      this.$refs["form"].validate(valid => {
428
+        if (valid) {
429
+          if (this.form.assessId != null) {
430
+            updateAssess(this.form).then(response => {
431
+              this.$modal.msgSuccess("修改成功");
432
+              this.open = false;
433
+              this.getList();
434
+            });
435
+          } else {
436
+            addAssess(this.form).then(response => {
437
+              this.$modal.msgSuccess("新增成功");
438
+              this.open = false;
439
+              this.getList();
440
+            });
441
+          }
442
+        }
443
+      });
444
+    },
445
+    /** 删除按钮操作 */
446
+    handleDelete(row) {
447
+      const assessIds = row.assessId || this.ids;
448
+      this.$modal.confirm('是否确认删除cmc考核编号为"' + assessIds + '"的数据项?').then(function() {
449
+        return delAssess(assessIds);
450
+      }).then(() => {
451
+        this.getList();
452
+        this.$modal.msgSuccess("删除成功");
453
+      }).catch(() => {});
454
+    },
455
+    /** 导出按钮操作 */
456
+    handleExport() {
457
+      this.download('oa/assess/export', {
458
+        ...this.queryParams
459
+      }, `assess_${new Date().getTime()}.xlsx`)
460
+    }
461
+  }
462
+};
463
+</script>

+ 512
- 0
oa-ui/src/views/oa/budget/index.vue Vedi File

@@ -0,0 +1,512 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
+      <el-form-item label="项目id" prop="projectId">
5
+        <el-input
6
+          v-model="queryParams.projectId"
7
+          placeholder="请输入项目id"
8
+          clearable
9
+          @keyup.enter.native="handleQuery"
10
+        />
11
+      </el-form-item>
12
+      <el-form-item label="人员成本" prop="staffCost">
13
+        <el-input
14
+          v-model="queryParams.staffCost"
15
+          placeholder="请输入人员成本"
16
+          clearable
17
+          @keyup.enter.native="handleQuery"
18
+        />
19
+      </el-form-item>
20
+      <el-form-item label="车辆成本" prop="carCost">
21
+        <el-input
22
+          v-model="queryParams.carCost"
23
+          placeholder="请输入车辆成本"
24
+          clearable
25
+          @keyup.enter.native="handleQuery"
26
+        />
27
+      </el-form-item>
28
+      <el-form-item label="设备成本" prop="deviceCost">
29
+        <el-input
30
+          v-model="queryParams.deviceCost"
31
+          placeholder="请输入设备成本"
32
+          clearable
33
+          @keyup.enter.native="handleQuery"
34
+        />
35
+      </el-form-item>
36
+      <el-form-item label="固定成本" prop="fixCost">
37
+        <el-input
38
+          v-model="queryParams.fixCost"
39
+          placeholder="请输入固定成本"
40
+          clearable
41
+          @keyup.enter.native="handleQuery"
42
+        />
43
+      </el-form-item>
44
+      <el-form-item label="预结算额" prop="settleExpense">
45
+        <el-input
46
+          v-model="queryParams.settleExpense"
47
+          placeholder="请输入预结算额"
48
+          clearable
49
+          @keyup.enter.native="handleQuery"
50
+        />
51
+      </el-form-item>
52
+      <el-form-item label="外协费用" prop="outExpense">
53
+        <el-input
54
+          v-model="queryParams.outExpense"
55
+          placeholder="请输入外协费用"
56
+          clearable
57
+          @keyup.enter.native="handleQuery"
58
+        />
59
+      </el-form-item>
60
+      <el-form-item label="经营费用" prop="businessExpense">
61
+        <el-input
62
+          v-model="queryParams.businessExpense"
63
+          placeholder="请输入经营费用"
64
+          clearable
65
+          @keyup.enter.native="handleQuery"
66
+        />
67
+      </el-form-item>
68
+      <el-form-item label="税费成本" prop="taxExpense">
69
+        <el-input
70
+          v-model="queryParams.taxExpense"
71
+          placeholder="请输入税费成本"
72
+          clearable
73
+          @keyup.enter.native="handleQuery"
74
+        />
75
+      </el-form-item>
76
+      <el-form-item label="车船租赁" prop="rentExpense">
77
+        <el-input
78
+          v-model="queryParams.rentExpense"
79
+          placeholder="请输入车船租赁"
80
+          clearable
81
+          @keyup.enter.native="handleQuery"
82
+        />
83
+      </el-form-item>
84
+      <el-form-item label="其他费用" prop="otherExpense">
85
+        <el-input
86
+          v-model="queryParams.otherExpense"
87
+          placeholder="请输入其他费用"
88
+          clearable
89
+          @keyup.enter.native="handleQuery"
90
+        />
91
+      </el-form-item>
92
+      <el-form-item label="外协费用备注" prop="outRemark">
93
+        <el-input
94
+          v-model="queryParams.outRemark"
95
+          placeholder="请输入外协费用备注"
96
+          clearable
97
+          @keyup.enter.native="handleQuery"
98
+        />
99
+      </el-form-item>
100
+      <el-form-item label="经营管理备注" prop="businessRemark">
101
+        <el-input
102
+          v-model="queryParams.businessRemark"
103
+          placeholder="请输入经营管理备注"
104
+          clearable
105
+          @keyup.enter.native="handleQuery"
106
+        />
107
+      </el-form-item>
108
+      <el-form-item label="税费成本备注" prop="taxRemark">
109
+        <el-input
110
+          v-model="queryParams.taxRemark"
111
+          placeholder="请输入税费成本备注"
112
+          clearable
113
+          @keyup.enter.native="handleQuery"
114
+        />
115
+      </el-form-item>
116
+      <el-form-item label="车船租赁备注" prop="rentRemark">
117
+        <el-input
118
+          v-model="queryParams.rentRemark"
119
+          placeholder="请输入车船租赁备注"
120
+          clearable
121
+          @keyup.enter.native="handleQuery"
122
+        />
123
+      </el-form-item>
124
+      <el-form-item label="其他费用备注" prop="otherRemark">
125
+        <el-input
126
+          v-model="queryParams.otherRemark"
127
+          placeholder="请输入其他费用备注"
128
+          clearable
129
+          @keyup.enter.native="handleQuery"
130
+        />
131
+      </el-form-item>
132
+      <el-form-item label="直接成本" prop="directExpense">
133
+        <el-input
134
+          v-model="queryParams.directExpense"
135
+          placeholder="请输入直接成本"
136
+          clearable
137
+          @keyup.enter.native="handleQuery"
138
+        />
139
+      </el-form-item>
140
+      <el-form-item label="预算总额" prop="totalBudget">
141
+        <el-input
142
+          v-model="queryParams.totalBudget"
143
+          placeholder="请输入预算总额"
144
+          clearable
145
+          @keyup.enter.native="handleQuery"
146
+        />
147
+      </el-form-item>
148
+      <el-form-item label="编制人" prop="compiler">
149
+        <el-input
150
+          v-model="queryParams.compiler"
151
+          placeholder="请输入编制人"
152
+          clearable
153
+          @keyup.enter.native="handleQuery"
154
+        />
155
+      </el-form-item>
156
+      <el-form-item label="审核人" prop="auditor">
157
+        <el-input
158
+          v-model="queryParams.auditor"
159
+          placeholder="请输入审核人"
160
+          clearable
161
+          @keyup.enter.native="handleQuery"
162
+        />
163
+      </el-form-item>
164
+      <el-form-item>
165
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
166
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
167
+      </el-form-item>
168
+    </el-form>
169
+
170
+    <el-row :gutter="10" class="mb8">
171
+      <el-col :span="1.5">
172
+        <el-button
173
+          type="primary"
174
+          plain
175
+          icon="el-icon-plus"
176
+          size="mini"
177
+          @click="handleAdd"
178
+          v-hasPermi="['oa:budget:add']"
179
+        >新增</el-button>
180
+      </el-col>
181
+      <el-col :span="1.5">
182
+        <el-button
183
+          type="success"
184
+          plain
185
+          icon="el-icon-edit"
186
+          size="mini"
187
+          :disabled="single"
188
+          @click="handleUpdate"
189
+          v-hasPermi="['oa:budget:edit']"
190
+        >修改</el-button>
191
+      </el-col>
192
+      <el-col :span="1.5">
193
+        <el-button
194
+          type="danger"
195
+          plain
196
+          icon="el-icon-delete"
197
+          size="mini"
198
+          :disabled="multiple"
199
+          @click="handleDelete"
200
+          v-hasPermi="['oa:budget:remove']"
201
+        >删除</el-button>
202
+      </el-col>
203
+      <el-col :span="1.5">
204
+        <el-button
205
+          type="warning"
206
+          plain
207
+          icon="el-icon-download"
208
+          size="mini"
209
+          @click="handleExport"
210
+          v-hasPermi="['oa:budget:export']"
211
+        >导出</el-button>
212
+      </el-col>
213
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
214
+    </el-row>
215
+
216
+    <el-table v-loading="loading" :data="budgetList" @selection-change="handleSelectionChange">
217
+      <el-table-column type="selection" width="55" align="center" />
218
+      <el-table-column label="预算id" align="center" prop="budgetId" />
219
+      <el-table-column label="项目id" align="center" prop="projectId" />
220
+      <el-table-column label="人员成本" align="center" prop="staffCost" />
221
+      <el-table-column label="车辆成本" align="center" prop="carCost" />
222
+      <el-table-column label="设备成本" align="center" prop="deviceCost" />
223
+      <el-table-column label="固定成本" align="center" prop="fixCost" />
224
+      <el-table-column label="预结算额" align="center" prop="settleExpense" />
225
+      <el-table-column label="外协费用" align="center" prop="outExpense" />
226
+      <el-table-column label="经营费用" align="center" prop="businessExpense" />
227
+      <el-table-column label="税费成本" align="center" prop="taxExpense" />
228
+      <el-table-column label="车船租赁" align="center" prop="rentExpense" />
229
+      <el-table-column label="其他费用" align="center" prop="otherExpense" />
230
+      <el-table-column label="外协费用备注" align="center" prop="outRemark" />
231
+      <el-table-column label="经营管理备注" align="center" prop="businessRemark" />
232
+      <el-table-column label="税费成本备注" align="center" prop="taxRemark" />
233
+      <el-table-column label="车船租赁备注" align="center" prop="rentRemark" />
234
+      <el-table-column label="其他费用备注" align="center" prop="otherRemark" />
235
+      <el-table-column label="直接成本" align="center" prop="directExpense" />
236
+      <el-table-column label="预算总额" align="center" prop="totalBudget" />
237
+      <el-table-column label="编制人" align="center" prop="compiler" />
238
+      <el-table-column label="审核人" align="center" prop="auditor" />
239
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
240
+        <template slot-scope="scope">
241
+          <el-button
242
+            size="mini"
243
+            type="text"
244
+            icon="el-icon-edit"
245
+            @click="handleUpdate(scope.row)"
246
+            v-hasPermi="['oa:budget:edit']"
247
+          >修改</el-button>
248
+          <el-button
249
+            size="mini"
250
+            type="text"
251
+            icon="el-icon-delete"
252
+            @click="handleDelete(scope.row)"
253
+            v-hasPermi="['oa:budget:remove']"
254
+          >删除</el-button>
255
+        </template>
256
+      </el-table-column>
257
+    </el-table>
258
+    
259
+    <pagination
260
+      v-show="total>0"
261
+      :total="total"
262
+      :page.sync="queryParams.pageNum"
263
+      :limit.sync="queryParams.pageSize"
264
+      @pagination="getList"
265
+    />
266
+
267
+    <!-- 添加或修改cmc预算管理对话框 -->
268
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
269
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
270
+        <el-form-item label="项目id" prop="projectId">
271
+          <el-input v-model="form.projectId" placeholder="请输入项目id" />
272
+        </el-form-item>
273
+        <el-form-item label="人员成本" prop="staffCost">
274
+          <el-input v-model="form.staffCost" placeholder="请输入人员成本" />
275
+        </el-form-item>
276
+        <el-form-item label="车辆成本" prop="carCost">
277
+          <el-input v-model="form.carCost" placeholder="请输入车辆成本" />
278
+        </el-form-item>
279
+        <el-form-item label="设备成本" prop="deviceCost">
280
+          <el-input v-model="form.deviceCost" placeholder="请输入设备成本" />
281
+        </el-form-item>
282
+        <el-form-item label="固定成本" prop="fixCost">
283
+          <el-input v-model="form.fixCost" placeholder="请输入固定成本" />
284
+        </el-form-item>
285
+        <el-form-item label="预结算额" prop="settleExpense">
286
+          <el-input v-model="form.settleExpense" placeholder="请输入预结算额" />
287
+        </el-form-item>
288
+        <el-form-item label="外协费用" prop="outExpense">
289
+          <el-input v-model="form.outExpense" placeholder="请输入外协费用" />
290
+        </el-form-item>
291
+        <el-form-item label="经营费用" prop="businessExpense">
292
+          <el-input v-model="form.businessExpense" placeholder="请输入经营费用" />
293
+        </el-form-item>
294
+        <el-form-item label="税费成本" prop="taxExpense">
295
+          <el-input v-model="form.taxExpense" placeholder="请输入税费成本" />
296
+        </el-form-item>
297
+        <el-form-item label="车船租赁" prop="rentExpense">
298
+          <el-input v-model="form.rentExpense" placeholder="请输入车船租赁" />
299
+        </el-form-item>
300
+        <el-form-item label="其他费用" prop="otherExpense">
301
+          <el-input v-model="form.otherExpense" placeholder="请输入其他费用" />
302
+        </el-form-item>
303
+        <el-form-item label="外协费用备注" prop="outRemark">
304
+          <el-input v-model="form.outRemark" placeholder="请输入外协费用备注" />
305
+        </el-form-item>
306
+        <el-form-item label="经营管理备注" prop="businessRemark">
307
+          <el-input v-model="form.businessRemark" placeholder="请输入经营管理备注" />
308
+        </el-form-item>
309
+        <el-form-item label="税费成本备注" prop="taxRemark">
310
+          <el-input v-model="form.taxRemark" placeholder="请输入税费成本备注" />
311
+        </el-form-item>
312
+        <el-form-item label="车船租赁备注" prop="rentRemark">
313
+          <el-input v-model="form.rentRemark" placeholder="请输入车船租赁备注" />
314
+        </el-form-item>
315
+        <el-form-item label="其他费用备注" prop="otherRemark">
316
+          <el-input v-model="form.otherRemark" placeholder="请输入其他费用备注" />
317
+        </el-form-item>
318
+        <el-form-item label="直接成本" prop="directExpense">
319
+          <el-input v-model="form.directExpense" placeholder="请输入直接成本" />
320
+        </el-form-item>
321
+        <el-form-item label="预算总额" prop="totalBudget">
322
+          <el-input v-model="form.totalBudget" placeholder="请输入预算总额" />
323
+        </el-form-item>
324
+        <el-form-item label="编制人" prop="compiler">
325
+          <el-input v-model="form.compiler" placeholder="请输入编制人" />
326
+        </el-form-item>
327
+        <el-form-item label="审核人" prop="auditor">
328
+          <el-input v-model="form.auditor" placeholder="请输入审核人" />
329
+        </el-form-item>
330
+      </el-form>
331
+      <div slot="footer" class="dialog-footer">
332
+        <el-button type="primary" @click="submitForm">确 定</el-button>
333
+        <el-button @click="cancel">取 消</el-button>
334
+      </div>
335
+    </el-dialog>
336
+  </div>
337
+</template>
338
+
339
+<script>
340
+import { listBudget, getBudget, delBudget, addBudget, updateBudget } from "@/api/oa/budget/budget";
341
+
342
+export default {
343
+  name: "Budget",
344
+  data() {
345
+    return {
346
+      // 遮罩层
347
+      loading: true,
348
+      // 选中数组
349
+      ids: [],
350
+      // 非单个禁用
351
+      single: true,
352
+      // 非多个禁用
353
+      multiple: true,
354
+      // 显示搜索条件
355
+      showSearch: true,
356
+      // 总条数
357
+      total: 0,
358
+      // cmc预算管理表格数据
359
+      budgetList: [],
360
+      // 弹出层标题
361
+      title: "",
362
+      // 是否显示弹出层
363
+      open: false,
364
+      // 查询参数
365
+      queryParams: {
366
+        pageNum: 1,
367
+        pageSize: 10,
368
+        projectId: null,
369
+        staffCost: null,
370
+        carCost: null,
371
+        deviceCost: null,
372
+        fixCost: null,
373
+        settleExpense: null,
374
+        outExpense: null,
375
+        businessExpense: null,
376
+        taxExpense: null,
377
+        rentExpense: null,
378
+        otherExpense: null,
379
+        outRemark: null,
380
+        businessRemark: null,
381
+        taxRemark: null,
382
+        rentRemark: null,
383
+        otherRemark: null,
384
+        directExpense: null,
385
+        totalBudget: null,
386
+        compiler: null,
387
+        auditor: null,
388
+      },
389
+      // 表单参数
390
+      form: {},
391
+      // 表单校验
392
+      rules: {
393
+      }
394
+    };
395
+  },
396
+  created() {
397
+    this.getList();
398
+  },
399
+  methods: {
400
+    /** 查询cmc预算管理列表 */
401
+    getList() {
402
+      this.loading = true;
403
+      listBudget(this.queryParams).then(response => {
404
+        this.budgetList = response.rows;
405
+        this.total = response.total;
406
+        this.loading = false;
407
+      });
408
+    },
409
+    // 取消按钮
410
+    cancel() {
411
+      this.open = false;
412
+      this.reset();
413
+    },
414
+    // 表单重置
415
+    reset() {
416
+      this.form = {
417
+        budgetId: null,
418
+        projectId: null,
419
+        staffCost: null,
420
+        carCost: null,
421
+        deviceCost: null,
422
+        fixCost: null,
423
+        settleExpense: null,
424
+        outExpense: null,
425
+        businessExpense: null,
426
+        taxExpense: null,
427
+        rentExpense: null,
428
+        otherExpense: null,
429
+        outRemark: null,
430
+        businessRemark: null,
431
+        taxRemark: null,
432
+        rentRemark: null,
433
+        otherRemark: null,
434
+        directExpense: null,
435
+        totalBudget: null,
436
+        compiler: null,
437
+        auditor: null,
438
+        createTime: null
439
+      };
440
+      this.resetForm("form");
441
+    },
442
+    /** 搜索按钮操作 */
443
+    handleQuery() {
444
+      this.queryParams.pageNum = 1;
445
+      this.getList();
446
+    },
447
+    /** 重置按钮操作 */
448
+    resetQuery() {
449
+      this.resetForm("queryForm");
450
+      this.handleQuery();
451
+    },
452
+    // 多选框选中数据
453
+    handleSelectionChange(selection) {
454
+      this.ids = selection.map(item => item.budgetId)
455
+      this.single = selection.length!==1
456
+      this.multiple = !selection.length
457
+    },
458
+    /** 新增按钮操作 */
459
+    handleAdd() {
460
+      this.reset();
461
+      this.open = true;
462
+      this.title = "添加cmc预算管理";
463
+    },
464
+    /** 修改按钮操作 */
465
+    handleUpdate(row) {
466
+      this.reset();
467
+      const budgetId = row.budgetId || this.ids
468
+      getBudget(budgetId).then(response => {
469
+        this.form = response.data;
470
+        this.open = true;
471
+        this.title = "修改cmc预算管理";
472
+      });
473
+    },
474
+    /** 提交按钮 */
475
+    submitForm() {
476
+      this.$refs["form"].validate(valid => {
477
+        if (valid) {
478
+          if (this.form.budgetId != null) {
479
+            updateBudget(this.form).then(response => {
480
+              this.$modal.msgSuccess("修改成功");
481
+              this.open = false;
482
+              this.getList();
483
+            });
484
+          } else {
485
+            addBudget(this.form).then(response => {
486
+              this.$modal.msgSuccess("新增成功");
487
+              this.open = false;
488
+              this.getList();
489
+            });
490
+          }
491
+        }
492
+      });
493
+    },
494
+    /** 删除按钮操作 */
495
+    handleDelete(row) {
496
+      const budgetIds = row.budgetId || this.ids;
497
+      this.$modal.confirm('是否确认删除cmc预算管理编号为"' + budgetIds + '"的数据项?').then(function() {
498
+        return delBudget(budgetIds);
499
+      }).then(() => {
500
+        this.getList();
501
+        this.$modal.msgSuccess("删除成功");
502
+      }).catch(() => {});
503
+    },
504
+    /** 导出按钮操作 */
505
+    handleExport() {
506
+      this.download('oa/budget/export', {
507
+        ...this.queryParams
508
+      }, `budget_${new Date().getTime()}.xlsx`)
509
+    }
510
+  }
511
+};
512
+</script>

+ 645
- 0
oa-ui/src/views/oa/car/approval.vue Vedi File

@@ -0,0 +1,645 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
+      <el-form-item label="申请人" prop="applier">
5
+        <el-input
6
+          v-model="queryParams.applier"
7
+          placeholder="请输入申请人"
8
+          clearable
9
+          @keyup.enter.native="handleQuery"
10
+        />
11
+      </el-form-item>
12
+      <el-form-item label="使用部门" prop="useDept">
13
+        <el-input
14
+          v-model="queryParams.useDept"
15
+          placeholder="请输入使用部门"
16
+          clearable
17
+          @keyup.enter.native="handleQuery"
18
+        />
19
+      </el-form-item>
20
+      <el-form-item label="车辆id" prop="cars">
21
+        <el-input
22
+          v-model="queryParams.cars"
23
+          placeholder="请输入车辆id"
24
+          clearable
25
+          @keyup.enter.native="handleQuery"
26
+        />
27
+      </el-form-item>
28
+      <el-form-item label="驾驶员id" prop="drivers">
29
+        <el-input
30
+          v-model="queryParams.drivers"
31
+          placeholder="请输入驾驶员id"
32
+          clearable
33
+          @keyup.enter.native="handleQuery"
34
+        />
35
+      </el-form-item>
36
+      <el-form-item label="项目id" prop="projectId">
37
+        <el-input
38
+          v-model="queryParams.projectId"
39
+          placeholder="请输入项目id"
40
+          clearable
41
+          @keyup.enter.native="handleQuery"
42
+        />
43
+      </el-form-item>
44
+      <el-form-item label="申请用途" prop="carUsage">
45
+        <el-input
46
+          v-model="queryParams.carUsage"
47
+          placeholder="请输入申请用途"
48
+          clearable
49
+          @keyup.enter.native="handleQuery"
50
+        />
51
+      </el-form-item>
52
+      <el-form-item label="用车事由" prop="applyReason">
53
+        <el-input
54
+          v-model="queryParams.applyReason"
55
+          placeholder="请输入用车事由"
56
+          clearable
57
+          @keyup.enter.native="handleQuery"
58
+        />
59
+      </el-form-item>
60
+      <el-form-item label="人数" prop="passengers">
61
+        <el-input
62
+          v-model="queryParams.passengers"
63
+          placeholder="请输入人数"
64
+          clearable
65
+          @keyup.enter.native="handleQuery"
66
+        />
67
+      </el-form-item>
68
+      <el-form-item label="开始日期" prop="beginDate">
69
+        <el-date-picker clearable
70
+          v-model="queryParams.beginDate"
71
+          type="date"
72
+          value-format="yyyy-MM-dd"
73
+          placeholder="请选择开始日期">
74
+        </el-date-picker>
75
+      </el-form-item>
76
+      <el-form-item label="结束日期" prop="endDate">
77
+        <el-date-picker clearable
78
+          v-model="queryParams.endDate"
79
+          type="date"
80
+          value-format="yyyy-MM-dd"
81
+          placeholder="请选择结束日期">
82
+        </el-date-picker>
83
+      </el-form-item>
84
+      <el-form-item label="天数" prop="days">
85
+        <el-input
86
+          v-model="queryParams.days"
87
+          placeholder="请输入天数"
88
+          clearable
89
+          @keyup.enter.native="handleQuery"
90
+        />
91
+      </el-form-item>
92
+      <el-form-item label="部门审批人" prop="deptUserId">
93
+        <el-input
94
+          v-model="queryParams.deptUserId"
95
+          placeholder="请输入部门审批人"
96
+          clearable
97
+          @keyup.enter.native="handleQuery"
98
+        />
99
+      </el-form-item>
100
+      <el-form-item label="部门审批意见" prop="deptComment">
101
+        <el-input
102
+          v-model="queryParams.deptComment"
103
+          placeholder="请输入部门审批意见"
104
+          clearable
105
+          @keyup.enter.native="handleQuery"
106
+        />
107
+      </el-form-item>
108
+      <el-form-item label="部门审批时间" prop="deptTime">
109
+        <el-date-picker clearable
110
+          v-model="queryParams.deptTime"
111
+          type="date"
112
+          value-format="yyyy-MM-dd"
113
+          placeholder="请选择部门审批时间">
114
+        </el-date-picker>
115
+      </el-form-item>
116
+      <el-form-item label="分管审批人" prop="managerUserId">
117
+        <el-input
118
+          v-model="queryParams.managerUserId"
119
+          placeholder="请输入分管审批人"
120
+          clearable
121
+          @keyup.enter.native="handleQuery"
122
+        />
123
+      </el-form-item>
124
+      <el-form-item label="分管审批意见" prop="managerComment">
125
+        <el-input
126
+          v-model="queryParams.managerComment"
127
+          placeholder="请输入分管审批意见"
128
+          clearable
129
+          @keyup.enter.native="handleQuery"
130
+        />
131
+      </el-form-item>
132
+      <el-form-item label="分管审批时间" prop="managerTime">
133
+        <el-date-picker clearable
134
+          v-model="queryParams.managerTime"
135
+          type="date"
136
+          value-format="yyyy-MM-dd"
137
+          placeholder="请选择分管审批时间">
138
+        </el-date-picker>
139
+      </el-form-item>
140
+      <el-form-item label="工会审批人" prop="unionUserId">
141
+        <el-input
142
+          v-model="queryParams.unionUserId"
143
+          placeholder="请输入工会审批人"
144
+          clearable
145
+          @keyup.enter.native="handleQuery"
146
+        />
147
+      </el-form-item>
148
+      <el-form-item label="工会审批意见" prop="unionComment">
149
+        <el-input
150
+          v-model="queryParams.unionComment"
151
+          placeholder="请输入工会审批意见"
152
+          clearable
153
+          @keyup.enter.native="handleQuery"
154
+        />
155
+      </el-form-item>
156
+      <el-form-item label="工会审批时间" prop="unionTime">
157
+        <el-date-picker clearable
158
+          v-model="queryParams.unionTime"
159
+          type="date"
160
+          value-format="yyyy-MM-dd"
161
+          placeholder="请选择工会审批时间">
162
+        </el-date-picker>
163
+      </el-form-item>
164
+      <el-form-item label="总经理审批人" prop="gmUserId">
165
+        <el-input
166
+          v-model="queryParams.gmUserId"
167
+          placeholder="请输入总经理审批人"
168
+          clearable
169
+          @keyup.enter.native="handleQuery"
170
+        />
171
+      </el-form-item>
172
+      <el-form-item label="总经理审批意见" prop="gmComment">
173
+        <el-input
174
+          v-model="queryParams.gmComment"
175
+          placeholder="请输入总经理审批意见"
176
+          clearable
177
+          @keyup.enter.native="handleQuery"
178
+        />
179
+      </el-form-item>
180
+      <el-form-item label="总经理审批时间" prop="gmTime">
181
+        <el-date-picker clearable
182
+          v-model="queryParams.gmTime"
183
+          type="date"
184
+          value-format="yyyy-MM-dd"
185
+          placeholder="请选择总经理审批时间">
186
+        </el-date-picker>
187
+      </el-form-item>
188
+      <el-form-item label="派车人" prop="dispatcher">
189
+        <el-input
190
+          v-model="queryParams.dispatcher"
191
+          placeholder="请输入派车人"
192
+          clearable
193
+          @keyup.enter.native="handleQuery"
194
+        />
195
+      </el-form-item>
196
+      <el-form-item label="派车审批意见" prop="dispatchComment">
197
+        <el-input
198
+          v-model="queryParams.dispatchComment"
199
+          placeholder="请输入派车审批意见"
200
+          clearable
201
+          @keyup.enter.native="handleQuery"
202
+        />
203
+      </el-form-item>
204
+      <el-form-item label="派车审批时间" prop="dispatchTime">
205
+        <el-date-picker clearable
206
+          v-model="queryParams.dispatchTime"
207
+          type="date"
208
+          value-format="yyyy-MM-dd"
209
+          placeholder="请选择派车审批时间">
210
+        </el-date-picker>
211
+      </el-form-item>
212
+      <el-form-item label="预计用车成本" prop="estimateCost">
213
+        <el-input
214
+          v-model="queryParams.estimateCost"
215
+          placeholder="请输入预计用车成本"
216
+          clearable
217
+          @keyup.enter.native="handleQuery"
218
+        />
219
+      </el-form-item>
220
+      <el-form-item label="申请日期" prop="applyDate">
221
+        <el-date-picker clearable
222
+          v-model="queryParams.applyDate"
223
+          type="date"
224
+          value-format="yyyy-MM-dd"
225
+          placeholder="请选择申请日期">
226
+        </el-date-picker>
227
+      </el-form-item>
228
+      <el-form-item>
229
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
230
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
231
+      </el-form-item>
232
+    </el-form>
233
+
234
+    <el-row :gutter="10" class="mb8">
235
+      <el-col :span="1.5">
236
+        <el-button
237
+          type="warning"
238
+          plain
239
+          icon="el-icon-download"
240
+          size="mini"
241
+          @click="handleExport"
242
+          v-hasPermi="['car:record:export']"
243
+        >导出</el-button>
244
+      </el-col>
245
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
246
+    </el-row>
247
+
248
+    <el-table v-loading="loading" :data="carApprovalList" @selection-change="handleSelectionChange">
249
+      <el-table-column type="selection" width="55" align="center" />
250
+      <el-table-column label="用车申请id" align="center" prop="carApplyId" />
251
+      <el-table-column label="申请人" align="center" prop="applier" />
252
+      <el-table-column label="使用部门" align="center" prop="useDept" />
253
+      <el-table-column label="车辆id" align="center" prop="cars" />
254
+      <el-table-column label="驾驶员id" align="center" prop="drivers" />
255
+      <el-table-column label="项目id" align="center" prop="projectId" />
256
+      <el-table-column label="申请用途" align="center" prop="carUsage" />
257
+      <el-table-column label="用车事由" align="center" prop="applyReason" />
258
+      <el-table-column label="人数" align="center" prop="passengers" />
259
+      <el-table-column label="开始日期" align="center" prop="beginDate" width="180">
260
+        <template slot-scope="scope">
261
+          <span>{{ parseTime(scope.row.beginDate, '{y}-{m}-{d}') }}</span>
262
+        </template>
263
+      </el-table-column>
264
+      <el-table-column label="结束日期" align="center" prop="endDate" width="180">
265
+        <template slot-scope="scope">
266
+          <span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
267
+        </template>
268
+      </el-table-column>
269
+      <el-table-column label="天数" align="center" prop="days" />
270
+      <el-table-column label="部门审批人" align="center" prop="deptUserId" />
271
+      <el-table-column label="部门审批意见" align="center" prop="deptComment" />
272
+      <el-table-column label="部门审批时间" align="center" prop="deptTime" width="180">
273
+        <template slot-scope="scope">
274
+          <span>{{ parseTime(scope.row.deptTime, '{y}-{m}-{d}') }}</span>
275
+        </template>
276
+      </el-table-column>
277
+      <el-table-column label="分管审批人" align="center" prop="managerUserId" />
278
+      <el-table-column label="分管审批意见" align="center" prop="managerComment" />
279
+      <el-table-column label="分管审批时间" align="center" prop="managerTime" width="180">
280
+        <template slot-scope="scope">
281
+          <span>{{ parseTime(scope.row.managerTime, '{y}-{m}-{d}') }}</span>
282
+        </template>
283
+      </el-table-column>
284
+      <el-table-column label="工会审批人" align="center" prop="unionUserId" />
285
+      <el-table-column label="工会审批意见" align="center" prop="unionComment" />
286
+      <el-table-column label="工会审批时间" align="center" prop="unionTime" width="180">
287
+        <template slot-scope="scope">
288
+          <span>{{ parseTime(scope.row.unionTime, '{y}-{m}-{d}') }}</span>
289
+        </template>
290
+      </el-table-column>
291
+      <el-table-column label="总经理审批人" align="center" prop="gmUserId" />
292
+      <el-table-column label="总经理审批意见" align="center" prop="gmComment" />
293
+      <el-table-column label="总经理审批时间" align="center" prop="gmTime" width="180">
294
+        <template slot-scope="scope">
295
+          <span>{{ parseTime(scope.row.gmTime, '{y}-{m}-{d}') }}</span>
296
+        </template>
297
+      </el-table-column>
298
+      <el-table-column label="派车人" align="center" prop="dispatcher" />
299
+      <el-table-column label="派车审批意见" align="center" prop="dispatchComment" />
300
+      <el-table-column label="派车审批时间" align="center" prop="dispatchTime" width="180">
301
+        <template slot-scope="scope">
302
+          <span>{{ parseTime(scope.row.dispatchTime, '{y}-{m}-{d}') }}</span>
303
+        </template>
304
+      </el-table-column>
305
+      <el-table-column label="预计用车成本" align="center" prop="estimateCost" />
306
+      <el-table-column label="申请日期" align="center" prop="applyDate" width="180">
307
+        <template slot-scope="scope">
308
+          <span>{{ parseTime(scope.row.applyDate, '{y}-{m}-{d}') }}</span>
309
+        </template>
310
+      </el-table-column>      
311
+    </el-table>
312
+    
313
+    <pagination
314
+      v-show="total>0"
315
+      :total="total"
316
+      :page.sync="queryParams.pageNum"
317
+      :limit.sync="queryParams.pageSize"
318
+      @pagination="getList"
319
+    />
320
+
321
+    <!-- 添加或修改cmc用车审批对话框 -->
322
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
323
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
324
+        <el-form-item label="申请人" prop="applier">
325
+          <el-input v-model="form.applier" placeholder="请输入申请人" />
326
+        </el-form-item>
327
+        <el-form-item label="使用部门" prop="useDept">
328
+          <el-input v-model="form.useDept" placeholder="请输入使用部门" />
329
+        </el-form-item>
330
+        <el-form-item label="车辆id" prop="cars">
331
+          <el-input v-model="form.cars" placeholder="请输入车辆id" />
332
+        </el-form-item>
333
+        <el-form-item label="驾驶员id" prop="drivers">
334
+          <el-input v-model="form.drivers" placeholder="请输入驾驶员id" />
335
+        </el-form-item>
336
+        <el-form-item label="项目id" prop="projectId">
337
+          <el-input v-model="form.projectId" placeholder="请输入项目id" />
338
+        </el-form-item>
339
+        <el-form-item label="申请用途" prop="carUsage">
340
+          <el-input v-model="form.carUsage" placeholder="请输入申请用途" />
341
+        </el-form-item>
342
+        <el-form-item label="用车事由" prop="applyReason">
343
+          <el-input v-model="form.applyReason" placeholder="请输入用车事由" />
344
+        </el-form-item>
345
+        <el-form-item label="人数" prop="passengers">
346
+          <el-input v-model="form.passengers" placeholder="请输入人数" />
347
+        </el-form-item>
348
+        <el-form-item label="开始日期" prop="beginDate">
349
+          <el-date-picker clearable
350
+            v-model="form.beginDate"
351
+            type="date"
352
+            value-format="yyyy-MM-dd"
353
+            placeholder="请选择开始日期">
354
+          </el-date-picker>
355
+        </el-form-item>
356
+        <el-form-item label="结束日期" prop="endDate">
357
+          <el-date-picker clearable
358
+            v-model="form.endDate"
359
+            type="date"
360
+            value-format="yyyy-MM-dd"
361
+            placeholder="请选择结束日期">
362
+          </el-date-picker>
363
+        </el-form-item>
364
+        <el-form-item label="天数" prop="days">
365
+          <el-input v-model="form.days" placeholder="请输入天数" />
366
+        </el-form-item>
367
+        <el-form-item label="部门审批人" prop="deptUserId">
368
+          <el-input v-model="form.deptUserId" placeholder="请输入部门审批人" />
369
+        </el-form-item>
370
+        <el-form-item label="部门审批意见" prop="deptComment">
371
+          <el-input v-model="form.deptComment" placeholder="请输入部门审批意见" />
372
+        </el-form-item>
373
+        <el-form-item label="部门审批时间" prop="deptTime">
374
+          <el-date-picker clearable
375
+            v-model="form.deptTime"
376
+            type="date"
377
+            value-format="yyyy-MM-dd"
378
+            placeholder="请选择部门审批时间">
379
+          </el-date-picker>
380
+        </el-form-item>
381
+        <el-form-item label="分管审批人" prop="managerUserId">
382
+          <el-input v-model="form.managerUserId" placeholder="请输入分管审批人" />
383
+        </el-form-item>
384
+        <el-form-item label="分管审批意见" prop="managerComment">
385
+          <el-input v-model="form.managerComment" placeholder="请输入分管审批意见" />
386
+        </el-form-item>
387
+        <el-form-item label="分管审批时间" prop="managerTime">
388
+          <el-date-picker clearable
389
+            v-model="form.managerTime"
390
+            type="date"
391
+            value-format="yyyy-MM-dd"
392
+            placeholder="请选择分管审批时间">
393
+          </el-date-picker>
394
+        </el-form-item>
395
+        <el-form-item label="工会审批人" prop="unionUserId">
396
+          <el-input v-model="form.unionUserId" placeholder="请输入工会审批人" />
397
+        </el-form-item>
398
+        <el-form-item label="工会审批意见" prop="unionComment">
399
+          <el-input v-model="form.unionComment" placeholder="请输入工会审批意见" />
400
+        </el-form-item>
401
+        <el-form-item label="工会审批时间" prop="unionTime">
402
+          <el-date-picker clearable
403
+            v-model="form.unionTime"
404
+            type="date"
405
+            value-format="yyyy-MM-dd"
406
+            placeholder="请选择工会审批时间">
407
+          </el-date-picker>
408
+        </el-form-item>
409
+        <el-form-item label="总经理审批人" prop="gmUserId">
410
+          <el-input v-model="form.gmUserId" placeholder="请输入总经理审批人" />
411
+        </el-form-item>
412
+        <el-form-item label="总经理审批意见" prop="gmComment">
413
+          <el-input v-model="form.gmComment" placeholder="请输入总经理审批意见" />
414
+        </el-form-item>
415
+        <el-form-item label="总经理审批时间" prop="gmTime">
416
+          <el-date-picker clearable
417
+            v-model="form.gmTime"
418
+            type="date"
419
+            value-format="yyyy-MM-dd"
420
+            placeholder="请选择总经理审批时间">
421
+          </el-date-picker>
422
+        </el-form-item>
423
+        <el-form-item label="派车人" prop="dispatcher">
424
+          <el-input v-model="form.dispatcher" placeholder="请输入派车人" />
425
+        </el-form-item>
426
+        <el-form-item label="派车审批意见" prop="dispatchComment">
427
+          <el-input v-model="form.dispatchComment" placeholder="请输入派车审批意见" />
428
+        </el-form-item>
429
+        <el-form-item label="派车审批时间" prop="dispatchTime">
430
+          <el-date-picker clearable
431
+            v-model="form.dispatchTime"
432
+            type="date"
433
+            value-format="yyyy-MM-dd"
434
+            placeholder="请选择派车审批时间">
435
+          </el-date-picker>
436
+        </el-form-item>
437
+        <el-form-item label="预计用车成本" prop="estimateCost">
438
+          <el-input v-model="form.estimateCost" placeholder="请输入预计用车成本" />
439
+        </el-form-item>
440
+        <el-form-item label="申请日期" prop="applyDate">
441
+          <el-date-picker clearable
442
+            v-model="form.applyDate"
443
+            type="date"
444
+            value-format="yyyy-MM-dd"
445
+            placeholder="请选择申请日期">
446
+          </el-date-picker>
447
+        </el-form-item>
448
+      </el-form>
449
+      <div slot="footer" class="dialog-footer">
450
+        <el-button type="primary" @click="submitForm">确 定</el-button>
451
+        <el-button @click="cancel">取 消</el-button>
452
+      </div>
453
+    </el-dialog>
454
+  </div>
455
+</template>
456
+
457
+<script>
458
+import { listCarApproval, getCarApproval, delCarApproval, addCarApproval, updateCarApproval } from "@/api/oa/car/carApproval";
459
+
460
+export default {
461
+  name: "CarApproval",
462
+  data() {
463
+    return {
464
+      // 遮罩层
465
+      loading: true,
466
+      // 选中数组
467
+      ids: [],
468
+      // 非单个禁用
469
+      single: true,
470
+      // 非多个禁用
471
+      multiple: true,
472
+      // 显示搜索条件
473
+      showSearch: true,
474
+      // 总条数
475
+      total: 0,
476
+      // cmc用车审批表格数据
477
+      carApprovalList: [],
478
+      // 弹出层标题
479
+      title: "",
480
+      // 是否显示弹出层
481
+      open: false,
482
+      // 查询参数
483
+      queryParams: {
484
+        pageNum: 1,
485
+        pageSize: 10,
486
+        applier: null,
487
+        useDept: null,
488
+        cars: null,
489
+        drivers: null,
490
+        projectId: null,
491
+        carUsage: null,
492
+        applyReason: null,
493
+        passengers: null,
494
+        beginDate: null,
495
+        endDate: null,
496
+        days: null,
497
+        deptUserId: null,
498
+        deptComment: null,
499
+        deptTime: null,
500
+        managerUserId: null,
501
+        managerComment: null,
502
+        managerTime: null,
503
+        unionUserId: null,
504
+        unionComment: null,
505
+        unionTime: null,
506
+        gmUserId: null,
507
+        gmComment: null,
508
+        gmTime: null,
509
+        dispatcher: null,
510
+        dispatchComment: null,
511
+        dispatchTime: null,
512
+        estimateCost: null,
513
+        applyDate: null
514
+      },
515
+      // 表单参数
516
+      form: {},
517
+      // 表单校验
518
+      rules: {
519
+      }
520
+    };
521
+  },
522
+  created() {
523
+    this.getList();
524
+  },
525
+  methods: {
526
+    /** 查询cmc用车审批列表 */
527
+    getList() {
528
+      this.loading = true;
529
+      listCarApproval(this.queryParams).then(response => {
530
+        this.carApprovalList = response.rows;
531
+        this.total = response.total;
532
+        this.loading = false;
533
+      });
534
+    },
535
+    // 取消按钮
536
+    cancel() {
537
+      this.open = false;
538
+      this.reset();
539
+    },
540
+    // 表单重置
541
+    reset() {
542
+      this.form = {
543
+        carApplyId: null,
544
+        applier: null,
545
+        useDept: null,
546
+        cars: null,
547
+        drivers: null,
548
+        projectId: null,
549
+        carUsage: null,
550
+        applyReason: null,
551
+        passengers: null,
552
+        beginDate: null,
553
+        endDate: null,
554
+        days: null,
555
+        deptUserId: null,
556
+        deptComment: null,
557
+        deptTime: null,
558
+        managerUserId: null,
559
+        managerComment: null,
560
+        managerTime: null,
561
+        unionUserId: null,
562
+        unionComment: null,
563
+        unionTime: null,
564
+        gmUserId: null,
565
+        gmComment: null,
566
+        gmTime: null,
567
+        dispatcher: null,
568
+        dispatchComment: null,
569
+        dispatchTime: null,
570
+        estimateCost: null,
571
+        applyDate: null
572
+      };
573
+      this.resetForm("form");
574
+    },
575
+    /** 搜索按钮操作 */
576
+    handleQuery() {
577
+      this.queryParams.pageNum = 1;
578
+      this.getList();
579
+    },
580
+    /** 重置按钮操作 */
581
+    resetQuery() {
582
+      this.resetForm("queryForm");
583
+      this.handleQuery();
584
+    },
585
+    // 多选框选中数据
586
+    handleSelectionChange(selection) {
587
+      this.ids = selection.map(item => item.carApplyId)
588
+      this.single = selection.length!==1
589
+      this.multiple = !selection.length
590
+    },
591
+    /** 新增按钮操作 */
592
+    handleAdd() {
593
+      this.reset();
594
+      this.open = true;
595
+      this.title = "添加cmc用车审批";
596
+    },
597
+    /** 修改按钮操作 */
598
+    handleUpdate(row) {
599
+      this.reset();
600
+      const carApplyId = row.carApplyId || this.ids
601
+      getCarApproval(carApplyId).then(response => {
602
+        this.form = response.data;
603
+        this.open = true;
604
+        this.title = "修改cmc用车审批";
605
+      });
606
+    },
607
+    /** 提交按钮 */
608
+    submitForm() {
609
+      this.$refs["form"].validate(valid => {
610
+        if (valid) {
611
+          if (this.form.carApplyId != null) {
612
+            updateCarApproval(this.form).then(response => {
613
+              this.$modal.msgSuccess("修改成功");
614
+              this.open = false;
615
+              this.getList();
616
+            });
617
+          } else {
618
+            addCarApproval(this.form).then(response => {
619
+              this.$modal.msgSuccess("新增成功");
620
+              this.open = false;
621
+              this.getList();
622
+            });
623
+          }
624
+        }
625
+      });
626
+    },
627
+    /** 删除按钮操作 */
628
+    handleDelete(row) {
629
+      const carApplyIds = row.carApplyId || this.ids;
630
+      this.$modal.confirm('是否确认删除cmc用车审批编号为"' + carApplyIds + '"的数据项?').then(function() {
631
+        return delCarApproval(carApplyIds);
632
+      }).then(() => {
633
+        this.getList();
634
+        this.$modal.msgSuccess("删除成功");
635
+      }).catch(() => {});
636
+    },
637
+    /** 导出按钮操作 */
638
+    handleExport() {
639
+      this.download('oa/carApproval/export', {
640
+        ...this.queryParams
641
+      }, `carApproval_${new Date().getTime()}.xlsx`)
642
+    }
643
+  }
644
+};
645
+</script>

+ 50
- 28
oa-ui/src/views/oa/car/detail.vue Vedi File

@@ -123,6 +123,11 @@
123 123
           <el-table v-loading="loading" :data="expenseList" @selection-change="handleSelectionChange">
124 124
             <el-table-column type="selection" width="55" align="center" />
125 125
             <el-table-column type="index" width="55" align="center" label="序号" />
126
+            <el-table-column label="负责人" align="center" prop="userId">
127
+              <template slot-scope="scope">
128
+                {{ scope.row.user ? scope.row.user.nickName : '' }}
129
+              </template>
130
+            </el-table-column>
126 131
             <el-table-column label="费用类型" align="center" prop="expenseType">
127 132
               <template slot-scope="scope">
128 133
                 <el-tag :type="typeStyle(scope.row.expenseType)">{{ expenseTypeText(scope.row.expenseType) }}</el-tag>
@@ -199,24 +204,31 @@
199 204
     </el-row>
200 205
     <!-- 添加明细 -->
201 206
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
202
-      <el-form ref="expenseForm" :model="form" :rules="rules" label-width="100px">
207
+      <el-form ref="expenseForm" :model="expenseForm" :rules="rules" label-width="100px">
208
+        <el-form-item label="负责人" prop="userId">
209
+          <el-select v-model="expenseForm.userId" filterable clearable style="width:220px">
210
+            <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"
211
+              v-if="item.nickName != 'admin'">
212
+            </el-option>
213
+          </el-select>
214
+        </el-form-item>
203 215
         <el-form-item label="费用类型" prop="expenseType">
204
-          <el-select v-model="form.expenseType" placeholder="请选择" clearable @change="expenseTypePath">
216
+          <el-select v-model="expenseForm.expenseType" placeholder="请选择" clearable @change="expenseTypePath">
205 217
             <el-option label="保险费" value="0"></el-option>
206 218
             <el-option label="维修/保养费" value="1"></el-option>
207 219
             <el-option label="轮胎费" value="2"></el-option>
208 220
           </el-select>
209 221
         </el-form-item>
210 222
         <el-form-item label="费用金额" prop="expense">
211
-          <el-input v-model="form.expense" placeholder="请输入费用金额" style="width:150px" /> <el-tag>元</el-tag>
223
+          <el-input v-model="expenseForm.expense" placeholder="请输入费用金额" style="width:150px" /> <el-tag>元</el-tag>
212 224
         </el-form-item>
213 225
         <el-form-item label="发生日期" prop="occurDate">
214
-          <el-date-picker clearable v-model="form.occurDate" type="date" value-format="yyyy-MM-dd"
226
+          <el-date-picker clearable v-model="expenseForm.occurDate" type="date" value-format="yyyy-MM-dd"
215 227
             placeholder="请选择发生日期">
216 228
           </el-date-picker>
217 229
         </el-form-item>
218 230
         <el-form-item label="备注说明" prop="remark">
219
-          <el-input type="textarea" v-model="form.remark" placeholder="请输入备注说明" style="width:220px" />
231
+          <el-input type="textarea" v-model="expenseForm.remark" placeholder="请输入备注说明" style="width:220px" />
220 232
         </el-form-item>
221 233
         <el-form-item label="附件" prop="document">
222 234
           <FileUpload :limit="1" :filePathName="expenseName" :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']"
@@ -225,9 +237,9 @@
225 237
             <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear"
226 238
               tag="ul">
227 239
               <li key="li01" class="el-upload-list__item ele-upload-list__item-content">
228
-                <el-link :href="`${baseUrl}${'/profile/upload' + form.document}`" :underline="false" target="_blank">
240
+                <el-link :href="`${baseUrl}${'/profile/upload' + expenseForm.document}`" :underline="false" target="_blank">
229 241
                   <span class="el-icon-document" style="color:#0011ff;text-decoration: underline;">
230
-                    {{ getFileName(form.document) }}
242
+                    {{ getFileName(expenseForm.document) }}
231 243
                   </span>
232 244
                 </el-link>
233 245
               </li>
@@ -288,9 +300,10 @@
288 300
 
289 301
 <script>
290 302
 import { getCar } from '@/api/oa/car/car.js'
291
-import { listCarExpense, getCarExpense, delCarExpense, addCarExpense, updateCarExpense } from "@/api/oa/car/carExpense";
303
+import { listDeviceExpense, getDeviceExpense, delDeviceExpense, addDeviceExpense, updateDeviceExpense } from "@/api/oa/device/deviceExpense";
292 304
 import { listDeviceScrap, getDeviceScrap, delDeviceScrap, addDeviceScrap, updateDeviceScrap } from "@/api/oa/device/deviceScrap";
293 305
 import { listCarApproval } from "@/api/oa/car/carApproval";
306
+import { listUser } from '@/api/system/user';
294 307
 export default {
295 308
   data() {
296 309
     let validateExpense = (rule, value, callback) => {
@@ -311,6 +324,7 @@ export default {
311 324
       carInfo: {},
312 325
       expenseList: [],
313 326
       approvalList: [],
327
+      userList: [],
314 328
       queryParams: {
315 329
         pageNum: 1,
316 330
         pageSize: 10,
@@ -327,7 +341,9 @@ export default {
327 341
       modifyOpen: false,
328 342
       scrapOpen: false,
329 343
       scrapModifyOpen: false,
330
-      form: {},
344
+      expenseForm: {
345
+        userId: 17,
346
+      },
331 347
       scrapForm: {},
332 348
       scrapButtonName: '',
333 349
       expenseName: '',
@@ -351,6 +367,7 @@ export default {
351 367
         this.carInfo = res.data;
352 368
       })
353 369
       this.getList();
370
+      this.getUserList();
354 371
       this.getScrapStatus();
355 372
     }
356 373
     if (this.$store.state.app.device == 'desktop') {
@@ -362,7 +379,7 @@ export default {
362 379
   methods: {
363 380
     getList() {
364 381
       this.queryParams.carId = this.$route.query.carId;
365
-      listCarExpense(this.queryParams).then(res => {
382
+      listDeviceExpense(this.queryParams).then(res => {
366 383
         this.expenseList = res.rows;
367 384
         this.expenseTotal = res.total;
368 385
       });
@@ -372,10 +389,15 @@ export default {
372 389
         this.approvalTotal = res.total;
373 390
       })
374 391
     },
392
+    getUserList() {
393
+      listUser({ pageSize: 9999, pageNum: 1 }).then(res => {
394
+        this.userList = res.rows
395
+      })
396
+    },
375 397
     goBack() {
376 398
       let obj = { path: "/car/detail" }
377 399
       this.$tab.closeOpenPage(obj);
378
-      this.$router.push({ path: '/car' });
400
+      this.$router.push({ path: '/car/index' });
379 401
     },
380 402
     getScrapStatus() {
381 403
       this.queryParams.carId = this.$route.query.carId
@@ -393,7 +415,7 @@ export default {
393 415
     },
394 416
     // 多选框选中数据
395 417
     handleSelectionChange(selection) {
396
-      this.ids = selection.map(item => item.carExpenseId)
418
+      this.ids = selection.map(item => item.deviceExpenseId)
397 419
       this.single = selection.length !== 1
398 420
       this.multiple = !selection.length
399 421
     },
@@ -404,32 +426,32 @@ export default {
404 426
     },
405 427
     handleUpdate(row) {
406 428
       this.reset();
407
-      const carExpenseId = row.carExpenseId || this.ids
408
-      getCarExpense(carExpenseId).then(response => {
409
-        this.form = response.data;
429
+      const deviceExpenseId = row.deviceExpenseId || this.ids
430
+      getDeviceExpense(deviceExpenseId).then(response => {
431
+        this.expenseForm = response.data;
410 432
         this.modifyOpen = true;
411 433
         this.open = true;
412 434
         this.title = "修改车辆明细";
413 435
       });
414 436
     },
415 437
     handleDelete(row) {
416
-      const carExpenseIds = row.carExpenseId || this.ids;
417
-      this.$modal.confirm('是否确认删除车辆费用编号为"' + carExpenseIds + '"的数据项?').then(function () {
418
-        return delCarExpense(carExpenseIds);
438
+      const deviceExpenseIds = row.deviceExpenseId || this.ids;
439
+      this.$modal.confirm('是否确认删除车辆费用编号为"' + deviceExpenseIds + '"的数据项?').then(function () {
440
+        return delDeviceExpense(deviceExpenseIds);
419 441
       }).then(() => {
420 442
         this.getList();
421 443
         this.$modal.msgSuccess("删除成功");
422 444
       }).catch(() => { });
423 445
     },
424 446
     handleExport() {
425
-      this.download('oa/carExpense/export', {
447
+      this.download('oa/deviceExpense/export', {
426 448
         ...this.queryParams
427
-      }, `carExpense_${new Date().getTime()}.xlsx`)
449
+      }, `deviceExpense_${new Date().getTime()}.xlsx`)
428 450
     },
429 451
     // 表单重置
430 452
     reset() {
431
-      this.form = {
432
-        carExpenseId: null,
453
+      this.expenseForm = {
454
+        deviceExpenseId: null,
433 455
         carId: null,
434 456
         expenseType: null,
435 457
         expense: null,
@@ -441,16 +463,16 @@ export default {
441 463
     submitForm() {
442 464
       this.$refs["expenseForm"].validate(valid => {
443 465
         if (valid) {
444
-          this.form.carId = this.$route.query.carId
445
-          if (this.form.carExpenseId != null) {
446
-            updateCarExpense(this.form).then(response => {
466
+          this.expenseForm.carId = this.$route.query.carId
467
+          if (this.expenseForm.deviceExpenseId != null) {
468
+            updateDeviceExpense(this.expenseForm).then(response => {
447 469
               this.$modal.msgSuccess("修改成功");
448 470
               this.open = false;
449 471
               this.modifyOpen = false;
450 472
               this.getList();
451 473
             });
452 474
           } else {
453
-            addCarExpense(this.form).then(response => {
475
+            addDeviceExpense(this.expenseForm).then(response => {
454 476
               this.$modal.msgSuccess("新增成功");
455 477
               this.open = false;
456 478
               this.getList();
@@ -467,9 +489,9 @@ export default {
467 489
     //费用附件路径
468 490
     getExpensePath(val) {
469 491
       let arr = val.split('/upload')
470
-      this.form.document = arr[1]
492
+      this.expenseForm.document = arr[1]
471 493
       if (val == "") {
472
-        this.form.document = ""
494
+        this.expenseForm.document = ""
473 495
       }
474 496
     },
475 497
     //报废附件路径

+ 318
- 0
oa-ui/src/views/oa/car/expense.vue Vedi File

@@ -0,0 +1,318 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
+      <el-form-item label="车辆id" prop="carId">
5
+        <el-input
6
+          v-model="queryParams.carId"
7
+          placeholder="请输入车辆id"
8
+          clearable
9
+          @keyup.enter.native="handleQuery"
10
+        />
11
+      </el-form-item>
12
+      <el-form-item label="负责人id" prop="userId">
13
+        <el-input
14
+          v-model="queryParams.userId"
15
+          placeholder="请输入负责人id"
16
+          clearable
17
+          @keyup.enter.native="handleQuery"
18
+        />
19
+      </el-form-item>
20
+      <el-form-item label="费用金额" prop="expense">
21
+        <el-input
22
+          v-model="queryParams.expense"
23
+          placeholder="请输入费用金额"
24
+          clearable
25
+          @keyup.enter.native="handleQuery"
26
+        />
27
+      </el-form-item>
28
+      <el-form-item label="发生日期" prop="occurDate">
29
+        <el-date-picker clearable
30
+          v-model="queryParams.occurDate"
31
+          type="date"
32
+          value-format="yyyy-MM-dd"
33
+          placeholder="请选择发生日期">
34
+        </el-date-picker>
35
+      </el-form-item>
36
+      <el-form-item label="附件" prop="document">
37
+        <el-input
38
+          v-model="queryParams.document"
39
+          placeholder="请输入附件"
40
+          clearable
41
+          @keyup.enter.native="handleQuery"
42
+        />
43
+      </el-form-item>
44
+      <el-form-item>
45
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
46
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
47
+      </el-form-item>
48
+    </el-form>
49
+
50
+    <el-row :gutter="10" class="mb8">
51
+      <el-col :span="1.5">
52
+        <el-button
53
+          type="primary"
54
+          plain
55
+          icon="el-icon-plus"
56
+          size="mini"
57
+          @click="handleAdd"
58
+          v-hasPermi="['car:record:add']"
59
+        >新增</el-button>
60
+      </el-col>
61
+      <el-col :span="1.5">
62
+        <el-button
63
+          type="success"
64
+          plain
65
+          icon="el-icon-edit"
66
+          size="mini"
67
+          :disabled="single"
68
+          @click="handleUpdate"
69
+          v-hasPermi="['car:record:edit']"
70
+        >修改</el-button>
71
+      </el-col>
72
+      <el-col :span="1.5">
73
+        <el-button
74
+          type="danger"
75
+          plain
76
+          icon="el-icon-delete"
77
+          size="mini"
78
+          :disabled="multiple"
79
+          @click="handleDelete"
80
+          v-hasPermi="['car:record:remove']"
81
+        >删除</el-button>
82
+      </el-col>
83
+      <el-col :span="1.5">
84
+        <el-button
85
+          type="warning"
86
+          plain
87
+          icon="el-icon-download"
88
+          size="mini"
89
+          @click="handleExport"
90
+          v-hasPermi="['car:record:export']"
91
+        >导出</el-button>
92
+      </el-col>
93
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
94
+    </el-row>
95
+
96
+    <el-table v-loading="loading" :data="deviceExpenseList" @selection-change="handleSelectionChange">
97
+      <el-table-column type="selection" width="55" align="center" />
98
+      <el-table-column label="车辆id" align="center" prop="carId" />
99
+      <el-table-column label="负责人id" align="center" prop="userId" />
100
+      <el-table-column label="费用类型" align="center" prop="expenseType" />
101
+      <el-table-column label="费用金额" align="center" prop="expense" />
102
+      <el-table-column label="发生日期" align="center" prop="occurDate" width="180">
103
+        <template slot-scope="scope">
104
+          <span>{{ parseTime(scope.row.occurDate, '{y}-{m}-{d}') }}</span>
105
+        </template>
106
+      </el-table-column>
107
+      <el-table-column label="备注" align="center" prop="remark" />
108
+      <el-table-column label="附件" align="center" prop="document" />
109
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
110
+        <template slot-scope="scope">
111
+          <el-button
112
+            size="mini"
113
+            type="text"
114
+            icon="el-icon-edit"
115
+            @click="handleUpdate(scope.row)"
116
+            v-hasPermi="['car:record:edit']"
117
+          >修改</el-button>
118
+          <el-button
119
+            size="mini"
120
+            type="text"
121
+            icon="el-icon-delete"
122
+            @click="handleDelete(scope.row)"
123
+            v-hasPermi="['car:record:remove']"
124
+          >删除</el-button>
125
+        </template>
126
+      </el-table-column>
127
+    </el-table>
128
+    
129
+    <pagination
130
+      v-show="total>0"
131
+      :total="total"
132
+      :page.sync="queryParams.pageNum"
133
+      :limit.sync="queryParams.pageSize"
134
+      @pagination="getList"
135
+    />
136
+
137
+    <!-- 添加或修改cmc设备费用对话框 -->
138
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
139
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
140
+        <el-form-item label="设备id" prop="carId">
141
+          <el-input v-model="form.carId" placeholder="请输入设备id" />
142
+        </el-form-item>
143
+        <el-form-item label="负责人id" prop="userId">
144
+          <el-input v-model="form.userId" placeholder="请输入负责人id" />
145
+        </el-form-item>
146
+        <el-form-item label="费用金额" prop="expense">
147
+          <el-input v-model="form.expense" placeholder="请输入费用金额" />
148
+        </el-form-item>
149
+        <el-form-item label="发生日期" prop="occurDate">
150
+          <el-date-picker clearable
151
+            v-model="form.occurDate"
152
+            type="date"
153
+            value-format="yyyy-MM-dd"
154
+            placeholder="请选择发生日期">
155
+          </el-date-picker>
156
+        </el-form-item>
157
+        <el-form-item label="备注" prop="remark">
158
+          <el-input v-model="form.remark" placeholder="请输入备注" />
159
+        </el-form-item>
160
+        <el-form-item label="附件" prop="document">
161
+          <el-input v-model="form.document" placeholder="请输入附件" />
162
+        </el-form-item>
163
+      </el-form>
164
+      <div slot="footer" class="dialog-footer">
165
+        <el-button type="primary" @click="submitForm">确 定</el-button>
166
+        <el-button @click="cancel">取 消</el-button>
167
+      </div>
168
+    </el-dialog>
169
+  </div>
170
+</template>
171
+
172
+<script>
173
+import { listDeviceExpense, getDeviceExpense, delDeviceExpense, addDeviceExpense, updateDeviceExpense } from "@/api/oa/device/deviceExpense";
174
+
175
+export default {
176
+  name: "DeviceExpense",
177
+  data() {
178
+    return {
179
+      // 遮罩层
180
+      loading: true,
181
+      // 选中数组
182
+      ids: [],
183
+      // 非单个禁用
184
+      single: true,
185
+      // 非多个禁用
186
+      multiple: true,
187
+      // 显示搜索条件
188
+      showSearch: true,
189
+      // 总条数
190
+      total: 0,
191
+      // cmc设备费用表格数据
192
+      deviceExpenseList: [],
193
+      // 弹出层标题
194
+      title: "",
195
+      // 是否显示弹出层
196
+      open: false,
197
+      // 查询参数
198
+      queryParams: {
199
+        pageNum: 1,
200
+        pageSize: 10,
201
+        carId: null,
202
+        userId: null,
203
+        expenseType: null,
204
+        expense: null,
205
+        occurDate: null,
206
+        document: null
207
+      },
208
+      // 表单参数
209
+      form: {},
210
+      // 表单校验
211
+      rules: {
212
+      }
213
+    };
214
+  },
215
+  created() {
216
+    this.getList();
217
+  },
218
+  methods: {
219
+    /** 查询cmc设备费用列表 */
220
+    getList() {
221
+      this.loading = true;
222
+      this.queryParams.deviceId = 0;
223
+      listDeviceExpense(this.queryParams).then(response => {
224
+        this.deviceExpenseList = response.rows;
225
+        this.total = response.total;
226
+        this.loading = false;
227
+      });
228
+    },
229
+    // 取消按钮
230
+    cancel() {
231
+      this.open = false;
232
+      this.reset();
233
+    },
234
+    // 表单重置
235
+    reset() {
236
+      this.form = {
237
+        deviceExpenseId: null,
238
+        carId: null,
239
+        userId: null,
240
+        expenseType: null,
241
+        expense: null,
242
+        occurDate: null,
243
+        remark: null,
244
+        document: null
245
+      };
246
+      this.resetForm("form");
247
+    },
248
+    /** 搜索按钮操作 */
249
+    handleQuery() {
250
+      this.queryParams.pageNum = 1;
251
+      this.getList();
252
+    },
253
+    /** 重置按钮操作 */
254
+    resetQuery() {
255
+      this.resetForm("queryForm");
256
+      this.handleQuery();
257
+    },
258
+    // 多选框选中数据
259
+    handleSelectionChange(selection) {
260
+      this.ids = selection.map(item => item.deviceExpenseId)
261
+      this.single = selection.length!==1
262
+      this.multiple = !selection.length
263
+    },
264
+    /** 新增按钮操作 */
265
+    handleAdd() {
266
+      this.reset();
267
+      this.open = true;
268
+      this.title = "添加cmc设备费用";
269
+    },
270
+    /** 修改按钮操作 */
271
+    handleUpdate(row) {
272
+      this.reset();
273
+      const deviceExpenseId = row.deviceExpenseId || this.ids
274
+      getDeviceExpense(deviceExpenseId).then(response => {
275
+        this.form = response.data;
276
+        this.open = true;
277
+        this.title = "修改cmc设备费用";
278
+      });
279
+    },
280
+    /** 提交按钮 */
281
+    submitForm() {
282
+      this.$refs["form"].validate(valid => {
283
+        if (valid) {
284
+          if (this.form.deviceExpenseId != null) {
285
+            updateDeviceExpense(this.form).then(response => {
286
+              this.$modal.msgSuccess("修改成功");
287
+              this.open = false;
288
+              this.getList();
289
+            });
290
+          } else {
291
+            addDeviceExpense(this.form).then(response => {
292
+              this.$modal.msgSuccess("新增成功");
293
+              this.open = false;
294
+              this.getList();
295
+            });
296
+          }
297
+        }
298
+      });
299
+    },
300
+    /** 删除按钮操作 */
301
+    handleDelete(row) {
302
+      const deviceExpenseIds = row.deviceExpenseId || this.ids;
303
+      this.$modal.confirm('是否确认删除cmc设备费用编号为"' + deviceExpenseIds + '"的数据项?').then(function() {
304
+        return delDeviceExpense(deviceExpenseIds);
305
+      }).then(() => {
306
+        this.getList();
307
+        this.$modal.msgSuccess("删除成功");
308
+      }).catch(() => {});
309
+    },
310
+    /** 导出按钮操作 */
311
+    handleExport() {
312
+      this.download('oa/deviceExpense/export', {
313
+        ...this.queryParams
314
+      }, `deviceExpense_${new Date().getTime()}.xlsx`)
315
+    }
316
+  }
317
+};
318
+</script>

+ 329
- 0
oa-ui/src/views/oa/car/scrap.vue Vedi File

@@ -0,0 +1,329 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">      
4
+      <el-form-item label="车辆id" prop="carId">
5
+        <el-input
6
+          v-model="queryParams.carId"
7
+          placeholder="请输入车辆id"
8
+          clearable
9
+          @keyup.enter.native="handleQuery"
10
+        />
11
+      </el-form-item>
12
+      <el-form-item label="原价值" prop="cost">
13
+        <el-input
14
+          v-model="queryParams.cost"
15
+          placeholder="请输入原价值"
16
+          clearable
17
+          @keyup.enter.native="handleQuery"
18
+        />
19
+      </el-form-item>
20
+      <el-form-item label="报废日期" prop="scrapDate">
21
+        <el-date-picker clearable
22
+          v-model="queryParams.scrapDate"
23
+          type="date"
24
+          value-format="yyyy-MM-dd"
25
+          placeholder="请选择报废日期">
26
+        </el-date-picker>
27
+      </el-form-item>
28
+      <el-form-item label="报废原因" prop="reason">
29
+        <el-input
30
+          v-model="queryParams.reason"
31
+          placeholder="请输入报废原因"
32
+          clearable
33
+          @keyup.enter.native="handleQuery"
34
+        />
35
+      </el-form-item>
36
+      <el-form-item label="处理结果" prop="deal">
37
+        <el-input
38
+          v-model="queryParams.deal"
39
+          placeholder="请输入处理结果"
40
+          clearable
41
+          @keyup.enter.native="handleQuery"
42
+        />
43
+      </el-form-item>
44
+      <el-form-item label="附件" prop="document">
45
+        <el-input
46
+          v-model="queryParams.document"
47
+          placeholder="请输入附件"
48
+          clearable
49
+          @keyup.enter.native="handleQuery"
50
+        />
51
+      </el-form-item>
52
+      <el-form-item>
53
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
54
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
55
+      </el-form-item>
56
+    </el-form>
57
+
58
+    <el-row :gutter="10" class="mb8">
59
+      <el-col :span="1.5">
60
+        <el-button
61
+          type="primary"
62
+          plain
63
+          icon="el-icon-plus"
64
+          size="mini"
65
+          @click="handleAdd"
66
+          v-hasPermi="['car:record:add']"
67
+        >新增</el-button>
68
+      </el-col>
69
+      <el-col :span="1.5">
70
+        <el-button
71
+          type="success"
72
+          plain
73
+          icon="el-icon-edit"
74
+          size="mini"
75
+          :disabled="single"
76
+          @click="handleUpdate"
77
+          v-hasPermi="['car:record:edit']"
78
+        >修改</el-button>
79
+      </el-col>
80
+      <el-col :span="1.5">
81
+        <el-button
82
+          type="danger"
83
+          plain
84
+          icon="el-icon-delete"
85
+          size="mini"
86
+          :disabled="multiple"
87
+          @click="handleDelete"
88
+          v-hasPermi="['car:record:remove']"
89
+        >删除</el-button>
90
+      </el-col>
91
+      <el-col :span="1.5">
92
+        <el-button
93
+          type="warning"
94
+          plain
95
+          icon="el-icon-download"
96
+          size="mini"
97
+          @click="handleExport"
98
+          v-hasPermi="['car:record:export']"
99
+        >导出</el-button>
100
+      </el-col>
101
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
102
+    </el-row>
103
+
104
+    <el-table v-loading="loading" :data="deviceScrapList" @selection-change="handleSelectionChange">
105
+      <el-table-column type="selection" width="55" align="center" />
106
+      <el-table-column label="车辆id" align="center" prop="carId" />
107
+      <el-table-column label="原价值" align="center" prop="cost" />
108
+      <el-table-column label="报废日期" align="center" prop="scrapDate" width="180">
109
+        <template slot-scope="scope">
110
+          <span>{{ parseTime(scope.row.scrapDate, '{y}-{m}-{d}') }}</span>
111
+        </template>
112
+      </el-table-column>
113
+      <el-table-column label="报废原因" align="center" prop="reason" />
114
+      <el-table-column label="处理结果" align="center" prop="deal" />
115
+      <el-table-column label="备注" align="center" prop="remark" />
116
+      <el-table-column label="附件" align="center" prop="document" />
117
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
118
+        <template slot-scope="scope">
119
+          <el-button
120
+            size="mini"
121
+            type="text"
122
+            icon="el-icon-edit"
123
+            @click="handleUpdate(scope.row)"
124
+            v-hasPermi="['car:record:edit']"
125
+          >修改</el-button>
126
+          <el-button
127
+            size="mini"
128
+            type="text"
129
+            icon="el-icon-delete"
130
+            @click="handleDelete(scope.row)"
131
+            v-hasPermi="['car:record:remove']"
132
+          >删除</el-button>
133
+        </template>
134
+      </el-table-column>
135
+    </el-table>
136
+    
137
+    <pagination
138
+      v-show="total>0"
139
+      :total="total"
140
+      :page.sync="queryParams.pageNum"
141
+      :limit.sync="queryParams.pageSize"
142
+      @pagination="getList"
143
+    />
144
+
145
+    <!-- 添加或修改cmc设备报废对话框 -->
146
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
147
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
148
+        <el-form-item label="车辆id" prop="carId">
149
+          <el-input v-model="form.carId" placeholder="请输入车辆id" />
150
+        </el-form-item>
151
+        <el-form-item label="原价值" prop="cost">
152
+          <el-input v-model="form.cost" placeholder="请输入原价值" />
153
+        </el-form-item>
154
+        <el-form-item label="报废日期" prop="scrapDate">
155
+          <el-date-picker clearable
156
+            v-model="form.scrapDate"
157
+            type="date"
158
+            value-format="yyyy-MM-dd"
159
+            placeholder="请选择报废日期">
160
+          </el-date-picker>
161
+        </el-form-item>
162
+        <el-form-item label="报废原因" prop="reason">
163
+          <el-input v-model="form.reason" placeholder="请输入报废原因" />
164
+        </el-form-item>
165
+        <el-form-item label="处理结果" prop="deal">
166
+          <el-input v-model="form.deal" placeholder="请输入处理结果" />
167
+        </el-form-item>
168
+        <el-form-item label="备注" prop="remark">
169
+          <el-input v-model="form.remark" placeholder="请输入备注" />
170
+        </el-form-item>
171
+        <el-form-item label="附件" prop="document">
172
+          <el-input v-model="form.document" placeholder="请输入附件" />
173
+        </el-form-item>
174
+      </el-form>
175
+      <div slot="footer" class="dialog-footer">
176
+        <el-button type="primary" @click="submitForm">确 定</el-button>
177
+        <el-button @click="cancel">取 消</el-button>
178
+      </div>
179
+    </el-dialog>
180
+  </div>
181
+</template>
182
+
183
+<script>
184
+import { listDeviceScrap, getDeviceScrap, delDeviceScrap, addDeviceScrap, updateDeviceScrap } from "@/api/oa/device/deviceScrap";
185
+
186
+export default {
187
+  name: "DeviceScrap",
188
+  data() {
189
+    return {
190
+      // 遮罩层
191
+      loading: true,
192
+      // 选中数组
193
+      ids: [],
194
+      // 非单个禁用
195
+      single: true,
196
+      // 非多个禁用
197
+      multiple: true,
198
+      // 显示搜索条件
199
+      showSearch: true,
200
+      // 总条数
201
+      total: 0,
202
+      // cmc设备报废表格数据
203
+      deviceScrapList: [],
204
+      // 弹出层标题
205
+      title: "",
206
+      // 是否显示弹出层
207
+      open: false,
208
+      // 查询参数
209
+      queryParams: {
210
+        pageNum: 1,
211
+        pageSize: 10,
212
+        carId: null,
213
+        cost: null,
214
+        scrapDate: null,
215
+        reason: null,
216
+        deal: null,
217
+        document: null
218
+      },
219
+      // 表单参数
220
+      form: {},
221
+      // 表单校验
222
+      rules: {
223
+      }
224
+    };
225
+  },
226
+  created() {
227
+    this.getList();
228
+  },
229
+  methods: {
230
+    /** 查询cmc设备报废列表 */
231
+    getList() {
232
+      this.loading = true;
233
+      this.queryParams.deviceId = 0;
234
+      listDeviceScrap(this.queryParams).then(response => {
235
+        this.deviceScrapList = response.rows;
236
+        this.total = response.total;
237
+        this.loading = false;
238
+      });
239
+    },
240
+    // 取消按钮
241
+    cancel() {
242
+      this.open = false;
243
+      this.reset();
244
+    },
245
+    // 表单重置
246
+    reset() {
247
+      this.form = {
248
+        deviceScrapId: null,
249
+        carId: null,
250
+        cost: null,
251
+        scrapDate: null,
252
+        reason: null,
253
+        deal: null,
254
+        remark: null,
255
+        document: null
256
+      };
257
+      this.resetForm("form");
258
+    },
259
+    /** 搜索按钮操作 */
260
+    handleQuery() {
261
+      this.queryParams.pageNum = 1;
262
+      this.getList();
263
+    },
264
+    /** 重置按钮操作 */
265
+    resetQuery() {
266
+      this.resetForm("queryForm");
267
+      this.handleQuery();
268
+    },
269
+    // 多选框选中数据
270
+    handleSelectionChange(selection) {
271
+      this.ids = selection.map(item => item.deviceScrapId)
272
+      this.single = selection.length!==1
273
+      this.multiple = !selection.length
274
+    },
275
+    /** 新增按钮操作 */
276
+    handleAdd() {
277
+      this.reset();
278
+      this.open = true;
279
+      this.title = "添加cmc设备报废";
280
+    },
281
+    /** 修改按钮操作 */
282
+    handleUpdate(row) {
283
+      this.reset();
284
+      const deviceScrapId = row.deviceScrapId || this.ids
285
+      getDeviceScrap(deviceScrapId).then(response => {
286
+        this.form = response.data;
287
+        this.open = true;
288
+        this.title = "修改cmc设备报废";
289
+      });
290
+    },
291
+    /** 提交按钮 */
292
+    submitForm() {
293
+      this.$refs["form"].validate(valid => {
294
+        if (valid) {
295
+          if (this.form.deviceScrapId != null) {
296
+            updateDeviceScrap(this.form).then(response => {
297
+              this.$modal.msgSuccess("修改成功");
298
+              this.open = false;
299
+              this.getList();
300
+            });
301
+          } else {
302
+            addDeviceScrap(this.form).then(response => {
303
+              this.$modal.msgSuccess("新增成功");
304
+              this.open = false;
305
+              this.getList();
306
+            });
307
+          }
308
+        }
309
+      });
310
+    },
311
+    /** 删除按钮操作 */
312
+    handleDelete(row) {
313
+      const deviceScrapIds = row.deviceScrapId || this.ids;
314
+      this.$modal.confirm('是否确认删除cmc设备报废编号为"' + deviceScrapIds + '"的数据项?').then(function() {
315
+        return delDeviceScrap(deviceScrapIds);
316
+      }).then(() => {
317
+        this.getList();
318
+        this.$modal.msgSuccess("删除成功");
319
+      }).catch(() => {});
320
+    },
321
+    /** 导出按钮操作 */
322
+    handleExport() {
323
+      this.download('oa/deviceScrap/export', {
324
+        ...this.queryParams
325
+      }, `deviceScrap_${new Date().getTime()}.xlsx`)
326
+    }
327
+  }
328
+};
329
+</script>

+ 6
- 6
oa-ui/src/views/oa/contract/index.vue Vedi File

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-18 09:05:41
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-06-11 16:35:10
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-06-13 21:33:20
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -33,8 +33,8 @@
33 33
       </el-form-item>
34 34
     </el-form>
35 35
 
36
-    <!-- <el-row :gutter="10" class="mb8">
37
-      <el-col :span="1.5">
36
+    <el-row :gutter="10" class="mb8">
37
+      <!-- <el-col :span="1.5">
38 38
         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
39 39
           v-hasPermi="['oa:contract:add']">新增</el-button>
40 40
       </el-col>
@@ -45,13 +45,13 @@
45 45
       <el-col :span="1.5">
46 46
         <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
47 47
           v-hasPermi="['oa:contract:remove']">删除</el-button>
48
-      </el-col>
48
+      </el-col> -->
49 49
       <el-col :span="1.5">
50 50
         <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
51 51
           v-hasPermi="['oa:contract:export']">导出</el-button>
52 52
       </el-col>
53 53
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
54
-    </el-row> -->
54
+    </el-row>
55 55
 
56 56
     <el-table v-loading="loading" border :data="contractList" @selection-change="handleSelectionChange">
57 57
       <el-table-column type="selection" width="55" align="center" />

+ 8
- 48
oa-ui/src/views/oa/contract/subContract.vue Vedi File

@@ -88,38 +88,6 @@
88 88
     </el-form>
89 89
 
90 90
     <el-row :gutter="10" class="mb8">
91
-      <el-col :span="1.5">
92
-        <el-button
93
-          type="primary"
94
-          plain
95
-          icon="el-icon-plus"
96
-          size="mini"
97
-          @click="handleAdd"
98
-          v-hasPermi="['oa:subContract:add']"
99
-        >新增</el-button>
100
-      </el-col>
101
-      <el-col :span="1.5">
102
-        <el-button
103
-          type="success"
104
-          plain
105
-          icon="el-icon-edit"
106
-          size="mini"
107
-          :disabled="single"
108
-          @click="handleUpdate"
109
-          v-hasPermi="['oa:subContract:edit']"
110
-        >修改</el-button>
111
-      </el-col>
112
-      <el-col :span="1.5">
113
-        <el-button
114
-          type="danger"
115
-          plain
116
-          icon="el-icon-delete"
117
-          size="mini"
118
-          :disabled="multiple"
119
-          @click="handleDelete"
120
-          v-hasPermi="['oa:subContract:remove']"
121
-        >删除</el-button>
122
-      </el-col>
123 91
       <el-col :span="1.5">
124 92
         <el-button
125 93
           type="warning"
@@ -157,22 +125,8 @@
157 125
       <el-table-column label="签订扫描件" align="center" prop="signScan" />
158 126
       <el-table-column label="评审方式" align="center" prop="commentType" />
159 127
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
160
-        <template slot-scope="scope">
161
-          <el-button
162
-            size="mini"
163
-            type="text"
164
-            icon="el-icon-edit"
165
-            @click="handleUpdate(scope.row)"
166
-            v-hasPermi="['oa:subContract:edit']"
167
-          >修改</el-button>
168
-          <el-button
169
-            size="mini"
170
-            type="text"
171
-            icon="el-icon-delete"
172
-            @click="handleDelete(scope.row)"
173
-            v-hasPermi="['oa:subContract:remove']"
174
-          >删除</el-button>
175
-        </template>
128
+          <el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)"
129
+            v-hasPermi="['oa:subContract:query']">查看</el-button>
176 130
       </el-table-column>
177 131
     </el-table>
178 132
     
@@ -300,6 +254,12 @@ export default {
300 254
         this.loading = false;
301 255
       });
302 256
     },
257
+    handleView(row) {
258
+      this.openInfo = true;
259
+      this.title = "合同详情";
260
+      this.form = row;
261
+      this.$set(this.taskForm,'formId',row.subContractId)
262
+    },
303 263
     // 取消按钮
304 264
     cancel() {
305 265
       this.open = false;

+ 30
- 2
oa-ui/src/views/oa/deposit/index.vue Vedi File

@@ -89,6 +89,14 @@
89 89
           @keyup.enter.native="handleQuery"
90 90
         />
91 91
       </el-form-item>
92
+      <el-form-item label="分管审批意见" prop="managerComment">
93
+        <el-input
94
+          v-model="queryParams.managerComment"
95
+          placeholder="请输入分管审批意见"
96
+          clearable
97
+          @keyup.enter.native="handleQuery"
98
+        />
99
+      </el-form-item>
92 100
       <el-form-item label="分管审批时间" prop="managerTime">
93 101
         <el-date-picker clearable
94 102
           v-model="queryParams.managerTime"
@@ -145,6 +153,14 @@
145 153
           @keyup.enter.native="handleQuery"
146 154
         />
147 155
       </el-form-item>
156
+      <el-form-item label="汇款凭证" prop="remitDocument">
157
+        <el-input
158
+          v-model="queryParams.remitDocument"
159
+          placeholder="请输入汇款凭证"
160
+          clearable
161
+          @keyup.enter.native="handleQuery"
162
+        />
163
+      </el-form-item>
148 164
       <el-form-item>
149 165
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
150 166
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -220,6 +236,7 @@
220 236
       </el-table-column>
221 237
       <el-table-column label="申请说明" align="center" prop="applyReason" />
222 238
       <el-table-column label="相关附件" align="center" prop="applyDocument" />
239
+      <el-table-column label="分管审批意见" align="center" prop="managerComment" />
223 240
       <el-table-column label="分管审批时间" align="center" prop="managerTime" width="180">
224 241
         <template slot-scope="scope">
225 242
           <span>{{ parseTime(scope.row.managerTime, '{y}-{m}-{d}') }}</span>
@@ -243,6 +260,7 @@
243 260
       </el-table-column>
244 261
       <el-table-column label="财务打款备注" align="center" prop="cwComment" />
245 262
       <el-table-column label="财务处理人" align="center" prop="cwUserId" />
263
+      <el-table-column label="汇款凭证" align="center" prop="remitDocument" />
246 264
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
247 265
         <template slot-scope="scope">
248 266
           <el-button
@@ -317,6 +335,9 @@
317 335
         <el-form-item label="相关附件" prop="applyDocument">
318 336
           <el-input v-model="form.applyDocument" placeholder="请输入相关附件" />
319 337
         </el-form-item>
338
+        <el-form-item label="分管审批意见" prop="managerComment">
339
+          <el-input v-model="form.managerComment" placeholder="请输入分管审批意见" />
340
+        </el-form-item>
320 341
         <el-form-item label="分管审批时间" prop="managerTime">
321 342
           <el-date-picker clearable
322 343
             v-model="form.managerTime"
@@ -358,6 +379,9 @@
358 379
         <el-form-item label="财务处理人" prop="cwUserId">
359 380
           <el-input v-model="form.cwUserId" placeholder="请输入财务处理人" />
360 381
         </el-form-item>
382
+        <el-form-item label="汇款凭证" prop="remitDocument">
383
+          <el-input v-model="form.remitDocument" placeholder="请输入汇款凭证" />
384
+        </el-form-item>
361 385
       </el-form>
362 386
       <div slot="footer" class="dialog-footer">
363 387
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -408,13 +432,15 @@ export default {
408 432
         applyTime: null,
409 433
         applyReason: null,
410 434
         applyDocument: null,
435
+        managerComment: null,
411 436
         managerTime: null,
412 437
         managerUserId: null,
413 438
         remitTime: null,
414 439
         cwTime: null,
415 440
         backTime: null,
416 441
         cwComment: null,
417
-        cwUserId: null
442
+        cwUserId: null,
443
+        remitDocument: null
418 444
       },
419 445
       // 表单参数
420 446
       form: {},
@@ -457,13 +483,15 @@ export default {
457 483
         applyTime: null,
458 484
         applyReason: null,
459 485
         applyDocument: null,
486
+        managerComment: null,
460 487
         managerTime: null,
461 488
         managerUserId: null,
462 489
         remitTime: null,
463 490
         cwTime: null,
464 491
         backTime: null,
465 492
         cwComment: null,
466
-        cwUserId: null
493
+        cwUserId: null,
494
+        remitDocument: null
467 495
       };
468 496
       this.resetForm("form");
469 497
     },

+ 552
- 0
oa-ui/src/views/oa/device/approval.vue Vedi File

@@ -0,0 +1,552 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
+      <el-form-item label="申请人" prop="applier">
5
+        <el-input
6
+          v-model="queryParams.applier"
7
+          placeholder="请输入申请人"
8
+          clearable
9
+          @keyup.enter.native="handleQuery"
10
+        />
11
+      </el-form-item>
12
+      <el-form-item label="使用部门" prop="useDept">
13
+        <el-input
14
+          v-model="queryParams.useDept"
15
+          placeholder="请输入使用部门"
16
+          clearable
17
+          @keyup.enter.native="handleQuery"
18
+        />
19
+      </el-form-item>
20
+      <el-form-item label="设备id" prop="devices">
21
+        <el-input
22
+          v-model="queryParams.devices"
23
+          placeholder="请输入设备id"
24
+          clearable
25
+          @keyup.enter.native="handleQuery"
26
+        />
27
+      </el-form-item>
28
+      <el-form-item label="修改后设备id" prop="modifyDevices">
29
+        <el-input
30
+          v-model="queryParams.modifyDevices"
31
+          placeholder="请输入修改后设备id"
32
+          clearable
33
+          @keyup.enter.native="handleQuery"
34
+        />
35
+      </el-form-item>
36
+      <el-form-item label="项目id" prop="projectId">
37
+        <el-input
38
+          v-model="queryParams.projectId"
39
+          placeholder="请输入项目id"
40
+          clearable
41
+          @keyup.enter.native="handleQuery"
42
+        />
43
+      </el-form-item>
44
+      <el-form-item label="申领事由" prop="applyReason">
45
+        <el-input
46
+          v-model="queryParams.applyReason"
47
+          placeholder="请输入申领事由"
48
+          clearable
49
+          @keyup.enter.native="handleQuery"
50
+        />
51
+      </el-form-item>
52
+      <el-form-item label="开始日期" prop="beginDate">
53
+        <el-date-picker clearable
54
+          v-model="queryParams.beginDate"
55
+          type="date"
56
+          value-format="yyyy-MM-dd"
57
+          placeholder="请选择开始日期">
58
+        </el-date-picker>
59
+      </el-form-item>
60
+      <el-form-item label="结束日期" prop="endDate">
61
+        <el-date-picker clearable
62
+          v-model="queryParams.endDate"
63
+          type="date"
64
+          value-format="yyyy-MM-dd"
65
+          placeholder="请选择结束日期">
66
+        </el-date-picker>
67
+      </el-form-item>
68
+      <el-form-item label="天数" prop="days">
69
+        <el-input
70
+          v-model="queryParams.days"
71
+          placeholder="请输入天数"
72
+          clearable
73
+          @keyup.enter.native="handleQuery"
74
+        />
75
+      </el-form-item>
76
+      <el-form-item label="分管审批人" prop="managerUserId">
77
+        <el-input
78
+          v-model="queryParams.managerUserId"
79
+          placeholder="请输入分管审批人"
80
+          clearable
81
+          @keyup.enter.native="handleQuery"
82
+        />
83
+      </el-form-item>
84
+      <el-form-item label="分管审批意见" prop="managerComment">
85
+        <el-input
86
+          v-model="queryParams.managerComment"
87
+          placeholder="请输入分管审批意见"
88
+          clearable
89
+          @keyup.enter.native="handleQuery"
90
+        />
91
+      </el-form-item>
92
+      <el-form-item label="调度员" prop="dispatcher">
93
+        <el-input
94
+          v-model="queryParams.dispatcher"
95
+          placeholder="请输入调度员"
96
+          clearable
97
+          @keyup.enter.native="handleQuery"
98
+        />
99
+      </el-form-item>
100
+      <el-form-item label="调度审批意见" prop="dispatchComment">
101
+        <el-input
102
+          v-model="queryParams.dispatchComment"
103
+          placeholder="请输入调度审批意见"
104
+          clearable
105
+          @keyup.enter.native="handleQuery"
106
+        />
107
+      </el-form-item>
108
+      <el-form-item label="预计设备成本" prop="estimateCost">
109
+        <el-input
110
+          v-model="queryParams.estimateCost"
111
+          placeholder="请输入预计设备成本"
112
+          clearable
113
+          @keyup.enter.native="handleQuery"
114
+        />
115
+      </el-form-item>
116
+      <el-form-item label="申请日期" prop="applyDate">
117
+        <el-date-picker clearable
118
+          v-model="queryParams.applyDate"
119
+          type="date"
120
+          value-format="yyyy-MM-dd"
121
+          placeholder="请选择申请日期">
122
+        </el-date-picker>
123
+      </el-form-item>
124
+      <el-form-item label="确认日期" prop="confirmDate">
125
+        <el-date-picker clearable
126
+          v-model="queryParams.confirmDate"
127
+          type="date"
128
+          value-format="yyyy-MM-dd"
129
+          placeholder="请选择确认日期">
130
+        </el-date-picker>
131
+      </el-form-item>
132
+      <el-form-item label="归还日期" prop="returnDate">
133
+        <el-date-picker clearable
134
+          v-model="queryParams.returnDate"
135
+          type="date"
136
+          value-format="yyyy-MM-dd"
137
+          placeholder="请选择归还日期">
138
+        </el-date-picker>
139
+      </el-form-item>
140
+      <el-form-item label="需维修设备id" prop="repairDevices">
141
+        <el-input
142
+          v-model="queryParams.repairDevices"
143
+          placeholder="请输入需维修设备id"
144
+          clearable
145
+          @keyup.enter.native="handleQuery"
146
+        />
147
+      </el-form-item>
148
+      <el-form-item label="部门审批时间" prop="deptTime">
149
+        <el-date-picker clearable
150
+          v-model="queryParams.deptTime"
151
+          type="date"
152
+          value-format="yyyy-MM-dd"
153
+          placeholder="请选择部门审批时间">
154
+        </el-date-picker>
155
+      </el-form-item>
156
+      <el-form-item label="分管审批时间" prop="managerTime">
157
+        <el-date-picker clearable
158
+          v-model="queryParams.managerTime"
159
+          type="date"
160
+          value-format="yyyy-MM-dd"
161
+          placeholder="请选择分管审批时间">
162
+        </el-date-picker>
163
+      </el-form-item>
164
+      <el-form-item label="调度审批时间" prop="dispatchTime">
165
+        <el-date-picker clearable
166
+          v-model="queryParams.dispatchTime"
167
+          type="date"
168
+          value-format="yyyy-MM-dd"
169
+          placeholder="请选择调度审批时间">
170
+        </el-date-picker>
171
+      </el-form-item>
172
+      <el-form-item>
173
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
174
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
175
+      </el-form-item>
176
+    </el-form>
177
+
178
+    <el-row :gutter="10" class="mb8">
179
+      <el-col :span="1.5">
180
+        <el-button
181
+          type="warning"
182
+          plain
183
+          icon="el-icon-download"
184
+          size="mini"
185
+          @click="handleExport"
186
+          v-hasPermi="['device:record:export']"
187
+        >导出</el-button>
188
+      </el-col>
189
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
190
+    </el-row>
191
+
192
+    <el-table v-loading="loading" :data="deviceApprovalList" @selection-change="handleSelectionChange">
193
+      <el-table-column type="selection" width="55" align="center" />
194
+      <el-table-column label="设备申请id" align="center" prop="deviceApplyId" />
195
+      <el-table-column label="申请人" align="center" prop="applier" />
196
+      <el-table-column label="使用部门" align="center" prop="useDept" />
197
+      <el-table-column label="设备id" align="center" prop="devices" />
198
+      <el-table-column label="修改后设备id" align="center" prop="modifyDevices" />
199
+      <el-table-column label="项目id" align="center" prop="projectId" />
200
+      <el-table-column label="申领事由" align="center" prop="applyReason" />
201
+      <el-table-column label="开始日期" align="center" prop="beginDate" width="180">
202
+        <template slot-scope="scope">
203
+          <span>{{ parseTime(scope.row.beginDate, '{y}-{m}-{d}') }}</span>
204
+        </template>
205
+      </el-table-column>
206
+      <el-table-column label="结束日期" align="center" prop="endDate" width="180">
207
+        <template slot-scope="scope">
208
+          <span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
209
+        </template>
210
+      </el-table-column>
211
+      <el-table-column label="天数" align="center" prop="days" />
212
+      <el-table-column label="分管审批人" align="center" prop="managerUserId" />
213
+      <el-table-column label="分管审批意见" align="center" prop="managerComment" />
214
+      <el-table-column label="调度员" align="center" prop="dispatcher" />
215
+      <el-table-column label="调度审批意见" align="center" prop="dispatchComment" />
216
+      <el-table-column label="预计设备成本" align="center" prop="estimateCost" />
217
+      <el-table-column label="申请日期" align="center" prop="applyDate" width="180">
218
+        <template slot-scope="scope">
219
+          <span>{{ parseTime(scope.row.applyDate, '{y}-{m}-{d}') }}</span>
220
+        </template>
221
+      </el-table-column>
222
+      <el-table-column label="确认日期" align="center" prop="confirmDate" width="180">
223
+        <template slot-scope="scope">
224
+          <span>{{ parseTime(scope.row.confirmDate, '{y}-{m}-{d}') }}</span>
225
+        </template>
226
+      </el-table-column>
227
+      <el-table-column label="归还日期" align="center" prop="returnDate" width="180">
228
+        <template slot-scope="scope">
229
+          <span>{{ parseTime(scope.row.returnDate, '{y}-{m}-{d}') }}</span>
230
+        </template>
231
+      </el-table-column>
232
+      <el-table-column label="需维修设备id" align="center" prop="repairDevices" />
233
+      <el-table-column label="备注说明" align="center" prop="remark" />
234
+      <el-table-column label="部门审批时间" align="center" prop="deptTime" width="180">
235
+        <template slot-scope="scope">
236
+          <span>{{ parseTime(scope.row.deptTime, '{y}-{m}-{d}') }}</span>
237
+        </template>
238
+      </el-table-column>
239
+      <el-table-column label="分管审批时间" align="center" prop="managerTime" width="180">
240
+        <template slot-scope="scope">
241
+          <span>{{ parseTime(scope.row.managerTime, '{y}-{m}-{d}') }}</span>
242
+        </template>
243
+      </el-table-column>
244
+      <el-table-column label="调度审批时间" align="center" prop="dispatchTime" width="180">
245
+        <template slot-scope="scope">
246
+          <span>{{ parseTime(scope.row.dispatchTime, '{y}-{m}-{d}') }}</span>
247
+        </template>
248
+      </el-table-column>
249
+    </el-table>
250
+    
251
+    <pagination
252
+      v-show="total>0"
253
+      :total="total"
254
+      :page.sync="queryParams.pageNum"
255
+      :limit.sync="queryParams.pageSize"
256
+      @pagination="getList"
257
+    />
258
+
259
+    <!-- 添加或修改cmc设备审批对话框 -->
260
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
261
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
262
+        <el-form-item label="申请人" prop="applier">
263
+          <el-input v-model="form.applier" placeholder="请输入申请人" />
264
+        </el-form-item>
265
+        <el-form-item label="使用部门" prop="useDept">
266
+          <el-input v-model="form.useDept" placeholder="请输入使用部门" />
267
+        </el-form-item>
268
+        <el-form-item label="设备id" prop="devices">
269
+          <el-input v-model="form.devices" placeholder="请输入设备id" />
270
+        </el-form-item>
271
+        <el-form-item label="修改后设备id" prop="modifyDevices">
272
+          <el-input v-model="form.modifyDevices" placeholder="请输入修改后设备id" />
273
+        </el-form-item>
274
+        <el-form-item label="项目id" prop="projectId">
275
+          <el-input v-model="form.projectId" placeholder="请输入项目id" />
276
+        </el-form-item>
277
+        <el-form-item label="申领事由" prop="applyReason">
278
+          <el-input v-model="form.applyReason" placeholder="请输入申领事由" />
279
+        </el-form-item>
280
+        <el-form-item label="开始日期" prop="beginDate">
281
+          <el-date-picker clearable
282
+            v-model="form.beginDate"
283
+            type="date"
284
+            value-format="yyyy-MM-dd"
285
+            placeholder="请选择开始日期">
286
+          </el-date-picker>
287
+        </el-form-item>
288
+        <el-form-item label="结束日期" prop="endDate">
289
+          <el-date-picker clearable
290
+            v-model="form.endDate"
291
+            type="date"
292
+            value-format="yyyy-MM-dd"
293
+            placeholder="请选择结束日期">
294
+          </el-date-picker>
295
+        </el-form-item>
296
+        <el-form-item label="天数" prop="days">
297
+          <el-input v-model="form.days" placeholder="请输入天数" />
298
+        </el-form-item>
299
+        <el-form-item label="分管审批人" prop="managerUserId">
300
+          <el-input v-model="form.managerUserId" placeholder="请输入分管审批人" />
301
+        </el-form-item>
302
+        <el-form-item label="分管审批意见" prop="managerComment">
303
+          <el-input v-model="form.managerComment" placeholder="请输入分管审批意见" />
304
+        </el-form-item>
305
+        <el-form-item label="调度员" prop="dispatcher">
306
+          <el-input v-model="form.dispatcher" placeholder="请输入调度员" />
307
+        </el-form-item>
308
+        <el-form-item label="调度审批意见" prop="dispatchComment">
309
+          <el-input v-model="form.dispatchComment" placeholder="请输入调度审批意见" />
310
+        </el-form-item>
311
+        <el-form-item label="预计设备成本" prop="estimateCost">
312
+          <el-input v-model="form.estimateCost" placeholder="请输入预计设备成本" />
313
+        </el-form-item>
314
+        <el-form-item label="申请日期" prop="applyDate">
315
+          <el-date-picker clearable
316
+            v-model="form.applyDate"
317
+            type="date"
318
+            value-format="yyyy-MM-dd"
319
+            placeholder="请选择申请日期">
320
+          </el-date-picker>
321
+        </el-form-item>
322
+        <el-form-item label="确认日期" prop="confirmDate">
323
+          <el-date-picker clearable
324
+            v-model="form.confirmDate"
325
+            type="date"
326
+            value-format="yyyy-MM-dd"
327
+            placeholder="请选择确认日期">
328
+          </el-date-picker>
329
+        </el-form-item>
330
+        <el-form-item label="归还日期" prop="returnDate">
331
+          <el-date-picker clearable
332
+            v-model="form.returnDate"
333
+            type="date"
334
+            value-format="yyyy-MM-dd"
335
+            placeholder="请选择归还日期">
336
+          </el-date-picker>
337
+        </el-form-item>
338
+        <el-form-item label="需维修设备id" prop="repairDevices">
339
+          <el-input v-model="form.repairDevices" placeholder="请输入需维修设备id" />
340
+        </el-form-item>
341
+        <el-form-item label="备注说明" prop="remark">
342
+          <el-input v-model="form.remark" placeholder="请输入备注说明" />
343
+        </el-form-item>
344
+        <el-form-item label="部门审批时间" prop="deptTime">
345
+          <el-date-picker clearable
346
+            v-model="form.deptTime"
347
+            type="date"
348
+            value-format="yyyy-MM-dd"
349
+            placeholder="请选择部门审批时间">
350
+          </el-date-picker>
351
+        </el-form-item>
352
+        <el-form-item label="分管审批时间" prop="managerTime">
353
+          <el-date-picker clearable
354
+            v-model="form.managerTime"
355
+            type="date"
356
+            value-format="yyyy-MM-dd"
357
+            placeholder="请选择分管审批时间">
358
+          </el-date-picker>
359
+        </el-form-item>
360
+        <el-form-item label="调度审批时间" prop="dispatchTime">
361
+          <el-date-picker clearable
362
+            v-model="form.dispatchTime"
363
+            type="date"
364
+            value-format="yyyy-MM-dd"
365
+            placeholder="请选择调度审批时间">
366
+          </el-date-picker>
367
+        </el-form-item>
368
+      </el-form>
369
+      <div slot="footer" class="dialog-footer">
370
+        <el-button type="primary" @click="submitForm">确 定</el-button>
371
+        <el-button @click="cancel">取 消</el-button>
372
+      </div>
373
+    </el-dialog>
374
+  </div>
375
+</template>
376
+
377
+<script>
378
+import { listDeviceApproval, getDeviceApproval, delDeviceApproval, addDeviceApproval, updateDeviceApproval } from "@/api/oa/device/deviceApproval";
379
+
380
+export default {
381
+  name: "DeviceApproval",
382
+  data() {
383
+    return {
384
+      // 遮罩层
385
+      loading: true,
386
+      // 选中数组
387
+      ids: [],
388
+      // 非单个禁用
389
+      single: true,
390
+      // 非多个禁用
391
+      multiple: true,
392
+      // 显示搜索条件
393
+      showSearch: true,
394
+      // 总条数
395
+      total: 0,
396
+      // cmc设备审批表格数据
397
+      deviceApprovalList: [],
398
+      // 弹出层标题
399
+      title: "",
400
+      // 是否显示弹出层
401
+      open: false,
402
+      // 查询参数
403
+      queryParams: {
404
+        pageNum: 1,
405
+        pageSize: 10,
406
+        applier: null,
407
+        useDept: null,
408
+        devices: null,
409
+        modifyDevices: null,
410
+        projectId: null,
411
+        applyReason: null,
412
+        beginDate: null,
413
+        endDate: null,
414
+        days: null,
415
+        managerUserId: null,
416
+        managerComment: null,
417
+        dispatcher: null,
418
+        dispatchComment: null,
419
+        estimateCost: null,
420
+        applyDate: null,
421
+        confirmDate: null,
422
+        returnDate: null,
423
+        repairDevices: null,
424
+        deptTime: null,
425
+        managerTime: null,
426
+        dispatchTime: null
427
+      },
428
+      // 表单参数
429
+      form: {},
430
+      // 表单校验
431
+      rules: {
432
+      }
433
+    };
434
+  },
435
+  created() {
436
+    this.getList();
437
+  },
438
+  methods: {
439
+    /** 查询cmc设备审批列表 */
440
+    getList() {
441
+      this.loading = true;
442
+      listDeviceApproval(this.queryParams).then(response => {
443
+        this.deviceApprovalList = response.rows;
444
+        this.total = response.total;
445
+        this.loading = false;
446
+      });
447
+    },
448
+    // 取消按钮
449
+    cancel() {
450
+      this.open = false;
451
+      this.reset();
452
+    },
453
+    // 表单重置
454
+    reset() {
455
+      this.form = {
456
+        deviceApplyId: null,
457
+        applier: null,
458
+        useDept: null,
459
+        devices: null,
460
+        modifyDevices: null,
461
+        projectId: null,
462
+        applyReason: null,
463
+        beginDate: null,
464
+        endDate: null,
465
+        days: null,
466
+        managerUserId: null,
467
+        managerComment: null,
468
+        dispatcher: null,
469
+        dispatchComment: null,
470
+        estimateCost: null,
471
+        applyDate: null,
472
+        confirmDate: null,
473
+        returnDate: null,
474
+        repairDevices: null,
475
+        remark: null,
476
+        deptTime: null,
477
+        managerTime: null,
478
+        dispatchTime: null
479
+      };
480
+      this.resetForm("form");
481
+    },
482
+    /** 搜索按钮操作 */
483
+    handleQuery() {
484
+      this.queryParams.pageNum = 1;
485
+      this.getList();
486
+    },
487
+    /** 重置按钮操作 */
488
+    resetQuery() {
489
+      this.resetForm("queryForm");
490
+      this.handleQuery();
491
+    },
492
+    // 多选框选中数据
493
+    handleSelectionChange(selection) {
494
+      this.ids = selection.map(item => item.deviceApplyId)
495
+      this.single = selection.length!==1
496
+      this.multiple = !selection.length
497
+    },
498
+    /** 新增按钮操作 */
499
+    handleAdd() {
500
+      this.reset();
501
+      this.open = true;
502
+      this.title = "添加cmc设备审批";
503
+    },
504
+    /** 修改按钮操作 */
505
+    handleUpdate(row) {
506
+      this.reset();
507
+      const deviceApplyId = row.deviceApplyId || this.ids
508
+      getDeviceApproval(deviceApplyId).then(response => {
509
+        this.form = response.data;
510
+        this.open = true;
511
+        this.title = "修改cmc设备审批";
512
+      });
513
+    },
514
+    /** 提交按钮 */
515
+    submitForm() {
516
+      this.$refs["form"].validate(valid => {
517
+        if (valid) {
518
+          if (this.form.deviceApplyId != null) {
519
+            updateDeviceApproval(this.form).then(response => {
520
+              this.$modal.msgSuccess("修改成功");
521
+              this.open = false;
522
+              this.getList();
523
+            });
524
+          } else {
525
+            addDeviceApproval(this.form).then(response => {
526
+              this.$modal.msgSuccess("新增成功");
527
+              this.open = false;
528
+              this.getList();
529
+            });
530
+          }
531
+        }
532
+      });
533
+    },
534
+    /** 删除按钮操作 */
535
+    handleDelete(row) {
536
+      const deviceApplyIds = row.deviceApplyId || this.ids;
537
+      this.$modal.confirm('是否确认删除cmc设备审批编号为"' + deviceApplyIds + '"的数据项?').then(function() {
538
+        return delDeviceApproval(deviceApplyIds);
539
+      }).then(() => {
540
+        this.getList();
541
+        this.$modal.msgSuccess("删除成功");
542
+      }).catch(() => {});
543
+    },
544
+    /** 导出按钮操作 */
545
+    handleExport() {
546
+      this.download('oa/deviceApproval/export', {
547
+        ...this.queryParams
548
+      }, `deviceApproval_${new Date().getTime()}.xlsx`)
549
+    }
550
+  }
551
+};
552
+</script>

+ 1
- 1
oa-ui/src/views/oa/device/detail.vue Vedi File

@@ -421,7 +421,7 @@
421 421
 
422 422
 <script>
423 423
 import { getDevice } from '@/api/oa/device/device.js'
424
-import { listDeviceApproval, getDeviceApproval, delDeviceApproval, addDeviceApproval, updateDeviceApproval } from "@/api/oa/device/deviceApproval";
424
+import { listDeviceApproval } from "@/api/oa/device/deviceApproval";
425 425
 import { listDeviceHandover, getDeviceHandover, delDeviceHandover, addDeviceHandover, updateDeviceHandover } from "@/api/oa/device/deviceHandover";
426 426
 import { listDeviceExpense, getDeviceExpense, delDeviceExpense, addDeviceExpense, updateDeviceExpense } from "@/api/oa/device/deviceExpense";
427 427
 import { listDeviceScrap, getDeviceScrap, delDeviceScrap, addDeviceScrap, updateDeviceScrap } from "@/api/oa/device/deviceScrap";

+ 318
- 0
oa-ui/src/views/oa/device/expense.vue Vedi File

@@ -0,0 +1,318 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
+      <el-form-item label="设备id" prop="deviceId">
5
+        <el-input
6
+          v-model="queryParams.deviceId"
7
+          placeholder="请输入设备id"
8
+          clearable
9
+          @keyup.enter.native="handleQuery"
10
+        />
11
+      </el-form-item>
12
+      <el-form-item label="负责人id" prop="userId">
13
+        <el-input
14
+          v-model="queryParams.userId"
15
+          placeholder="请输入负责人id"
16
+          clearable
17
+          @keyup.enter.native="handleQuery"
18
+        />
19
+      </el-form-item>
20
+      <el-form-item label="费用金额" prop="expense">
21
+        <el-input
22
+          v-model="queryParams.expense"
23
+          placeholder="请输入费用金额"
24
+          clearable
25
+          @keyup.enter.native="handleQuery"
26
+        />
27
+      </el-form-item>
28
+      <el-form-item label="发生日期" prop="occurDate">
29
+        <el-date-picker clearable
30
+          v-model="queryParams.occurDate"
31
+          type="date"
32
+          value-format="yyyy-MM-dd"
33
+          placeholder="请选择发生日期">
34
+        </el-date-picker>
35
+      </el-form-item>
36
+      <el-form-item label="附件" prop="document">
37
+        <el-input
38
+          v-model="queryParams.document"
39
+          placeholder="请输入附件"
40
+          clearable
41
+          @keyup.enter.native="handleQuery"
42
+        />
43
+      </el-form-item>
44
+      <el-form-item>
45
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
46
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
47
+      </el-form-item>
48
+    </el-form>
49
+
50
+    <el-row :gutter="10" class="mb8">
51
+      <el-col :span="1.5">
52
+        <el-button
53
+          type="primary"
54
+          plain
55
+          icon="el-icon-plus"
56
+          size="mini"
57
+          @click="handleAdd"
58
+          v-hasPermi="['device:record:add']"
59
+        >新增</el-button>
60
+      </el-col>
61
+      <el-col :span="1.5">
62
+        <el-button
63
+          type="success"
64
+          plain
65
+          icon="el-icon-edit"
66
+          size="mini"
67
+          :disabled="single"
68
+          @click="handleUpdate"
69
+          v-hasPermi="['device:record:edit']"
70
+        >修改</el-button>
71
+      </el-col>
72
+      <el-col :span="1.5">
73
+        <el-button
74
+          type="danger"
75
+          plain
76
+          icon="el-icon-delete"
77
+          size="mini"
78
+          :disabled="multiple"
79
+          @click="handleDelete"
80
+          v-hasPermi="['device:record:remove']"
81
+        >删除</el-button>
82
+      </el-col>
83
+      <el-col :span="1.5">
84
+        <el-button
85
+          type="warning"
86
+          plain
87
+          icon="el-icon-download"
88
+          size="mini"
89
+          @click="handleExport"
90
+          v-hasPermi="['device:record:export']"
91
+        >导出</el-button>
92
+      </el-col>
93
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
94
+    </el-row>
95
+
96
+    <el-table v-loading="loading" :data="deviceExpenseList" @selection-change="handleSelectionChange">
97
+      <el-table-column type="selection" width="55" align="center" />
98
+      <el-table-column label="设备id" align="center" prop="deviceId" />
99
+      <el-table-column label="负责人id" align="center" prop="userId" />
100
+      <el-table-column label="费用类型" align="center" prop="expenseType" />
101
+      <el-table-column label="费用金额" align="center" prop="expense" />
102
+      <el-table-column label="发生日期" align="center" prop="occurDate" width="180">
103
+        <template slot-scope="scope">
104
+          <span>{{ parseTime(scope.row.occurDate, '{y}-{m}-{d}') }}</span>
105
+        </template>
106
+      </el-table-column>
107
+      <el-table-column label="备注" align="center" prop="remark" />
108
+      <el-table-column label="附件" align="center" prop="document" />
109
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
110
+        <template slot-scope="scope">
111
+          <el-button
112
+            size="mini"
113
+            type="text"
114
+            icon="el-icon-edit"
115
+            @click="handleUpdate(scope.row)"
116
+            v-hasPermi="['device:record:edit']"
117
+          >修改</el-button>
118
+          <el-button
119
+            size="mini"
120
+            type="text"
121
+            icon="el-icon-delete"
122
+            @click="handleDelete(scope.row)"
123
+            v-hasPermi="['device:record:remove']"
124
+          >删除</el-button>
125
+        </template>
126
+      </el-table-column>
127
+    </el-table>
128
+    
129
+    <pagination
130
+      v-show="total>0"
131
+      :total="total"
132
+      :page.sync="queryParams.pageNum"
133
+      :limit.sync="queryParams.pageSize"
134
+      @pagination="getList"
135
+    />
136
+
137
+    <!-- 添加或修改cmc设备费用对话框 -->
138
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
139
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
140
+        <el-form-item label="设备id" prop="deviceId">
141
+          <el-input v-model="form.deviceId" placeholder="请输入设备id" />
142
+        </el-form-item>
143
+        <el-form-item label="负责人id" prop="userId">
144
+          <el-input v-model="form.userId" placeholder="请输入负责人id" />
145
+        </el-form-item>
146
+        <el-form-item label="费用金额" prop="expense">
147
+          <el-input v-model="form.expense" placeholder="请输入费用金额" />
148
+        </el-form-item>
149
+        <el-form-item label="发生日期" prop="occurDate">
150
+          <el-date-picker clearable
151
+            v-model="form.occurDate"
152
+            type="date"
153
+            value-format="yyyy-MM-dd"
154
+            placeholder="请选择发生日期">
155
+          </el-date-picker>
156
+        </el-form-item>
157
+        <el-form-item label="备注" prop="remark">
158
+          <el-input v-model="form.remark" placeholder="请输入备注" />
159
+        </el-form-item>
160
+        <el-form-item label="附件" prop="document">
161
+          <el-input v-model="form.document" placeholder="请输入附件" />
162
+        </el-form-item>
163
+      </el-form>
164
+      <div slot="footer" class="dialog-footer">
165
+        <el-button type="primary" @click="submitForm">确 定</el-button>
166
+        <el-button @click="cancel">取 消</el-button>
167
+      </div>
168
+    </el-dialog>
169
+  </div>
170
+</template>
171
+
172
+<script>
173
+import { listDeviceExpense, getDeviceExpense, delDeviceExpense, addDeviceExpense, updateDeviceExpense } from "@/api/oa/device/deviceExpense";
174
+
175
+export default {
176
+  name: "DeviceExpense",
177
+  data() {
178
+    return {
179
+      // 遮罩层
180
+      loading: true,
181
+      // 选中数组
182
+      ids: [],
183
+      // 非单个禁用
184
+      single: true,
185
+      // 非多个禁用
186
+      multiple: true,
187
+      // 显示搜索条件
188
+      showSearch: true,
189
+      // 总条数
190
+      total: 0,
191
+      // cmc设备费用表格数据
192
+      deviceExpenseList: [],
193
+      // 弹出层标题
194
+      title: "",
195
+      // 是否显示弹出层
196
+      open: false,
197
+      // 查询参数
198
+      queryParams: {
199
+        pageNum: 1,
200
+        pageSize: 10,
201
+        deviceId: null,
202
+        userId: null,
203
+        expenseType: null,
204
+        expense: null,
205
+        occurDate: null,
206
+        document: null
207
+      },
208
+      // 表单参数
209
+      form: {},
210
+      // 表单校验
211
+      rules: {
212
+      }
213
+    };
214
+  },
215
+  created() {
216
+    this.getList();
217
+  },
218
+  methods: {
219
+    /** 查询cmc设备费用列表 */
220
+    getList() {
221
+      this.loading = true;
222
+      this.queryParams.carId = 0;
223
+      listDeviceExpense(this.queryParams).then(response => {
224
+        this.deviceExpenseList = response.rows;
225
+        this.total = response.total;
226
+        this.loading = false;
227
+      });
228
+    },
229
+    // 取消按钮
230
+    cancel() {
231
+      this.open = false;
232
+      this.reset();
233
+    },
234
+    // 表单重置
235
+    reset() {
236
+      this.form = {
237
+        deviceExpenseId: null,
238
+        deviceId: null,
239
+        userId: null,
240
+        expenseType: null,
241
+        expense: null,
242
+        occurDate: null,
243
+        remark: null,
244
+        document: null
245
+      };
246
+      this.resetForm("form");
247
+    },
248
+    /** 搜索按钮操作 */
249
+    handleQuery() {
250
+      this.queryParams.pageNum = 1;
251
+      this.getList();
252
+    },
253
+    /** 重置按钮操作 */
254
+    resetQuery() {
255
+      this.resetForm("queryForm");
256
+      this.handleQuery();
257
+    },
258
+    // 多选框选中数据
259
+    handleSelectionChange(selection) {
260
+      this.ids = selection.map(item => item.deviceExpenseId)
261
+      this.single = selection.length!==1
262
+      this.multiple = !selection.length
263
+    },
264
+    /** 新增按钮操作 */
265
+    handleAdd() {
266
+      this.reset();
267
+      this.open = true;
268
+      this.title = "添加cmc设备费用";
269
+    },
270
+    /** 修改按钮操作 */
271
+    handleUpdate(row) {
272
+      this.reset();
273
+      const deviceExpenseId = row.deviceExpenseId || this.ids
274
+      getDeviceExpense(deviceExpenseId).then(response => {
275
+        this.form = response.data;
276
+        this.open = true;
277
+        this.title = "修改cmc设备费用";
278
+      });
279
+    },
280
+    /** 提交按钮 */
281
+    submitForm() {
282
+      this.$refs["form"].validate(valid => {
283
+        if (valid) {
284
+          if (this.form.deviceExpenseId != null) {
285
+            updateDeviceExpense(this.form).then(response => {
286
+              this.$modal.msgSuccess("修改成功");
287
+              this.open = false;
288
+              this.getList();
289
+            });
290
+          } else {
291
+            addDeviceExpense(this.form).then(response => {
292
+              this.$modal.msgSuccess("新增成功");
293
+              this.open = false;
294
+              this.getList();
295
+            });
296
+          }
297
+        }
298
+      });
299
+    },
300
+    /** 删除按钮操作 */
301
+    handleDelete(row) {
302
+      const deviceExpenseIds = row.deviceExpenseId || this.ids;
303
+      this.$modal.confirm('是否确认删除cmc设备费用编号为"' + deviceExpenseIds + '"的数据项?').then(function() {
304
+        return delDeviceExpense(deviceExpenseIds);
305
+      }).then(() => {
306
+        this.getList();
307
+        this.$modal.msgSuccess("删除成功");
308
+      }).catch(() => {});
309
+    },
310
+    /** 导出按钮操作 */
311
+    handleExport() {
312
+      this.download('oa/deviceExpense/export', {
313
+        ...this.queryParams
314
+      }, `deviceExpense_${new Date().getTime()}.xlsx`)
315
+    }
316
+  }
317
+};
318
+</script>

+ 329
- 0
oa-ui/src/views/oa/device/scrap.vue Vedi File

@@ -0,0 +1,329 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
+      <el-form-item label="设备id" prop="deviceId">
5
+        <el-input
6
+          v-model="queryParams.deviceId"
7
+          placeholder="请输入设备id"
8
+          clearable
9
+          @keyup.enter.native="handleQuery"
10
+        />
11
+      </el-form-item>
12
+      <el-form-item label="原价值" prop="cost">
13
+        <el-input
14
+          v-model="queryParams.cost"
15
+          placeholder="请输入原价值"
16
+          clearable
17
+          @keyup.enter.native="handleQuery"
18
+        />
19
+      </el-form-item>
20
+      <el-form-item label="报废日期" prop="scrapDate">
21
+        <el-date-picker clearable
22
+          v-model="queryParams.scrapDate"
23
+          type="date"
24
+          value-format="yyyy-MM-dd"
25
+          placeholder="请选择报废日期">
26
+        </el-date-picker>
27
+      </el-form-item>
28
+      <el-form-item label="报废原因" prop="reason">
29
+        <el-input
30
+          v-model="queryParams.reason"
31
+          placeholder="请输入报废原因"
32
+          clearable
33
+          @keyup.enter.native="handleQuery"
34
+        />
35
+      </el-form-item>
36
+      <el-form-item label="处理结果" prop="deal">
37
+        <el-input
38
+          v-model="queryParams.deal"
39
+          placeholder="请输入处理结果"
40
+          clearable
41
+          @keyup.enter.native="handleQuery"
42
+        />
43
+      </el-form-item>
44
+      <el-form-item label="附件" prop="document">
45
+        <el-input
46
+          v-model="queryParams.document"
47
+          placeholder="请输入附件"
48
+          clearable
49
+          @keyup.enter.native="handleQuery"
50
+        />
51
+      </el-form-item>
52
+      <el-form-item>
53
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
54
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
55
+      </el-form-item>
56
+    </el-form>
57
+
58
+    <el-row :gutter="10" class="mb8">
59
+      <el-col :span="1.5">
60
+        <el-button
61
+          type="primary"
62
+          plain
63
+          icon="el-icon-plus"
64
+          size="mini"
65
+          @click="handleAdd"
66
+          v-hasPermi="['device:record:add']"
67
+        >新增</el-button>
68
+      </el-col>
69
+      <el-col :span="1.5">
70
+        <el-button
71
+          type="success"
72
+          plain
73
+          icon="el-icon-edit"
74
+          size="mini"
75
+          :disabled="single"
76
+          @click="handleUpdate"
77
+          v-hasPermi="['device:record:edit']"
78
+        >修改</el-button>
79
+      </el-col>
80
+      <el-col :span="1.5">
81
+        <el-button
82
+          type="danger"
83
+          plain
84
+          icon="el-icon-delete"
85
+          size="mini"
86
+          :disabled="multiple"
87
+          @click="handleDelete"
88
+          v-hasPermi="['device:record:remove']"
89
+        >删除</el-button>
90
+      </el-col>
91
+      <el-col :span="1.5">
92
+        <el-button
93
+          type="warning"
94
+          plain
95
+          icon="el-icon-download"
96
+          size="mini"
97
+          @click="handleExport"
98
+          v-hasPermi="['device:record:export']"
99
+        >导出</el-button>
100
+      </el-col>
101
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
102
+    </el-row>
103
+
104
+    <el-table v-loading="loading" :data="deviceScrapList" @selection-change="handleSelectionChange">
105
+      <el-table-column type="selection" width="55" align="center" />
106
+      <el-table-column label="设备id" align="center" prop="deviceId" />
107
+      <el-table-column label="原价值" align="center" prop="cost" />
108
+      <el-table-column label="报废日期" align="center" prop="scrapDate" width="180">
109
+        <template slot-scope="scope">
110
+          <span>{{ parseTime(scope.row.scrapDate, '{y}-{m}-{d}') }}</span>
111
+        </template>
112
+      </el-table-column>
113
+      <el-table-column label="报废原因" align="center" prop="reason" />
114
+      <el-table-column label="处理结果" align="center" prop="deal" />
115
+      <el-table-column label="备注" align="center" prop="remark" />
116
+      <el-table-column label="附件" align="center" prop="document" />
117
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
118
+        <template slot-scope="scope">
119
+          <el-button
120
+            size="mini"
121
+            type="text"
122
+            icon="el-icon-edit"
123
+            @click="handleUpdate(scope.row)"
124
+            v-hasPermi="['device:record:edit']"
125
+          >修改</el-button>
126
+          <el-button
127
+            size="mini"
128
+            type="text"
129
+            icon="el-icon-delete"
130
+            @click="handleDelete(scope.row)"
131
+            v-hasPermi="['device:record:remove']"
132
+          >删除</el-button>
133
+        </template>
134
+      </el-table-column>
135
+    </el-table>
136
+    
137
+    <pagination
138
+      v-show="total>0"
139
+      :total="total"
140
+      :page.sync="queryParams.pageNum"
141
+      :limit.sync="queryParams.pageSize"
142
+      @pagination="getList"
143
+    />
144
+
145
+    <!-- 添加或修改cmc设备报废对话框 -->
146
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
147
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
148
+        <el-form-item label="设备id" prop="deviceId">
149
+          <el-input v-model="form.deviceId" placeholder="请输入设备id" />
150
+        </el-form-item>
151
+        <el-form-item label="原价值" prop="cost">
152
+          <el-input v-model="form.cost" placeholder="请输入原价值" />
153
+        </el-form-item>
154
+        <el-form-item label="报废日期" prop="scrapDate">
155
+          <el-date-picker clearable
156
+            v-model="form.scrapDate"
157
+            type="date"
158
+            value-format="yyyy-MM-dd"
159
+            placeholder="请选择报废日期">
160
+          </el-date-picker>
161
+        </el-form-item>
162
+        <el-form-item label="报废原因" prop="reason">
163
+          <el-input v-model="form.reason" placeholder="请输入报废原因" />
164
+        </el-form-item>
165
+        <el-form-item label="处理结果" prop="deal">
166
+          <el-input v-model="form.deal" placeholder="请输入处理结果" />
167
+        </el-form-item>
168
+        <el-form-item label="备注" prop="remark">
169
+          <el-input v-model="form.remark" placeholder="请输入备注" />
170
+        </el-form-item>
171
+        <el-form-item label="附件" prop="document">
172
+          <el-input v-model="form.document" placeholder="请输入附件" />
173
+        </el-form-item>
174
+      </el-form>
175
+      <div slot="footer" class="dialog-footer">
176
+        <el-button type="primary" @click="submitForm">确 定</el-button>
177
+        <el-button @click="cancel">取 消</el-button>
178
+      </div>
179
+    </el-dialog>
180
+  </div>
181
+</template>
182
+
183
+<script>
184
+import { listDeviceScrap, getDeviceScrap, delDeviceScrap, addDeviceScrap, updateDeviceScrap } from "@/api/oa/device/deviceScrap";
185
+
186
+export default {
187
+  name: "DeviceScrap",
188
+  data() {
189
+    return {
190
+      // 遮罩层
191
+      loading: true,
192
+      // 选中数组
193
+      ids: [],
194
+      // 非单个禁用
195
+      single: true,
196
+      // 非多个禁用
197
+      multiple: true,
198
+      // 显示搜索条件
199
+      showSearch: true,
200
+      // 总条数
201
+      total: 0,
202
+      // cmc设备报废表格数据
203
+      deviceScrapList: [],
204
+      // 弹出层标题
205
+      title: "",
206
+      // 是否显示弹出层
207
+      open: false,
208
+      // 查询参数
209
+      queryParams: {
210
+        pageNum: 1,
211
+        pageSize: 10,
212
+        deviceId: null,
213
+        cost: null,
214
+        scrapDate: null,
215
+        reason: null,
216
+        deal: null,
217
+        document: null
218
+      },
219
+      // 表单参数
220
+      form: {},
221
+      // 表单校验
222
+      rules: {
223
+      }
224
+    };
225
+  },
226
+  created() {
227
+    this.getList();
228
+  },
229
+  methods: {
230
+    /** 查询cmc设备报废列表 */
231
+    getList() {
232
+      this.loading = true;
233
+      this.queryParams.carId = 0;
234
+      listDeviceScrap(this.queryParams).then(response => {
235
+        this.deviceScrapList = response.rows;
236
+        this.total = response.total;
237
+        this.loading = false;
238
+      });
239
+    },
240
+    // 取消按钮
241
+    cancel() {
242
+      this.open = false;
243
+      this.reset();
244
+    },
245
+    // 表单重置
246
+    reset() {
247
+      this.form = {
248
+        deviceScrapId: null,
249
+        deviceId: null,
250
+        cost: null,
251
+        scrapDate: null,
252
+        reason: null,
253
+        deal: null,
254
+        remark: null,
255
+        document: null
256
+      };
257
+      this.resetForm("form");
258
+    },
259
+    /** 搜索按钮操作 */
260
+    handleQuery() {
261
+      this.queryParams.pageNum = 1;
262
+      this.getList();
263
+    },
264
+    /** 重置按钮操作 */
265
+    resetQuery() {
266
+      this.resetForm("queryForm");
267
+      this.handleQuery();
268
+    },
269
+    // 多选框选中数据
270
+    handleSelectionChange(selection) {
271
+      this.ids = selection.map(item => item.deviceScrapId)
272
+      this.single = selection.length!==1
273
+      this.multiple = !selection.length
274
+    },
275
+    /** 新增按钮操作 */
276
+    handleAdd() {
277
+      this.reset();
278
+      this.open = true;
279
+      this.title = "添加cmc设备报废";
280
+    },
281
+    /** 修改按钮操作 */
282
+    handleUpdate(row) {
283
+      this.reset();
284
+      const deviceScrapId = row.deviceScrapId || this.ids
285
+      getDeviceScrap(deviceScrapId).then(response => {
286
+        this.form = response.data;
287
+        this.open = true;
288
+        this.title = "修改cmc设备报废";
289
+      });
290
+    },
291
+    /** 提交按钮 */
292
+    submitForm() {
293
+      this.$refs["form"].validate(valid => {
294
+        if (valid) {
295
+          if (this.form.deviceScrapId != null) {
296
+            updateDeviceScrap(this.form).then(response => {
297
+              this.$modal.msgSuccess("修改成功");
298
+              this.open = false;
299
+              this.getList();
300
+            });
301
+          } else {
302
+            addDeviceScrap(this.form).then(response => {
303
+              this.$modal.msgSuccess("新增成功");
304
+              this.open = false;
305
+              this.getList();
306
+            });
307
+          }
308
+        }
309
+      });
310
+    },
311
+    /** 删除按钮操作 */
312
+    handleDelete(row) {
313
+      const deviceScrapIds = row.deviceScrapId || this.ids;
314
+      this.$modal.confirm('是否确认删除cmc设备报废编号为"' + deviceScrapIds + '"的数据项?').then(function() {
315
+        return delDeviceScrap(deviceScrapIds);
316
+      }).then(() => {
317
+        this.getList();
318
+        this.$modal.msgSuccess("删除成功");
319
+      }).catch(() => {});
320
+    },
321
+    /** 导出按钮操作 */
322
+    handleExport() {
323
+      this.download('oa/deviceScrap/export', {
324
+        ...this.queryParams
325
+      }, `deviceScrap_${new Date().getTime()}.xlsx`)
326
+    }
327
+  }
328
+};
329
+</script>

+ 357
- 0
oa-ui/src/views/oa/supply/handover.vue Vedi File

@@ -0,0 +1,357 @@
1
+<template>
2
+  <div class="app-container">
3
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
4
+      <el-form-item label="设备id" prop="deviceId">
5
+        <el-input
6
+          v-model="queryParams.deviceId"
7
+          placeholder="请输入设备id"
8
+          clearable
9
+          @keyup.enter.native="handleQuery"
10
+        />
11
+      </el-form-item>
12
+      <el-form-item label="移交部门id" prop="handoverDeptId">
13
+        <el-input
14
+          v-model="queryParams.handoverDeptId"
15
+          placeholder="请输入移交部门id"
16
+          clearable
17
+          @keyup.enter.native="handleQuery"
18
+        />
19
+      </el-form-item>
20
+      <el-form-item label="移交人id" prop="handoverUserId">
21
+        <el-input
22
+          v-model="queryParams.handoverUserId"
23
+          placeholder="请输入移交人id"
24
+          clearable
25
+          @keyup.enter.native="handleQuery"
26
+        />
27
+      </el-form-item>
28
+      <el-form-item label="移交日期" prop="handoverDate">
29
+        <el-date-picker clearable
30
+          v-model="queryParams.handoverDate"
31
+          type="date"
32
+          value-format="yyyy-MM-dd"
33
+          placeholder="请选择移交日期">
34
+        </el-date-picker>
35
+      </el-form-item>
36
+      <el-form-item label="接收部门id" prop="receiveDeptId">
37
+        <el-input
38
+          v-model="queryParams.receiveDeptId"
39
+          placeholder="请输入接收部门id"
40
+          clearable
41
+          @keyup.enter.native="handleQuery"
42
+        />
43
+      </el-form-item>
44
+      <el-form-item label="接收人id" prop="receiveUserId">
45
+        <el-input
46
+          v-model="queryParams.receiveUserId"
47
+          placeholder="请输入接收人id"
48
+          clearable
49
+          @keyup.enter.native="handleQuery"
50
+        />
51
+      </el-form-item>
52
+      <el-form-item label="设备软件说明" prop="description">
53
+        <el-input
54
+          v-model="queryParams.description"
55
+          placeholder="请输入设备软件说明"
56
+          clearable
57
+          @keyup.enter.native="handleQuery"
58
+        />
59
+      </el-form-item>
60
+      <el-form-item label="交接原因" prop="reason">
61
+        <el-input
62
+          v-model="queryParams.reason"
63
+          placeholder="请输入交接原因"
64
+          clearable
65
+          @keyup.enter.native="handleQuery"
66
+        />
67
+      </el-form-item>
68
+      <el-form-item>
69
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
70
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
71
+      </el-form-item>
72
+    </el-form>
73
+
74
+    <el-row :gutter="10" class="mb8">
75
+      <el-col :span="1.5">
76
+        <el-button
77
+          type="primary"
78
+          plain
79
+          icon="el-icon-plus"
80
+          size="mini"
81
+          @click="handleAdd"
82
+          v-hasPermi="['device:record:add']"
83
+        >新增</el-button>
84
+      </el-col>
85
+      <el-col :span="1.5">
86
+        <el-button
87
+          type="success"
88
+          plain
89
+          icon="el-icon-edit"
90
+          size="mini"
91
+          :disabled="single"
92
+          @click="handleUpdate"
93
+          v-hasPermi="['device:record:edit']"
94
+        >修改</el-button>
95
+      </el-col>
96
+      <el-col :span="1.5">
97
+        <el-button
98
+          type="danger"
99
+          plain
100
+          icon="el-icon-delete"
101
+          size="mini"
102
+          :disabled="multiple"
103
+          @click="handleDelete"
104
+          v-hasPermi="['device:record:remove']"
105
+        >删除</el-button>
106
+      </el-col>
107
+      <el-col :span="1.5">
108
+        <el-button
109
+          type="warning"
110
+          plain
111
+          icon="el-icon-download"
112
+          size="mini"
113
+          @click="handleExport"
114
+          v-hasPermi="['device:record:export']"
115
+        >导出</el-button>
116
+      </el-col>
117
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
118
+    </el-row>
119
+
120
+    <el-table v-loading="loading" :data="deviceHandoverList" @selection-change="handleSelectionChange">
121
+      <el-table-column type="selection" width="55" align="center" />
122
+      <el-table-column label="设备移交id" align="center" prop="deviceHandoverId" />
123
+      <el-table-column label="设备id" align="center" prop="deviceId" />
124
+      <el-table-column label="移交部门id" align="center" prop="handoverDeptId" />
125
+      <el-table-column label="移交人id" align="center" prop="handoverUserId" />
126
+      <el-table-column label="移交日期" align="center" prop="handoverDate" width="180">
127
+        <template slot-scope="scope">
128
+          <span>{{ parseTime(scope.row.handoverDate, '{y}-{m}-{d}') }}</span>
129
+        </template>
130
+      </el-table-column>
131
+      <el-table-column label="接收部门id" align="center" prop="receiveDeptId" />
132
+      <el-table-column label="接收人id" align="center" prop="receiveUserId" />
133
+      <el-table-column label="设备软件说明" align="center" prop="description" />
134
+      <el-table-column label="交接原因" align="center" prop="reason" />
135
+      <el-table-column label="备注" align="center" prop="remark" />
136
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
137
+        <template slot-scope="scope">
138
+          <el-button
139
+            size="mini"
140
+            type="text"
141
+            icon="el-icon-edit"
142
+            @click="handleUpdate(scope.row)"
143
+            v-hasPermi="['device:record:edit']"
144
+          >修改</el-button>
145
+          <el-button
146
+            size="mini"
147
+            type="text"
148
+            icon="el-icon-delete"
149
+            @click="handleDelete(scope.row)"
150
+            v-hasPermi="['device:record:remove']"
151
+          >删除</el-button>
152
+        </template>
153
+      </el-table-column>
154
+    </el-table>
155
+    
156
+    <pagination
157
+      v-show="total>0"
158
+      :total="total"
159
+      :page.sync="queryParams.pageNum"
160
+      :limit.sync="queryParams.pageSize"
161
+      @pagination="getList"
162
+    />
163
+
164
+    <!-- 添加或修改cmc设备移交对话框 -->
165
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
166
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
167
+        <el-form-item label="设备id" prop="deviceId">
168
+          <el-input v-model="form.deviceId" placeholder="请输入设备id" />
169
+        </el-form-item>
170
+        <el-form-item label="移交部门id" prop="handoverDeptId">
171
+          <el-input v-model="form.handoverDeptId" placeholder="请输入移交部门id" />
172
+        </el-form-item>
173
+        <el-form-item label="移交人id" prop="handoverUserId">
174
+          <el-input v-model="form.handoverUserId" placeholder="请输入移交人id" />
175
+        </el-form-item>
176
+        <el-form-item label="移交日期" prop="handoverDate">
177
+          <el-date-picker clearable
178
+            v-model="form.handoverDate"
179
+            type="date"
180
+            value-format="yyyy-MM-dd"
181
+            placeholder="请选择移交日期">
182
+          </el-date-picker>
183
+        </el-form-item>
184
+        <el-form-item label="接收部门id" prop="receiveDeptId">
185
+          <el-input v-model="form.receiveDeptId" placeholder="请输入接收部门id" />
186
+        </el-form-item>
187
+        <el-form-item label="接收人id" prop="receiveUserId">
188
+          <el-input v-model="form.receiveUserId" placeholder="请输入接收人id" />
189
+        </el-form-item>
190
+        <el-form-item label="设备软件说明" prop="description">
191
+          <el-input v-model="form.description" placeholder="请输入设备软件说明" />
192
+        </el-form-item>
193
+        <el-form-item label="交接原因" prop="reason">
194
+          <el-input v-model="form.reason" placeholder="请输入交接原因" />
195
+        </el-form-item>
196
+        <el-form-item label="备注" prop="remark">
197
+          <el-input v-model="form.remark" placeholder="请输入备注" />
198
+        </el-form-item>
199
+      </el-form>
200
+      <div slot="footer" class="dialog-footer">
201
+        <el-button type="primary" @click="submitForm">确 定</el-button>
202
+        <el-button @click="cancel">取 消</el-button>
203
+      </div>
204
+    </el-dialog>
205
+  </div>
206
+</template>
207
+
208
+<script>
209
+import { listDeviceHandover, getDeviceHandover, delDeviceHandover, addDeviceHandover, updateDeviceHandover } from "@/api/oa/device/deviceHandover";
210
+
211
+export default {
212
+  name: "DeviceHandover",
213
+  data() {
214
+    return {
215
+      // 遮罩层
216
+      loading: true,
217
+      // 选中数组
218
+      ids: [],
219
+      // 非单个禁用
220
+      single: true,
221
+      // 非多个禁用
222
+      multiple: true,
223
+      // 显示搜索条件
224
+      showSearch: true,
225
+      // 总条数
226
+      total: 0,
227
+      // cmc设备移交表格数据
228
+      deviceHandoverList: [],
229
+      // 弹出层标题
230
+      title: "",
231
+      // 是否显示弹出层
232
+      open: false,
233
+      // 查询参数
234
+      queryParams: {
235
+        pageNum: 1,
236
+        pageSize: 10,
237
+        deviceId: null,
238
+        handoverDeptId: null,
239
+        handoverUserId: null,
240
+        handoverDate: null,
241
+        receiveDeptId: null,
242
+        receiveUserId: null,
243
+        description: null,
244
+        reason: null,
245
+      },
246
+      // 表单参数
247
+      form: {},
248
+      // 表单校验
249
+      rules: {
250
+      }
251
+    };
252
+  },
253
+  created() {
254
+    this.getList();
255
+  },
256
+  methods: {
257
+    /** 查询cmc设备移交列表 */
258
+    getList() {
259
+      this.loading = true;
260
+      listDeviceHandover(this.queryParams).then(response => {
261
+        this.deviceHandoverList = response.rows;
262
+        this.total = response.total;
263
+        this.loading = false;
264
+      });
265
+    },
266
+    // 取消按钮
267
+    cancel() {
268
+      this.open = false;
269
+      this.reset();
270
+    },
271
+    // 表单重置
272
+    reset() {
273
+      this.form = {
274
+        deviceHandoverId: null,
275
+        deviceId: null,
276
+        handoverDeptId: null,
277
+        handoverUserId: null,
278
+        handoverDate: null,
279
+        receiveDeptId: null,
280
+        receiveUserId: null,
281
+        description: null,
282
+        reason: null,
283
+        remark: null
284
+      };
285
+      this.resetForm("form");
286
+    },
287
+    /** 搜索按钮操作 */
288
+    handleQuery() {
289
+      this.queryParams.pageNum = 1;
290
+      this.getList();
291
+    },
292
+    /** 重置按钮操作 */
293
+    resetQuery() {
294
+      this.resetForm("queryForm");
295
+      this.handleQuery();
296
+    },
297
+    // 多选框选中数据
298
+    handleSelectionChange(selection) {
299
+      this.ids = selection.map(item => item.deviceHandoverId)
300
+      this.single = selection.length!==1
301
+      this.multiple = !selection.length
302
+    },
303
+    /** 新增按钮操作 */
304
+    handleAdd() {
305
+      this.reset();
306
+      this.open = true;
307
+      this.title = "添加cmc设备移交";
308
+    },
309
+    /** 修改按钮操作 */
310
+    handleUpdate(row) {
311
+      this.reset();
312
+      const deviceHandoverId = row.deviceHandoverId || this.ids
313
+      getDeviceHandover(deviceHandoverId).then(response => {
314
+        this.form = response.data;
315
+        this.open = true;
316
+        this.title = "修改cmc设备移交";
317
+      });
318
+    },
319
+    /** 提交按钮 */
320
+    submitForm() {
321
+      this.$refs["form"].validate(valid => {
322
+        if (valid) {
323
+          if (this.form.deviceHandoverId != null) {
324
+            updateDeviceHandover(this.form).then(response => {
325
+              this.$modal.msgSuccess("修改成功");
326
+              this.open = false;
327
+              this.getList();
328
+            });
329
+          } else {
330
+            addDeviceHandover(this.form).then(response => {
331
+              this.$modal.msgSuccess("新增成功");
332
+              this.open = false;
333
+              this.getList();
334
+            });
335
+          }
336
+        }
337
+      });
338
+    },
339
+    /** 删除按钮操作 */
340
+    handleDelete(row) {
341
+      const deviceHandoverIds = row.deviceHandoverId || this.ids;
342
+      this.$modal.confirm('是否确认删除cmc设备移交编号为"' + deviceHandoverIds + '"的数据项?').then(function() {
343
+        return delDeviceHandover(deviceHandoverIds);
344
+      }).then(() => {
345
+        this.getList();
346
+        this.$modal.msgSuccess("删除成功");
347
+      }).catch(() => {});
348
+    },
349
+    /** 导出按钮操作 */
350
+    handleExport() {
351
+      this.download('oa/deviceHandover/export', {
352
+        ...this.queryParams
353
+      }, `deviceHandover_${new Date().getTime()}.xlsx`)
354
+    }
355
+  }
356
+};
357
+</script>

+ 4
- 0
oa-ui/src/views/oa/tender/index.vue Vedi File

@@ -20,6 +20,10 @@
20 20
         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
21 21
           v-hasPermi="['oa:tender:add']">新增</el-button>
22 22
       </el-col>
23
+      <el-col :span="1.5">
24
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
25
+          v-hasPermi="['oa:tender:edit']">修改</el-button>
26
+      </el-col>
23 27
       <el-col :span="1.5">
24 28
         <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
25 29
           v-hasPermi="['oa:tender:remove']">删除</el-button>

Loading…
Annulla
Salva