Bläddra i källkod

1.更改项目内容接口;

2.借款申请录入明细
lamphua 1 år sedan
förälder
incheckning
e2896c2781
33 ändrade filer med 820 tillägg och 519 borttagningar
  1. 27
    6
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBorrowController.java
  2. 9
    6
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBorrowDetailController.java
  3. 1
    0
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDeviceApprovalController.java
  4. 3
    126
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectController.java
  5. 3
    0
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectProgressController.java
  6. 3
    0
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectWorkController.java
  7. 1
    0
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcTechnicalController.java
  8. 76
    23
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcBorrow.java
  9. 14
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProject.java
  10. 6
    6
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcBorrowDetailMapper.java
  11. 6
    6
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcBorrowMapper.java
  12. 6
    6
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcBorrowDetailService.java
  13. 6
    6
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcBorrowService.java
  14. 9
    9
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcBorrowDetailServiceImpl.java
  15. 9
    9
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcBorrowServiceImpl.java
  16. 8
    8
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcBorrowDetailMapper.xml
  17. 54
    21
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcBorrowMapper.xml
  18. 15
    1
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcDeviceApprovalMapper.xml
  19. 5
    5
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectMapper.xml
  20. 9
    10
      oa-back/sql/sql.sql
  21. 4
    4
      oa-ui/src/api/oa/borrow/borrow.js
  22. 4
    4
      oa-ui/src/api/oa/borrow/borrowDetail.js
  23. 1
    19
      oa-ui/src/api/oa/project/project.js
  24. 333
    74
      oa-ui/src/views/flowable/form/borrowForm.vue
  25. 44
    31
      oa-ui/src/views/flowable/form/carForm.vue
  26. 27
    20
      oa-ui/src/views/flowable/form/deviceForm.vue
  27. 40
    38
      oa-ui/src/views/flowable/form/projectProcess/addproject.vue
  28. 45
    36
      oa-ui/src/views/flowable/form/projectProcess/arrangeProject.vue
  29. 3
    3
      oa-ui/src/views/flowable/form/projectProcess/scConfirm.vue
  30. 26
    25
      oa-ui/src/views/flowable/form/technicalForm.vue
  31. 11
    9
      oa-ui/src/views/flowable/task/todo/detail/index.vue
  32. 10
    6
      oa-ui/src/views/oa/budget/addBudget.vue
  33. 2
    2
      oa-ui/src/views/oa/budget/components/chooseMoney.vue

+ 27
- 6
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBorrowController.java Visa fil

@@ -1,5 +1,6 @@
1 1
 package com.ruoyi.web.controller.oa;
2 2
 
3
+import java.util.Date;
3 4
 import java.util.List;
4 5
 import javax.servlet.http.HttpServletResponse;
5 6
 import org.springframework.beans.factory.annotation.Autowired;
@@ -59,10 +60,10 @@ public class CmcBorrowController extends BaseController
59 60
     /**
60 61
      * 获取cmc借款申请详细信息
61 62
      */
62
-    @GetMapping(value = "/{borrowJd}")
63
-    public AjaxResult getInfo(@PathVariable("borrowJd") String borrowJd)
63
+    @GetMapping(value = "/{borrowId}")
64
+    public AjaxResult getInfo(@PathVariable("borrowId") String borrowId)
64 65
     {
65
-        return success(cmcBorrowService.selectCmcBorrowByBorrowJd(borrowJd));
66
+        return success(cmcBorrowService.selectCmcBorrowByBorrowId(borrowId));
66 67
     }
67 68
 
68 69
     /**
@@ -72,6 +73,7 @@ public class CmcBorrowController extends BaseController
72 73
     @PostMapping
73 74
     public AjaxResult add(@RequestBody CmcBorrow cmcBorrow)
74 75
     {
76
+        cmcBorrow.setApplyDept(getLoginUser().getDeptId());
75 77
         return toAjax(cmcBorrowService.insertCmcBorrow(cmcBorrow));
76 78
     }
77 79
 
@@ -82,6 +84,25 @@ public class CmcBorrowController extends BaseController
82 84
     @PutMapping
83 85
     public AjaxResult edit(@RequestBody CmcBorrow cmcBorrow)
84 86
     {
87
+        if (cmcBorrow.getDeptComment() != null && cmcBorrow.getXmComment() == null) {
88
+            cmcBorrow.setDeptUserId(getLoginUser().getUserId());
89
+            cmcBorrow.setDeptTime(new Date());
90
+        }
91
+        if (cmcBorrow.getXmComment() != null && cmcBorrow.getManagerComment() == null) {
92
+            cmcBorrow.setXmUserId(getLoginUser().getUserId());
93
+            cmcBorrow.setXmTime(new Date());
94
+        }
95
+        if (cmcBorrow.getManagerComment() != null && cmcBorrow.getZjlComment() == null) {
96
+            cmcBorrow.setManagerUserId(getLoginUser().getUserId());
97
+            cmcBorrow.setManagerTime(new Date());
98
+        }
99
+        if (cmcBorrow.getZjlComment() != null && cmcBorrow.getCwComment() == null) {
100
+            cmcBorrow.setZjlUserId(getLoginUser().getUserId());
101
+            cmcBorrow.setZjlTime(new Date());
102
+        }
103
+        if (cmcBorrow.getLendTime() != null) {
104
+            cmcBorrow.setCwUserId(getLoginUser().getUserId());
105
+        }
85 106
         return toAjax(cmcBorrowService.updateCmcBorrow(cmcBorrow));
86 107
     }
87 108
 
@@ -89,9 +110,9 @@ public class CmcBorrowController extends BaseController
89 110
      * 删除cmc借款申请
90 111
      */
91 112
     @Log(title = "cmc借款申请", businessType = BusinessType.DELETE)
92
-	@DeleteMapping("/{borrowJds}")
93
-    public AjaxResult remove(@PathVariable String[] borrowJds)
113
+	@DeleteMapping("/{borrowIds}")
114
+    public AjaxResult remove(@PathVariable String[] borrowIds)
94 115
     {
95
-        return toAjax(cmcBorrowService.deleteCmcBorrowByBorrowJds(borrowJds));
116
+        return toAjax(cmcBorrowService.deleteCmcBorrowByBorrowIds(borrowIds));
96 117
     }
97 118
 }

+ 9
- 6
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBorrowDetailController.java Visa fil

@@ -2,6 +2,8 @@ package com.ruoyi.web.controller.oa;
2 2
 
3 3
 import java.util.List;
4 4
 import javax.servlet.http.HttpServletResponse;
5
+
6
+import com.ruoyi.common.utils.SnowFlake;
5 7
 import org.springframework.beans.factory.annotation.Autowired;
6 8
 import org.springframework.web.bind.annotation.GetMapping;
7 9
 import org.springframework.web.bind.annotation.PostMapping;
@@ -59,10 +61,10 @@ public class CmcBorrowDetailController extends BaseController
59 61
     /**
60 62
      * 获取cmc借款明细详细信息
61 63
      */
62
-    @GetMapping(value = "/{borrowDetailId}")
63
-    public AjaxResult getInfo(@PathVariable("borrowDetailId") String borrowDetailId)
64
+    @GetMapping(value = "/{borrowId}")
65
+    public AjaxResult getInfo(@PathVariable("borrowId") String borrowId)
64 66
     {
65
-        return success(cmcBorrowDetailService.selectCmcBorrowDetailByBorrowDetailId(borrowDetailId));
67
+        return success(cmcBorrowDetailService.selectCmcBorrowDetailByBorrowId(borrowId));
66 68
     }
67 69
 
68 70
     /**
@@ -72,6 +74,7 @@ public class CmcBorrowDetailController extends BaseController
72 74
     @PostMapping
73 75
     public AjaxResult add(@RequestBody CmcBorrowDetail cmcBorrowDetail)
74 76
     {
77
+        cmcBorrowDetail.setBorrowDetailId(new SnowFlake().generateId());
75 78
         return toAjax(cmcBorrowDetailService.insertCmcBorrowDetail(cmcBorrowDetail));
76 79
     }
77 80
 
@@ -89,9 +92,9 @@ public class CmcBorrowDetailController extends BaseController
89 92
      * 删除cmc借款明细
90 93
      */
91 94
     @Log(title = "cmc借款明细", businessType = BusinessType.DELETE)
92
-	@DeleteMapping("/{borrowDetailIds}")
93
-    public AjaxResult remove(@PathVariable String[] borrowDetailIds)
95
+	@DeleteMapping("/{borrowIds}")
96
+    public AjaxResult remove(@PathVariable String[] borrowIds)
94 97
     {
95
-        return toAjax(cmcBorrowDetailService.deleteCmcBorrowDetailByBorrowDetailIds(borrowDetailIds));
98
+        return toAjax(cmcBorrowDetailService.deleteCmcBorrowDetailByBorrowIds(borrowIds));
96 99
     }
97 100
 }

+ 1
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcDeviceApprovalController.java Visa fil

@@ -130,6 +130,7 @@ public class CmcDeviceApprovalController extends BaseController
130 130
             cmcDeviceApproval.setManagerTime(new Date());
131 131
         }
132 132
         if (formDataJson.getDate("returnDate") != null) {
133
+            cmcDeviceApproval.setRemark(formDataJson.getString("remark"));
133 134
             cmcDeviceApproval.setReturnDate(formDataJson.getDate("returnDate"));
134 135
         }
135 136
         if (formDataJson.getString("dispatchComment") != null) {

+ 3
- 126
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectController.java Visa fil

@@ -1,5 +1,6 @@
1 1
 package com.ruoyi.web.controller.oa;
2 2
 
3
+import java.util.Date;
3 4
 import java.util.List;
4 5
 import javax.servlet.http.HttpServletResponse;
5 6
 
@@ -95,68 +96,9 @@ public class CmcProjectController extends BaseController
95 96
     @PostMapping
96 97
     public AjaxResult add(@RequestBody CmcProject cmcProject)
97 98
     {
98
-        return toAjax(cmcProjectService.insertCmcProject(cmcProject));
99
-    }
100
-
101
-    /**
102
-     * 新增cmc项目
103
-     */
104
-    @Log(title = "cmc项目", businessType = BusinessType.INSERT)
105
-    @PostMapping( "/submit")
106
-    public AjaxResult submit(@RequestParam("form")String formData)
107
-    {
108
-        JSONObject formDataJson = JSONObject.parse(formData);
109
-        CmcProject cmcProject = new CmcProject();
110
-        cmcProject.setProjectId(formDataJson.getString("projectId"));
111
-        cmcProject.setProjectName(formDataJson.getString("projectName"));
112
-        cmcProject.setProjectNumber(formDataJson.getString("projectNumber"));
113
-        cmcProject.setProjectLeader(formDataJson.getLong("projectLeader"));
114
-        cmcProject.setIsFinished(formDataJson.getString("isFinished"));
115
-        cmcProject.setProjectSource(formDataJson.getString("projectSource"));
116
-        cmcProject.setPartyA(formDataJson.getString("partyA"));
117
-        cmcProject.setContactPerson(formDataJson.getString("contactPerson"));
118
-        cmcProject.setTelephone(formDataJson.getString("telephone"));
119
-        cmcProject.setProjectType(formDataJson.getString("projectType"));
120
-        cmcProject.setProjectLevel(formDataJson.getString("projectLevel"));
121
-        cmcProject.setProjectRegistrant(formDataJson.getLong("projectRegistrant"));
122
-        cmcProject.setCreateTime(DateUtils.getNowDate());
99
+        cmcProject.setRegisterTime(new Date());
123 100
         cmcProject.setIsFinished("0");
124
-        cmcProject.setRemark(formDataJson.getString("remark"));
125
-        cmcProjectService.insertCmcProject(cmcProject);
126
-        String workList = formDataJson.getString("workList");
127
-        workList = workList.substring(1, workList.length() - 1);
128
-        if (workList.split("}").length > 1) {
129
-            for (int i = 0; i < workList.split("}").length; i++) {
130
-                String workArri = workList.split("}")[i] + "}";
131
-                if (i > 0)
132
-                    workArri = workArri.substring(1);
133
-                JSONObject workArrObject = JSONObject.parse(workArri);
134
-                CmcProjectWork cmcProjectWork = new CmcProjectWork();
135
-                cmcProjectWork.setWorkId(new SnowFlake().generateId());
136
-                cmcProjectWork.setProjectId(cmcProject.getProjectId());
137
-                cmcProjectWork.setContent(workArrObject.getString("content"));
138
-                cmcProjectWork.setScale(workArrObject.getString("scale"));
139
-                cmcProjectWork.setUnit(workArrObject.getString("unit"));
140
-                cmcProjectWork.setWorkload(workArrObject.getString("workload"));
141
-                cmcProjectWork.setDeadline(workArrObject.getString("deadline") != null ? DateUtils.dateTime("yyyy-MM-dd", workArrObject.getString("deadline")) : null);
142
-                cmcProjectWork.setRemark(workArrObject.getString("remark"));
143
-                cmcProjectWorkService.insertCmcProjectWork(cmcProjectWork);
144
-            }
145
-        }
146
-        else {
147
-            JSONObject workArrObject = JSONObject.parse(workList);
148
-            CmcProjectWork cmcProjectWork = new CmcProjectWork();
149
-            cmcProjectWork.setWorkId(new SnowFlake().generateId());
150
-            cmcProjectWork.setProjectId(cmcProject.getProjectId());
151
-            cmcProjectWork.setContent(workArrObject.getString("content"));
152
-            cmcProjectWork.setScale(workArrObject.getString("scale"));
153
-            cmcProjectWork.setUnit(workArrObject.getString("unit"));
154
-            cmcProjectWork.setWorkload(workArrObject.getString("workload"));
155
-            cmcProjectWork.setDeadline(workArrObject.getString("deadline") != null ? DateUtils.dateTime("yyyy-MM-dd", workArrObject.getString("deadline")) : null);
156
-            cmcProjectWork.setRemark(workArrObject.getString("remark"));
157
-            cmcProjectWorkService.insertCmcProjectWork(cmcProjectWork);
158
-        }
159
-        return success("新增成功");
101
+        return toAjax(cmcProjectService.insertCmcProject(cmcProject));
160 102
     }
161 103
 
162 104
     /**
@@ -169,71 +111,6 @@ public class CmcProjectController extends BaseController
169 111
         return toAjax(cmcProjectService.updateCmcProject(cmcProject));
170 112
     }
171 113
 
172
-    /**
173
-     * 修改cmc项目
174
-     */
175
-    @Log(title = "cmc项目", businessType = BusinessType.UPDATE)
176
-    @PutMapping( "/modify")
177
-    public AjaxResult modify(@RequestParam("form") String formData)
178
-    {
179
-        JSONObject formDataJson = JSONObject.parse(formData);
180
-        CmcProject cmcProject = cmcProjectService.selectCmcProjectByProjectId(formDataJson.getString("projectId"));
181
-        cmcProject.setProjectName(formDataJson.getString("projectName"));
182
-        cmcProject.setProjectNumber(formDataJson.getString("projectNumber"));
183
-        cmcProject.setProjectLeader(formDataJson.getLong("projectLeader"));
184
-        cmcProject.setIsFinished(formDataJson.getString("isFinished"));
185
-        cmcProject.setProjectSource(formDataJson.getString("projectSource"));
186
-        cmcProject.setPartyA(formDataJson.getString("partyA"));
187
-        cmcProject.setContactPerson(formDataJson.getString("contactPerson"));
188
-        cmcProject.setTelephone(formDataJson.getString("telephone"));
189
-        cmcProject.setProjectType(formDataJson.getString("projectType"));
190
-        cmcProject.setProjectLevel(formDataJson.getString("projectLevel"));
191
-        cmcProject.setProjectRegistrant(formDataJson.getLong("projectRegistrant"));
192
-        cmcProject.setSiteLeader(formDataJson.getLong("siteLeader"));
193
-        cmcProject.setUndertakingDept(formDataJson.getString("undertakingDept"));
194
-        cmcProject.setCreateTime(DateUtils.getNowDate());
195
-        cmcProject.setIsFinished("0");
196
-        cmcProject.setRemark(formDataJson.getString("remark"));
197
-        String workList = formDataJson.getString("workList");
198
-        if (workList != null) {
199
-            workList = workList.substring(1, workList.length() - 1);
200
-            if (workList.split("}").length > 1) {
201
-                cmcProjectWorkService.deleteCmcProjectWorkByProjectId(formDataJson.getString("projectId"));
202
-                for (int i = 0; i < workList.split("}").length; i++) {
203
-                    String workArri = workList.split("}")[i] + "}";
204
-                    if (i > 0)
205
-                        workArri = workArri.substring(1);
206
-                    JSONObject workArrObject = JSONObject.parse(workArri);
207
-                    CmcProjectWork cmcProjectWork = new CmcProjectWork();
208
-                    cmcProjectWork.setWorkId(new SnowFlake().generateId());
209
-                    cmcProjectWork.setProjectId(formDataJson.getString("projectId"));
210
-                    cmcProjectWork.setContent(workArrObject.getString("content"));
211
-                    cmcProjectWork.setScale(workArrObject.getString("scale"));
212
-                    cmcProjectWork.setUnit(workArrObject.getString("unit"));
213
-                    cmcProjectWork.setWorkload(workArrObject.getString("workload"));
214
-                    cmcProjectWork.setDeadline(workArrObject.getString("deadline") != null ? DateUtils.dateTime("yyyy-MM-dd", workArrObject.getString("deadline")) : null);
215
-                    cmcProjectWork.setRemark(workArrObject.getString("remark"));
216
-                    cmcProjectWorkService.insertCmcProjectWork(cmcProjectWork);
217
-                }
218
-            }
219
-            else {
220
-                JSONObject workArrObject = JSONObject.parse(workList);
221
-                cmcProjectWorkService.deleteCmcProjectWorkByProjectId(formDataJson.getString("projectId"));
222
-                CmcProjectWork cmcProjectWork = new CmcProjectWork();
223
-                cmcProjectWork.setWorkId(new SnowFlake().generateId());
224
-                cmcProjectWork.setProjectId(formDataJson.getString("projectId"));
225
-                cmcProjectWork.setContent(workArrObject.getString("content"));
226
-                cmcProjectWork.setScale(workArrObject.getString("scale"));
227
-                cmcProjectWork.setUnit(workArrObject.getString("unit"));
228
-                cmcProjectWork.setWorkload(workArrObject.getString("workload"));
229
-                cmcProjectWork.setDeadline(workArrObject.getString("deadline") != null ? DateUtils.dateTime("yyyy-MM-dd", workArrObject.getString("deadline")) : null);
230
-                cmcProjectWork.setRemark(workArrObject.getString("remark"));
231
-                cmcProjectWorkService.insertCmcProjectWork(cmcProjectWork);
232
-            }
233
-        }
234
-        return toAjax(cmcProjectService.updateCmcProject(cmcProject));
235
-    }
236
-
237 114
     /**
238 115
      * 删除cmc项目
239 116
      */

+ 3
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectProgressController.java Visa fil

@@ -2,6 +2,8 @@ package com.ruoyi.web.controller.oa;
2 2
 
3 3
 import java.util.List;
4 4
 import javax.servlet.http.HttpServletResponse;
5
+
6
+import com.ruoyi.common.utils.SnowFlake;
5 7
 import org.springframework.beans.factory.annotation.Autowired;
6 8
 import org.springframework.web.bind.annotation.GetMapping;
7 9
 import org.springframework.web.bind.annotation.PostMapping;
@@ -72,6 +74,7 @@ public class CmcProjectProgressController extends BaseController
72 74
     @PostMapping
73 75
     public AjaxResult add(@RequestBody CmcProjectProgress cmcProjectProgress)
74 76
     {
77
+        cmcProjectProgress.setProgressId(new SnowFlake().generateId());
75 78
         return toAjax(cmcProjectProgressService.insertCmcProjectProgress(cmcProjectProgress));
76 79
     }
77 80
 

+ 3
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectWorkController.java Visa fil

@@ -2,6 +2,8 @@ package com.ruoyi.web.controller.oa;
2 2
 
3 3
 import java.util.List;
4 4
 import javax.servlet.http.HttpServletResponse;
5
+
6
+import com.ruoyi.common.utils.SnowFlake;
5 7
 import org.springframework.beans.factory.annotation.Autowired;
6 8
 import org.springframework.web.bind.annotation.GetMapping;
7 9
 import org.springframework.web.bind.annotation.PostMapping;
@@ -72,6 +74,7 @@ public class CmcProjectWorkController extends BaseController
72 74
     @PostMapping
73 75
     public AjaxResult add(@RequestBody CmcProjectWork cmcProjectWork)
74 76
     {
77
+        cmcProjectWork.setWorkId(new SnowFlake().generateId());
75 78
         return toAjax(cmcProjectWorkService.insertCmcProjectWork(cmcProjectWork));
76 79
     }
77 80
 

+ 1
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcTechnicalController.java Visa fil

@@ -73,6 +73,7 @@ public class CmcTechnicalController extends BaseController
73 73
     @PostMapping
74 74
     public AjaxResult add(@RequestBody CmcTechnical cmcTechnical)
75 75
     {
76
+        cmcTechnical.setTechnicalTime(new Date());
76 77
         return toAjax(cmcTechnicalService.insertCmcTechnical(cmcTechnical));
77 78
     }
78 79
 

+ 76
- 23
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcBorrow.java Visa fil

@@ -3,6 +3,7 @@ package com.ruoyi.oa.domain;
3 3
 import java.math.BigDecimal;
4 4
 import java.util.Date;
5 5
 import com.fasterxml.jackson.annotation.JsonFormat;
6
+import com.ruoyi.common.core.domain.entity.SysDept;
6 7
 import com.ruoyi.common.core.domain.entity.SysUser;
7 8
 import org.apache.commons.lang3.builder.ToStringBuilder;
8 9
 import org.apache.commons.lang3.builder.ToStringStyle;
@@ -20,7 +21,7 @@ public class CmcBorrow extends BaseEntity
20 21
     private static final long serialVersionUID = 1L;
21 22
 
22 23
     /** 借款申请id */
23
-    private String borrowJd;
24
+    private String borrowId;
24 25
 
25 26
     /** 项目id */
26 27
     @Excel(name = "项目id")
@@ -28,17 +29,15 @@ public class CmcBorrow extends BaseEntity
28 29
 
29 30
     private CmcProject project;
30 31
 
31
-    /** 借款类型 */
32
-    @Excel(name = "借款类型")
33
-    private String borrowType;
34
-
35 32
     /** 借款事由 */
36 33
     @Excel(name = "借款事由")
37 34
     private String applyReason;
38 35
 
39 36
     /** 借款部门 */
40 37
     @Excel(name = "借款部门")
41
-    private String applyDept;
38
+    private Long applyDept;
39
+
40
+    private SysDept dept;
42 41
 
43 42
     /** 借款人 */
44 43
     @Excel(name = "借款人")
@@ -46,6 +45,16 @@ public class CmcBorrow extends BaseEntity
46 45
 
47 46
     private SysUser applierUser;
48 47
 
48
+    private SysUser deptUser;
49
+
50
+    private SysUser xmUser;
51
+
52
+    private SysUser managerUser;
53
+
54
+    private SysUser zjlUser;
55
+
56
+    private SysUser cwUser;
57
+
49 58
     /** 借款日期 */
50 59
     @JsonFormat(pattern = "yyyy-MM-dd")
51 60
     @Excel(name = "借款日期", width = 30, dateFormat = "yyyy-MM-dd")
@@ -124,14 +133,14 @@ public class CmcBorrow extends BaseEntity
124 133
     @Excel(name = "借款支付时间", width = 30, dateFormat = "yyyy-MM-dd")
125 134
     private Date lendTime;
126 135
 
127
-    public void setBorrowJd(String borrowJd) 
136
+    public void setBorrowId(String borrowId) 
128 137
     {
129
-        this.borrowJd = borrowJd;
138
+        this.borrowId = borrowId;
130 139
     }
131 140
 
132
-    public String getBorrowJd() 
141
+    public String getBorrowId() 
133 142
     {
134
-        return borrowJd;
143
+        return borrowId;
135 144
     }
136 145
     public void setProjectId(String projectId) 
137 146
     {
@@ -151,15 +160,6 @@ public class CmcBorrow extends BaseEntity
151 160
     {
152 161
         return project;
153 162
     }
154
-    public void setBorrowType(String borrowType) 
155
-    {
156
-        this.borrowType = borrowType;
157
-    }
158
-
159
-    public String getBorrowType() 
160
-    {
161
-        return borrowType;
162
-    }
163 163
     public void setApplyReason(String applyReason) 
164 164
     {
165 165
         this.applyReason = applyReason;
@@ -169,15 +169,24 @@ public class CmcBorrow extends BaseEntity
169 169
     {
170 170
         return applyReason;
171 171
     }
172
-    public void setApplyDept(String applyDept)
172
+    public void setApplyDept(Long applyDept)
173 173
     {
174 174
         this.applyDept = applyDept;
175 175
     }
176 176
 
177
-    public String getApplyDept()
177
+    public Long getApplyDept()
178 178
     {
179 179
         return applyDept;
180 180
     }
181
+    public void setDept(SysDept dept)
182
+    {
183
+        this.dept = dept;
184
+    }
185
+
186
+    public SysDept getDept()
187
+    {
188
+        return dept;
189
+    }
181 190
     public void setApplier(Long applier) 
182 191
     {
183 192
         this.applier = applier;
@@ -196,6 +205,51 @@ public class CmcBorrow extends BaseEntity
196 205
     {
197 206
         return applierUser;
198 207
     }
208
+    public void setDeptUser(SysUser deptUser)
209
+    {
210
+        this.deptUser = deptUser;
211
+    }
212
+
213
+    public SysUser getDeptUser()
214
+    {
215
+        return deptUser;
216
+    }
217
+    public void setXmUser(SysUser xmUser)
218
+    {
219
+        this.xmUser = xmUser;
220
+    }
221
+
222
+    public SysUser getXmUser()
223
+    {
224
+        return xmUser;
225
+    }
226
+    public void setManagerUser(SysUser managerUser)
227
+    {
228
+        this.managerUser = managerUser;
229
+    }
230
+
231
+    public SysUser getManagerUser()
232
+    {
233
+        return managerUser;
234
+    }
235
+    public void setZjlUser(SysUser zjlUser)
236
+    {
237
+        this.zjlUser = zjlUser;
238
+    }
239
+
240
+    public SysUser getZjlUser()
241
+    {
242
+        return zjlUser;
243
+    }
244
+    public void setCwUser(SysUser cwUser)
245
+    {
246
+        this.cwUser = cwUser;
247
+    }
248
+
249
+    public SysUser getCwUser()
250
+    {
251
+        return cwUser;
252
+    }
199 253
     public void setApplyDate(Date applyDate) 
200 254
     {
201 255
         this.applyDate = applyDate;
@@ -362,9 +416,8 @@ public class CmcBorrow extends BaseEntity
362 416
     @Override
363 417
     public String toString() {
364 418
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
365
-            .append("borrowJd", getBorrowJd())
419
+            .append("borrowId", getBorrowId())
366 420
             .append("projectId", getProjectId())
367
-            .append("borrowType", getBorrowType())
368 421
             .append("applyReason", getApplyReason())
369 422
             .append("applier", getApplier())
370 423
             .append("applyDept", getApplyDept())

+ 14
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProject.java Visa fil

@@ -92,6 +92,11 @@ public class CmcProject extends BaseEntity
92 92
     @Excel(name = "组织交底文档")
93 93
     private String organizeDocument;
94 94
 
95
+    /** 项目登记日期 */
96
+    @JsonFormat(pattern = "yyyy-MM-dd")
97
+    @Excel(name = "项目登记日期", width = 30, dateFormat = "yyyy-MM-dd")
98
+    private Date registerTime;
99
+
95 100
     /** 项目安排日期 */
96 101
     @JsonFormat(pattern = "yyyy-MM-dd")
97 102
     @Excel(name = "项目安排日期", width = 30, dateFormat = "yyyy-MM-dd")
@@ -282,6 +287,15 @@ public class CmcProject extends BaseEntity
282 287
     {
283 288
         return siteLeader;
284 289
     }
290
+    public void setRegisterTime(Date registerTime)
291
+    {
292
+        this.registerTime = registerTime;
293
+    }
294
+
295
+    public Date getRegisterTime()
296
+    {
297
+        return registerTime;
298
+    }
285 299
     public void setPlanTime(Date planTime)
286 300
     {
287 301
         this.planTime = planTime;

+ 6
- 6
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcBorrowDetailMapper.java Visa fil

@@ -14,10 +14,10 @@ public interface CmcBorrowDetailMapper
14 14
     /**
15 15
      * 查询cmc借款明细
16 16
      * 
17
-     * @param borrowDetailId cmc借款明细主键
17
+     * @param borrowId cmc借款明细主键
18 18
      * @return cmc借款明细
19 19
      */
20
-    public CmcBorrowDetail selectCmcBorrowDetailByBorrowDetailId(String borrowDetailId);
20
+    public List<CmcBorrowDetail> selectCmcBorrowDetailByBorrowId(String borrowId);
21 21
 
22 22
     /**
23 23
      * 查询cmc借款明细列表
@@ -46,16 +46,16 @@ public interface CmcBorrowDetailMapper
46 46
     /**
47 47
      * 删除cmc借款明细
48 48
      * 
49
-     * @param borrowDetailId cmc借款明细主键
49
+     * @param borrowId cmc借款明细主键
50 50
      * @return 结果
51 51
      */
52
-    public int deleteCmcBorrowDetailByBorrowDetailId(String borrowDetailId);
52
+    public int deleteCmcBorrowDetailByBorrowId(String borrowId);
53 53
 
54 54
     /**
55 55
      * 批量删除cmc借款明细
56 56
      * 
57
-     * @param borrowDetailIds 需要删除的数据主键集合
57
+     * @param borrowIds 需要删除的数据主键集合
58 58
      * @return 结果
59 59
      */
60
-    public int deleteCmcBorrowDetailByBorrowDetailIds(String[] borrowDetailIds);
60
+    public int deleteCmcBorrowDetailByBorrowIds(String[] borrowIds);
61 61
 }

+ 6
- 6
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcBorrowMapper.java Visa fil

@@ -14,10 +14,10 @@ public interface CmcBorrowMapper
14 14
     /**
15 15
      * 查询cmc借款申请
16 16
      * 
17
-     * @param borrowJd cmc借款申请主键
17
+     * @param borrowId cmc借款申请主键
18 18
      * @return cmc借款申请
19 19
      */
20
-    public CmcBorrow selectCmcBorrowByBorrowJd(String borrowJd);
20
+    public CmcBorrow selectCmcBorrowByBorrowId(String borrowId);
21 21
 
22 22
     /**
23 23
      * 查询cmc借款申请列表
@@ -46,16 +46,16 @@ public interface CmcBorrowMapper
46 46
     /**
47 47
      * 删除cmc借款申请
48 48
      * 
49
-     * @param borrowJd cmc借款申请主键
49
+     * @param borrowId cmc借款申请主键
50 50
      * @return 结果
51 51
      */
52
-    public int deleteCmcBorrowByBorrowJd(String borrowJd);
52
+    public int deleteCmcBorrowByBorrowId(String borrowId);
53 53
 
54 54
     /**
55 55
      * 批量删除cmc借款申请
56 56
      * 
57
-     * @param borrowJds 需要删除的数据主键集合
57
+     * @param borrowIds 需要删除的数据主键集合
58 58
      * @return 结果
59 59
      */
60
-    public int deleteCmcBorrowByBorrowJds(String[] borrowJds);
60
+    public int deleteCmcBorrowByBorrowIds(String[] borrowIds);
61 61
 }

+ 6
- 6
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcBorrowDetailService.java Visa fil

@@ -14,10 +14,10 @@ public interface ICmcBorrowDetailService
14 14
     /**
15 15
      * 查询cmc借款明细
16 16
      * 
17
-     * @param borrowDetailId cmc借款明细主键
17
+     * @param borrowId cmc借款明细主键
18 18
      * @return cmc借款明细
19 19
      */
20
-    public CmcBorrowDetail selectCmcBorrowDetailByBorrowDetailId(String borrowDetailId);
20
+    public List<CmcBorrowDetail> selectCmcBorrowDetailByBorrowId(String borrowId);
21 21
 
22 22
     /**
23 23
      * 查询cmc借款明细列表
@@ -46,16 +46,16 @@ public interface ICmcBorrowDetailService
46 46
     /**
47 47
      * 批量删除cmc借款明细
48 48
      * 
49
-     * @param borrowDetailIds 需要删除的cmc借款明细主键集合
49
+     * @param borrowIds 需要删除的cmc借款明细主键集合
50 50
      * @return 结果
51 51
      */
52
-    public int deleteCmcBorrowDetailByBorrowDetailIds(String[] borrowDetailIds);
52
+    public int deleteCmcBorrowDetailByBorrowIds(String[] borrowIds);
53 53
 
54 54
     /**
55 55
      * 删除cmc借款明细信息
56 56
      * 
57
-     * @param borrowDetailId cmc借款明细主键
57
+     * @param borrowId cmc借款明细主键
58 58
      * @return 结果
59 59
      */
60
-    public int deleteCmcBorrowDetailByBorrowDetailId(String borrowDetailId);
60
+    public int deleteCmcBorrowDetailByBorrowId(String borrowId);
61 61
 }

+ 6
- 6
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcBorrowService.java Visa fil

@@ -14,10 +14,10 @@ public interface ICmcBorrowService
14 14
     /**
15 15
      * 查询cmc借款申请
16 16
      * 
17
-     * @param borrowJd cmc借款申请主键
17
+     * @param borrowId cmc借款申请主键
18 18
      * @return cmc借款申请
19 19
      */
20
-    public CmcBorrow selectCmcBorrowByBorrowJd(String borrowJd);
20
+    public CmcBorrow selectCmcBorrowByBorrowId(String borrowId);
21 21
 
22 22
     /**
23 23
      * 查询cmc借款申请列表
@@ -46,16 +46,16 @@ public interface ICmcBorrowService
46 46
     /**
47 47
      * 批量删除cmc借款申请
48 48
      * 
49
-     * @param borrowJds 需要删除的cmc借款申请主键集合
49
+     * @param borrowIds 需要删除的cmc借款申请主键集合
50 50
      * @return 结果
51 51
      */
52
-    public int deleteCmcBorrowByBorrowJds(String[] borrowJds);
52
+    public int deleteCmcBorrowByBorrowIds(String[] borrowIds);
53 53
 
54 54
     /**
55 55
      * 删除cmc借款申请信息
56 56
      * 
57
-     * @param borrowJd cmc借款申请主键
57
+     * @param borrowId cmc借款申请主键
58 58
      * @return 结果
59 59
      */
60
-    public int deleteCmcBorrowByBorrowJd(String borrowJd);
60
+    public int deleteCmcBorrowByBorrowId(String borrowId);
61 61
 }

+ 9
- 9
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcBorrowDetailServiceImpl.java Visa fil

@@ -22,13 +22,13 @@ public class CmcBorrowDetailServiceImpl implements ICmcBorrowDetailService
22 22
     /**
23 23
      * 查询cmc借款明细
24 24
      * 
25
-     * @param borrowDetailId cmc借款明细主键
25
+     * @param borrowId cmc借款明细主键
26 26
      * @return cmc借款明细
27 27
      */
28 28
     @Override
29
-    public CmcBorrowDetail selectCmcBorrowDetailByBorrowDetailId(String borrowDetailId)
29
+    public List<CmcBorrowDetail> selectCmcBorrowDetailByBorrowId(String borrowId)
30 30
     {
31
-        return cmcBorrowDetailMapper.selectCmcBorrowDetailByBorrowDetailId(borrowDetailId);
31
+        return cmcBorrowDetailMapper.selectCmcBorrowDetailByBorrowId(borrowId);
32 32
     }
33 33
 
34 34
     /**
@@ -70,24 +70,24 @@ public class CmcBorrowDetailServiceImpl implements ICmcBorrowDetailService
70 70
     /**
71 71
      * 批量删除cmc借款明细
72 72
      * 
73
-     * @param borrowDetailIds 需要删除的cmc借款明细主键
73
+     * @param borrowIds 需要删除的cmc借款明细主键
74 74
      * @return 结果
75 75
      */
76 76
     @Override
77
-    public int deleteCmcBorrowDetailByBorrowDetailIds(String[] borrowDetailIds)
77
+    public int deleteCmcBorrowDetailByBorrowIds(String[] borrowIds)
78 78
     {
79
-        return cmcBorrowDetailMapper.deleteCmcBorrowDetailByBorrowDetailIds(borrowDetailIds);
79
+        return cmcBorrowDetailMapper.deleteCmcBorrowDetailByBorrowIds(borrowIds);
80 80
     }
81 81
 
82 82
     /**
83 83
      * 删除cmc借款明细信息
84 84
      * 
85
-     * @param borrowDetailId cmc借款明细主键
85
+     * @param borrowId cmc借款明细主键
86 86
      * @return 结果
87 87
      */
88 88
     @Override
89
-    public int deleteCmcBorrowDetailByBorrowDetailId(String borrowDetailId)
89
+    public int deleteCmcBorrowDetailByBorrowId(String borrowId)
90 90
     {
91
-        return cmcBorrowDetailMapper.deleteCmcBorrowDetailByBorrowDetailId(borrowDetailId);
91
+        return cmcBorrowDetailMapper.deleteCmcBorrowDetailByBorrowId(borrowId);
92 92
     }
93 93
 }

+ 9
- 9
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcBorrowServiceImpl.java Visa fil

@@ -22,13 +22,13 @@ public class CmcBorrowServiceImpl implements ICmcBorrowService
22 22
     /**
23 23
      * 查询cmc借款申请
24 24
      * 
25
-     * @param borrowJd cmc借款申请主键
25
+     * @param borrowId cmc借款申请主键
26 26
      * @return cmc借款申请
27 27
      */
28 28
     @Override
29
-    public CmcBorrow selectCmcBorrowByBorrowJd(String borrowJd)
29
+    public CmcBorrow selectCmcBorrowByBorrowId(String borrowId)
30 30
     {
31
-        return cmcBorrowMapper.selectCmcBorrowByBorrowJd(borrowJd);
31
+        return cmcBorrowMapper.selectCmcBorrowByBorrowId(borrowId);
32 32
     }
33 33
 
34 34
     /**
@@ -70,24 +70,24 @@ public class CmcBorrowServiceImpl implements ICmcBorrowService
70 70
     /**
71 71
      * 批量删除cmc借款申请
72 72
      * 
73
-     * @param borrowJds 需要删除的cmc借款申请主键
73
+     * @param borrowIds 需要删除的cmc借款申请主键
74 74
      * @return 结果
75 75
      */
76 76
     @Override
77
-    public int deleteCmcBorrowByBorrowJds(String[] borrowJds)
77
+    public int deleteCmcBorrowByBorrowIds(String[] borrowIds)
78 78
     {
79
-        return cmcBorrowMapper.deleteCmcBorrowByBorrowJds(borrowJds);
79
+        return cmcBorrowMapper.deleteCmcBorrowByBorrowIds(borrowIds);
80 80
     }
81 81
 
82 82
     /**
83 83
      * 删除cmc借款申请信息
84 84
      * 
85
-     * @param borrowJd cmc借款申请主键
85
+     * @param borrowId cmc借款申请主键
86 86
      * @return 结果
87 87
      */
88 88
     @Override
89
-    public int deleteCmcBorrowByBorrowJd(String borrowJd)
89
+    public int deleteCmcBorrowByBorrowId(String borrowId)
90 90
     {
91
-        return cmcBorrowMapper.deleteCmcBorrowByBorrowJd(borrowJd);
91
+        return cmcBorrowMapper.deleteCmcBorrowByBorrowId(borrowId);
92 92
     }
93 93
 }

+ 8
- 8
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcBorrowDetailMapper.xml Visa fil

@@ -34,9 +34,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
34 34
         </where>
35 35
     </select>
36 36
     
37
-    <select id="selectCmcBorrowDetailByBorrowDetailId" parameterType="String" resultMap="CmcBorrowDetailResult">
37
+    <select id="selectCmcBorrowDetailByBorrowId" parameterType="String" resultMap="CmcBorrowDetailResult">
38 38
         <include refid="selectCmcBorrowDetailVo"/>
39
-        where borrow_detail_id = #{borrowDetailId}
39
+        where borrow_id = #{borrowId}
40 40
     </select>
41 41
         
42 42
     <insert id="insertCmcBorrowDetail" parameterType="CmcBorrowDetail">
@@ -80,14 +80,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
80 80
         where borrow_detail_id = #{borrowDetailId}
81 81
     </update>
82 82
 
83
-    <delete id="deleteCmcBorrowDetailByBorrowDetailId" parameterType="String">
84
-        delete from cmc_borrow_detail where borrow_detail_id = #{borrowDetailId}
83
+    <delete id="deleteCmcBorrowDetailByBorrowId" parameterType="String">
84
+        delete from cmc_borrow_detail where borrow_id = #{borrowId}
85 85
     </delete>
86 86
 
87
-    <delete id="deleteCmcBorrowDetailByBorrowDetailIds" parameterType="String">
88
-        delete from cmc_borrow_detail where borrow_detail_id in 
89
-        <foreach item="borrowDetailId" collection="array" open="(" separator="," close=")">
90
-            #{borrowDetailId}
87
+    <delete id="deleteCmcBorrowDetailByBorrowIds" parameterType="String">
88
+        delete from cmc_borrow_detail where borrow_id in
89
+        <foreach item="borrowId" collection="array" open="(" separator="," close=")">
90
+            #{borrowId}
91 91
         </foreach>
92 92
     </delete>
93 93
 </mapper>

+ 54
- 21
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcBorrowMapper.xml Visa fil

@@ -5,9 +5,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
5 5
 <mapper namespace="com.ruoyi.oa.mapper.CmcBorrowMapper">
6 6
     
7 7
     <resultMap type="CmcBorrow" id="CmcBorrowResult">
8
-        <result property="borrowJd"    column="borrow_jd"    />
8
+        <result property="borrowId"    column="borrow_id"    />
9 9
         <result property="projectId"    column="project_id"    />
10
-        <result property="borrowType"    column="borrow_type"    />
11 10
         <result property="applyReason"    column="apply_reason"    />
12 11
         <result property="applier"    column="applier"    />
13 12
         <result property="applyDept"    column="apply_dept"    />
@@ -29,14 +28,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
29 28
         <result property="managerTime"    column="manager_time"    />
30 29
         <result property="zjlTime"    column="zjl_time"    />
31 30
         <result property="lendTime"    column="lend_time"    />
32
-        <association property="applierUser"    javaType="SysUser"         resultMap="SysUserResult" />
31
+        <association property="applierUser"    javaType="SysUser"         resultMap="ApplierUserResult" />
32
+        <association property="deptUser"    javaType="SysUser"         resultMap="DeptUserResult" />
33
+        <association property="managerUser"    javaType="SysUser"         resultMap="ManagerUserResult" />
34
+        <association property="xmUser"    javaType="SysUser"         resultMap="XmUserResult" />
35
+        <association property="zjlUser"    javaType="SysUser"         resultMap="ZjlUserResult" />
36
+        <association property="cwUser"    javaType="SysUser"         resultMap="CwUserResult" />
33 37
         <association property="dept"    javaType="SysDept"         resultMap="SysDeptResult" />
34 38
         <association property="project"    javaType="CmcProject"         resultMap="CmcProjectResult" />
35 39
     </resultMap>
36 40
 
37
-    <resultMap type="SysUser" id="SysUserResult">
41
+    <resultMap type="SysUser" id="ApplierUserResult">
38 42
         <result property="userId"    column="user_id"    />
39
-        <result property="nickName"    column="nick_name"    />
43
+        <result property="nickName"    column="applier_nick_name"    />
44
+    </resultMap>
45
+
46
+    <resultMap type="SysUser" id="DeptUserResult">
47
+        <result property="userId"    column="user_id"    />
48
+        <result property="nickName"    column="dept_nick_name"    />
49
+    </resultMap>
50
+
51
+    <resultMap type="SysUser" id="ManagerUserResult">
52
+        <result property="userId"    column="user_id"    />
53
+        <result property="nickName"    column="manager_nick_name"    />
54
+    </resultMap>
55
+
56
+    <resultMap type="SysUser" id="XmUserResult">
57
+        <result property="userId"    column="user_id"    />
58
+        <result property="nickName"    column="xm_nick_name"    />
59
+    </resultMap>
60
+
61
+    <resultMap type="SysUser" id="ZjlUserResult">
62
+        <result property="userId"    column="user_id"    />
63
+        <result property="nickName"    column="zjl_nick_name"    />
64
+    </resultMap>
65
+
66
+    <resultMap type="SysUser" id="CwUserResult">
67
+        <result property="userId"    column="user_id"    />
68
+        <result property="nickName"    column="cw_nick_name"    />
40 69
     </resultMap>
41 70
 
42 71
     <resultMap type="SysDept" id="SysDeptResult">
@@ -51,8 +80,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
51 80
     </resultMap>
52 81
 
53 82
     <sql id="selectCmcBorrowVo">
54
-        select b.borrow_jd, b.project_id, p.project_number, p.project_name, b.borrow_type, b.apply_reason, b.applier, u.nick_name, d.dept_name, b.apply_date, b.apply_amount, b.manager_amount, b.dept_comment, b.dept_user_id, b.xm_user_id, b.xm_comment, b.manager_comment, b.manager_user_id, b.zjl_user_id, b.zjl_comment, b.cw_user_id, b.cw_comment, b.dept_time, b.xm_time, b.manager_time, b.zjl_time, b.lend_time from cmc_borrow as b
83
+        select b.borrow_id, b.project_id, p.project_number, p.project_name, b.apply_reason, b.applier, u.nick_name as applier_nick_name, d.dept_name, b.apply_dept,
84
+               b.apply_date, b.apply_amount, b.manager_amount, b.dept_comment, b.dept_user_id, u1.nick_name as dept_nick_name, b.xm_user_id, u2.nick_name as xm_nick_name, b.xm_comment,
85
+               b.manager_comment, b.manager_user_id, u3.nick_name as manager_nick_name, b.zjl_user_id, u4.nick_name as zjl_nick_name, b.zjl_comment, b.cw_user_id, u5.nick_name as cw_nick_name,
86
+               b.cw_comment, b.dept_time, b.xm_time, b.manager_time, b.zjl_time, b.lend_time from cmc_borrow as b
55 87
         left join sys_user as u on u.user_id = b.applier
88
+        left join sys_user as u1 on u1.user_id = b.dept_user_id
89
+        left join sys_user as u2 on u2.user_id = b.xm_user_id
90
+        left join sys_user as u3 on u3.user_id = b.manager_user_id
91
+        left join sys_user as u4 on u4.user_id = b.zjl_user_id
92
+        left join sys_user as u5 on u5.user_id = b.cw_user_id
56 93
         left join sys_dept as d on d.dept_id = b.apply_dept
57 94
         left join cmc_project as p on b.project_id = p.project_id
58 95
     </sql>
@@ -61,7 +98,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
61 98
         <include refid="selectCmcBorrowVo"/>
62 99
         <where>  
63 100
             <if test="projectId != null  and projectId != ''"> and b.project_id = #{projectId}</if>
64
-            <if test="borrowType != null  and borrowType != ''"> and b.borrow_type = #{borrowType}</if>
65 101
             <if test="applyReason != null  and applyReason != ''"> and b.apply_reason = #{applyReason}</if>
66 102
             <if test="applyDept != null  and applyDept != ''"> and b.apply_dept = #{applyDept}</if>
67 103
             <if test="applier != null "> and b.applier = #{applier}</if>
@@ -86,17 +122,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
86 122
         </where>
87 123
     </select>
88 124
     
89
-    <select id="selectCmcBorrowByBorrowJd" parameterType="String" resultMap="CmcBorrowResult">
125
+    <select id="selectCmcBorrowByBorrowId" parameterType="String" resultMap="CmcBorrowResult">
90 126
         <include refid="selectCmcBorrowVo"/>
91
-        where b.borrow_jd = #{borrowJd}
127
+        where b.borrow_id = #{borrowId}
92 128
     </select>
93 129
         
94 130
     <insert id="insertCmcBorrow" parameterType="CmcBorrow">
95 131
         insert into cmc_borrow
96 132
         <trim prefix="(" suffix=")" suffixOverrides=",">
97
-            <if test="borrowJd != null">borrow_jd,</if>
133
+            <if test="borrowId != null">borrow_id,</if>
98 134
             <if test="projectId != null">project_id,</if>
99
-            <if test="borrowType != null">borrow_type,</if>
100 135
             <if test="applyReason != null">apply_reason,</if>
101 136
             <if test="applier != null">applier,</if>
102 137
             <if test="applyDept != null">apply_dept,</if>
@@ -120,9 +155,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
120 155
             <if test="lendTime != null">lend_time,</if>
121 156
          </trim>
122 157
         <trim prefix="values (" suffix=")" suffixOverrides=",">
123
-            <if test="borrowJd != null">#{borrowJd},</if>
158
+            <if test="borrowId != null">#{borrowId},</if>
124 159
             <if test="projectId != null">#{projectId},</if>
125
-            <if test="borrowType != null">#{borrowType},</if>
126 160
             <if test="applyReason != null">#{applyReason},</if>
127 161
             <if test="applier != null">#{applier},</if>
128 162
             <if test="applyDept != null">#{applyDept},</if>
@@ -151,7 +185,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
151 185
         update cmc_borrow
152 186
         <trim prefix="SET" suffixOverrides=",">
153 187
             <if test="projectId != null">project_id = #{projectId},</if>
154
-            <if test="borrowType != null">borrow_type = #{borrowType},</if>
155 188
             <if test="applyReason != null">apply_reason = #{applyReason},</if>
156 189
             <if test="applier != null">applier = #{applier},</if>
157 190
             <if test="applyDept != null">apply_dept = #{applyDept},</if>
@@ -174,17 +207,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
174 207
             <if test="zjlTime != null">zjl_time = #{zjlTime},</if>
175 208
             <if test="lendTime != null">lend_time = #{lendTime},</if>
176 209
         </trim>
177
-        where borrow_jd = #{borrowJd}
210
+        where borrow_id = #{borrowId}
178 211
     </update>
179 212
 
180
-    <delete id="deleteCmcBorrowByBorrowJd" parameterType="String">
181
-        delete from cmc_borrow where borrow_jd = #{borrowJd}
213
+    <delete id="deleteCmcBorrowByBorrowId" parameterType="String">
214
+        delete from cmc_borrow where borrow_id = #{borrowId}
182 215
     </delete>
183 216
 
184
-    <delete id="deleteCmcBorrowByBorrowJds" parameterType="String">
185
-        delete from cmc_borrow where borrow_jd in 
186
-        <foreach item="borrowJd" collection="array" open="(" separator="," close=")">
187
-            #{borrowJd}
217
+    <delete id="deleteCmcBorrowByBorrowIds" parameterType="String">
218
+        delete from cmc_borrow where borrow_id in 
219
+        <foreach item="borrowId" collection="array" open="(" separator="," close=")">
220
+            #{borrowId}
188 221
         </foreach>
189 222
     </delete>
190 223
 </mapper>

+ 15
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcDeviceApprovalMapper.xml Visa fil

@@ -28,6 +28,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
28 28
         <result property="remark"    column="remark"    />
29 29
         <result property="deptTime"    column="dept_time"    />
30 30
         <result property="managerTime"    column="manager_time"    />
31
+        <result property="dispatchTime"    column="dispatch_time"    />
31 32
         <association property="applierUser"    javaType="SysUser"         resultMap="SysUserResult" />
32 33
         <association property="dept"    javaType="SysDept"         resultMap="SysDeptResult" />
33 34
         <association property="project"    javaType="CmcProject"         resultMap="CmcProjectResult" />
@@ -70,7 +71,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
70 71
     <sql id="selectCmcDeviceApprovalVo">
71 72
         select da.device_apply_id, da.applier, u.nick_name as applier_nick_name, da.use_dept, d.dept_name, da.devices, da.project_id, p.project_number, p.project_name,
72 73
                da.apply_reason, da.apply_date, da.return_date, da.begin_date, da.begin_halfday, da.end_date, da.end_halfday, da.days, da.dept_user_id, u1.nick_name as dept_nick_name,
73
-               da.dept_comment, da.manager_user_id, u2.nick_name as manager_nick_name, da.manager_comment, da.dispatcher, u3.nick_name as dispatch_nick_name, da.dispatch_comment, da.estimate_cost, da.remark from cmc_device_approval as da
74
+               da.dept_comment, da.manager_user_id, u2.nick_name as manager_nick_name, da.manager_comment, da.dispatcher, u3.nick_name as dispatch_nick_name, da.dispatch_comment,
75
+               da.estimate_cost, da.remark, da.dept_time, da.manager_time, da.dispatch_time from cmc_device_approval as da
74 76
             left join sys_user as u on u.user_id = da.applier
75 77
             left join sys_user as u1 on u1.user_id = da.dept_user_id
76 78
             left join sys_user as u2 on u2.user_id = da.manager_user_id
@@ -101,6 +103,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
101 103
             <if test="dispatcher != null "> and da.dispatcher = #{dispatcher}</if>
102 104
             <if test="dispatchComment != null  and dispatchComment != ''"> and da.dispatch_comment = #{dispatchComment}</if>
103 105
             <if test="estimateCost != null "> and da.estimate_cost = #{estimateCost}</if>
106
+            <if test="deptTime != null "> and da.dept_time = #{deptTime}</if>
107
+            <if test="managerTime != null "> and da.manager_time = #{managerTime}</if>
108
+            <if test="dispatchTime != null "> and da.dispatch_time = #{dispatchTime}</if>
104 109
         </where>
105 110
     </select>
106 111
     
@@ -133,6 +138,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
133 138
             <if test="dispatchComment != null">dispatch_comment,</if>
134 139
             <if test="estimateCost != null">estimate_cost,</if>
135 140
             <if test="remark != null">remark,</if>
141
+            <if test="deptTime != null">dept_time,</if>
142
+            <if test="managerTime != null">manager_time,</if>
143
+            <if test="dispatchTime != null">dispatch_time,</if>
136 144
          </trim>
137 145
         <trim prefix="values (" suffix=")" suffixOverrides=",">
138 146
             <if test="deviceApplyId != null">#{deviceApplyId},</if>
@@ -156,6 +164,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
156 164
             <if test="dispatchComment != null">#{dispatchComment},</if>
157 165
             <if test="estimateCost != null">#{estimateCost},</if>
158 166
             <if test="remark != null">#{remark},</if>
167
+            <if test="deptTime != null">#{deptTime},</if>
168
+            <if test="managerTime != null">#{managerTime},</if>
169
+            <if test="dispatchTime != null">#{dispatchTime},</if>
159 170
          </trim>
160 171
     </insert>
161 172
 
@@ -182,6 +193,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
182 193
             <if test="dispatchComment != null">dispatch_comment = #{dispatchComment},</if>
183 194
             <if test="estimateCost != null">estimate_cost = #{estimateCost},</if>
184 195
             <if test="remark != null">remark = #{remark},</if>
196
+            <if test="deptTime != null">dept_time = #{deptTime},</if>
197
+            <if test="managerTime != null">manager_time = #{managerTime},</if>
198
+            <if test="dispatchTime != null">dispatch_time = #{dispatchTime},</if>
185 199
         </trim>
186 200
         where device_apply_id = #{deviceApplyId}
187 201
     </update>

+ 5
- 5
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectMapper.xml Visa fil

@@ -21,7 +21,7 @@
21 21
         <result property="undertakingDept"    column="undertaking_dept"    />
22 22
         <result property="projectPlanner"    column="project_planner"    />
23 23
         <result property="siteLeader"    column="site_leader"    />
24
-        <result property="createTime"    column="create_time"    />
24
+        <result property="registerTime"    column="register_time"    />
25 25
         <result property="planTime"    column="plan_time"    />
26 26
         <result property="entryTime"    column="entry_time"    />
27 27
         <result property="exitTime"    column="exit_time"    />
@@ -43,7 +43,7 @@
43 43
     </resultMap>
44 44
 
45 45
     <sql id="selectCmcProjectVo">
46
-        select p.project_id, p.project_number, p.project_name, p.project_leader, u.nick_name as leader_nick_name, p.is_finished, p.project_source, p.party_a, p.contact_person, p.telephone, p.contract_id, p.project_type, p.project_level, p.project_registrant, u1.nick_name as registrant_nick_name, p.undertaking_dept, p.project_planner, p.site_leader, p.create_time, p.plan_time, p.entry_time, p.exit_time, p.remark, p.budget_id, p.technical_id from cmc_project as p
46
+        select p.project_id, p.project_number, p.project_name, p.project_leader, u.nick_name as leader_nick_name, p.is_finished, p.project_source, p.party_a, p.contact_person, p.telephone, p.contract_id, p.project_type, p.project_level, p.project_registrant, u1.nick_name as registrant_nick_name, p.undertaking_dept, p.project_planner, p.site_leader, p.register_time, p.plan_time, p.entry_time, p.exit_time, p.remark, p.budget_id, p.technical_id from cmc_project as p
47 47
         left join sys_user as u on u.user_id = p.project_leader
48 48
         left join sys_user as u1 on u1.user_id = p.project_registrant
49 49
     </sql>
@@ -98,7 +98,7 @@
98 98
             <if test="undertakingDept != null">undertaking_dept,</if>
99 99
             <if test="projectPlanner != null">project_planner,</if>
100 100
             <if test="siteLeader != null">site_leader,</if>
101
-            <if test="createTime != null">create_time,</if>
101
+            <if test="registerTime != null">register_time,</if>
102 102
             <if test="planTime != null">plan_time,</if>
103 103
             <if test="entryTime != null">entry_time,</if>
104 104
             <if test="exitTime != null">exit_time,</if>
@@ -123,7 +123,7 @@
123 123
             <if test="undertakingDept != null">#{undertakingDept},</if>
124 124
             <if test="projectPlanner != null">#{projectPlanner},</if>
125 125
             <if test="siteLeader != null">#{siteLeader},</if>
126
-            <if test="createTime != null">#{createTime},</if>
126
+            <if test="registerTime != null">#{registerTime},</if>
127 127
             <if test="planTime != null">#{planTime},</if>
128 128
             <if test="entryTime != null">#{entryTime},</if>
129 129
             <if test="exitTime != null">#{exitTime},</if>
@@ -151,7 +151,7 @@
151 151
             <if test="undertakingDept != null">undertaking_dept = #{undertakingDept},</if>
152 152
             <if test="projectPlanner != null">project_planner = #{projectPlanner},</if>
153 153
             <if test="siteLeader != null">site_leader = #{siteLeader},</if>
154
-            <if test="createTime != null">create_time = #{createTime},</if>
154
+            <if test="registerTime != null">register_time = #{registerTime},</if>
155 155
             <if test="planTime != null">plan_time = #{planTime},</if>
156 156
             <if test="entryTime != null">entry_time = #{entryTime},</if>
157 157
             <if test="exitTime != null">exit_time = #{exitTime},</if>

+ 9
- 10
oa-back/sql/sql.sql Visa fil

@@ -1373,7 +1373,7 @@ create table cmc_project  (
1373 1373
   project_planner		bigint					default null		comment '项目安排人',
1374 1374
   site_leader			bigint					default null		comment '现场负责人',
1375 1375
   organize_document		varchar(255)			default null		comment '组织交底文档',
1376
-  create_time			datetime				default null		comment '项目登记时间',
1376
+  register_time			datetime				default null		comment '项目登记时间',
1377 1377
   organize_time			datetime				default null		comment '组织交底时间',
1378 1378
   plan_time				datetime				default null		comment '项目安排时间',
1379 1379
   entry_time			datetime				default null		comment '进场时间',
@@ -3750,9 +3750,8 @@ create table `cmc_safe`  (
3750 3750
 -- ----------------------------
3751 3751
 drop table if exists `cmc_borrow`;
3752 3752
 create table `cmc_borrow`  (
3753
-  `borrow_jd` 		char(19)		not null 	comment '借款申请id',
3753
+  `borrow_id` 		char(19)		not null 	comment '借款申请id',
3754 3754
   `project_id` 		char(19)  		default null comment '项目id',
3755
-  `borrow_type` 	char(1)  		default null comment '借款类型',
3756 3755
   `apply_reason` 	varchar(255)  	default null comment '借款事由',
3757 3756
   `applier` 		bigint 			default null comment '借款人',
3758 3757
   `apply_dept`		bigint			default null comment '申请部门',
@@ -3774,7 +3773,7 @@ create table `cmc_borrow`  (
3774 3773
   `manager_time` 	datetime 		default null comment '分管审批时间',
3775 3774
   `zjl_time` 		datetime 		default null comment '总经理审批时间',
3776 3775
   `lend_time` 		datetime 		default null comment '借款支付时间',
3777
-  primary key (`borrow_jd`)
3776
+  primary key (`borrow_id`)
3778 3777
 ) engine = innodb comment = 'cmc借款申请表';
3779 3778
 
3780 3779
 -- ----------------------------
@@ -5349,12 +5348,12 @@ INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID
5349 5348
 INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('3021', '财务部考核', 'assess', NULL, '', '2024-02-21 10:13:27.359', NULL, NULL, '3021', NULL);
5350 5349
 INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('4001', '用车审批', 'car', NULL, '', '2024-02-23 14:13:15.003', NULL, NULL, '4001', NULL);
5351 5350
 INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('5001', '设备审批', 'device', NULL, '', '2024-03-06 09:32:51.728', NULL, NULL, '5001', NULL);
5352
-INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('6001', '合同评审', 'contract', NULL, '', '2024-04-02 14:34:45.390', NULL, NULL, '6001', NULL);
5353
-INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('6005', '项目流转', 'project', NULL, '', '2024-04-02 13:23:32.390', NULL, NULL, '6005', NULL);
5354
-INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('6009', '安全交底', 'project', NULL, '', '2024-04-02 11:42:24.390', NULL, NULL, '6009', NULL);
5355
-INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('6013', '技术交底', 'project', NULL, '', '2024-04-02 11:32:12.390', NULL, NULL, '6013', NULL);
5356
-INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('6017', '项目预算', 'project', NULL, '', '2024-04-02 10:02:23.390', NULL, NULL, '6017', NULL);
5357
-INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('7001', '借款审批', 'borrow', NULL, '', '2024-04-15 09:19:36.390', NULL, NULL, '7001', NULL);
5351
+INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('6001', '合同评审', 'contract', NULL, '', '2024-03-15 14:34:45.390', NULL, NULL, '6001', NULL);
5352
+INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('6005', '项目流转', 'project', NULL, '', '2024-03-22 13:23:32.390', NULL, NULL, '6005', NULL);
5353
+INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('6009', '安全交底', 'project', NULL, '', '2024-03-22 11:42:24.390', NULL, NULL, '6009', NULL);
5354
+INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('6013', '技术交底', 'project', NULL, '', '2024-03-22 11:32:12.390', NULL, NULL, '6013', NULL);
5355
+INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('6017', '项目预算', 'project', NULL, '', '2024-03-22 10:02:23.390', NULL, NULL, '6017', NULL);
5356
+INSERT INTO `ACT_RE_DEPLOYMENT` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('7001', '借款审批', 'borrow', NULL, '', '2024-04-07 09:19:36.390', NULL, NULL, '7001', NULL);
5358 5357
 COMMIT;
5359 5358
 
5360 5359
 -- ----------------------------

+ 4
- 4
oa-ui/src/api/oa/borrow/borrow.js Visa fil

@@ -10,9 +10,9 @@ export function listBorrow(query) {
10 10
 }
11 11
 
12 12
 // 查询cmc借款申请详细
13
-export function getBorrow(borrowJd) {
13
+export function getBorrow(borrowId) {
14 14
   return request({
15
-    url: '/oa/borrow/' + borrowJd,
15
+    url: '/oa/borrow/' + borrowId,
16 16
     method: 'get'
17 17
   })
18 18
 }
@@ -36,9 +36,9 @@ export function updateBorrow(data) {
36 36
 }
37 37
 
38 38
 // 删除cmc借款申请
39
-export function delBorrow(borrowJd) {
39
+export function delBorrow(borrowId) {
40 40
   return request({
41
-    url: '/oa/borrow/' + borrowJd,
41
+    url: '/oa/borrow/' + borrowId,
42 42
     method: 'delete'
43 43
   })
44 44
 }

+ 4
- 4
oa-ui/src/api/oa/borrow/borrowDetail.js Visa fil

@@ -10,9 +10,9 @@ export function listBorrowDetail(query) {
10 10
 }
11 11
 
12 12
 // 查询cmc借款明细详细
13
-export function getBorrowDetail(borrowDetailId) {
13
+export function getBorrowDetail(borrowId) {
14 14
   return request({
15
-    url: '/oa/borrowDetail/' + borrowDetailId,
15
+    url: '/oa/borrowDetail/' + borrowId,
16 16
     method: 'get'
17 17
   })
18 18
 }
@@ -36,9 +36,9 @@ export function updateBorrowDetail(data) {
36 36
 }
37 37
 
38 38
 // 删除cmc借款明细
39
-export function delBorrowDetail(borrowDetailId) {
39
+export function delBorrowDetail(borrowId) {
40 40
   return request({
41
-    url: '/oa/borrowDetail/' + borrowDetailId,
41
+    url: '/oa/borrowDetail/' + borrowId,
42 42
     method: 'delete'
43 43
   })
44 44
 }

+ 1
- 19
oa-ui/src/api/oa/project/project.js Visa fil

@@ -2,7 +2,7 @@
2 2
  * @Author: wrh
3 3
  * @Date: 2024-01-30 16:37:46
4 4
  * @LastEditors: wrh
5
- * @LastEditTime: 2024-03-27 16:28:08
5
+ * @LastEditTime: 2024-04-16 16:05:21
6 6
  */
7 7
 /*
8 8
  * @Author: wrh
@@ -47,15 +47,6 @@ export function addProject(data) {
47 47
   })
48 48
 }
49 49
 
50
-// 提交cmc考核
51
-export function submitProject(data) {
52
-  return request({
53
-    url: '/oa/project/submit',
54
-    method: 'post',
55
-    data: data
56
-  })
57
-}
58
-
59 50
 // 修改cmc项目
60 51
 export function updateProject(data) {
61 52
   return request({
@@ -65,15 +56,6 @@ export function updateProject(data) {
65 56
   })
66 57
 }
67 58
 
68
-// 修改cmc项目
69
-export function modifyProject(data) {
70
-  return request({
71
-    url: '/oa/project/modify',
72
-    method: 'put',
73
-    data: data
74
-  })
75
-}
76
-
77 59
 // 删除cmc项目
78 60
 export function delProject(projectId) {
79 61
   return request({

+ 333
- 74
oa-ui/src/views/flowable/form/borrowForm.vue Visa fil

@@ -1,8 +1,27 @@
1 1
 <template>
2 2
   <div class="app-container">
3
-    <el-row>
3
+    <el-row :gutter="20">
4 4
       <el-col :span="18" :xs="24">
5 5
         <el-form ref="form" :model="form" :rules="rules" label-width="120px">
6
+          <el-row :gutter="20">
7
+            <el-col :span="6" :xs="24">
8
+              <el-form-item label="申请人" prop="user.nickName">
9
+                {{ form.applierUser ? form.applierUser.nickName : form.user.nickName }}
10
+              </el-form-item>
11
+            </el-col>
12
+            <el-col :span="6" :xs="24">
13
+              <el-form-item label="申请部门" prop="dept.deptName">
14
+                {{ form.dept.deptName }}
15
+              </el-form-item>
16
+            </el-col>
17
+            <el-col :span="6" :xs="24">
18
+              <el-form-item label="申请时间:" prop="date">
19
+                <el-date-picker style="width:140px;" v-model="form.applyDate" value-format="yyyy-MM-dd" type="date"
20
+                  placeholder="选择日期" :disabled="taskName != '借款申请'">
21
+                </el-date-picker>
22
+              </el-form-item>
23
+            </el-col>
24
+          </el-row>
6 25
           <el-form-item label="项目编号:" prop="projectId" v-if="taskForm.procDefName == '借款审批'">
7 26
             <el-select v-model="form.projectId" filterable placeholder="请选择" @change="handleSelectProject"
8 27
               :disabled="taskName != '借款申请'" clearable>
@@ -25,29 +44,72 @@
25 44
               }}</el-descriptions-item>
26 45
             </el-descriptions>
27 46
           </el-form-item>
28
-          <el-form-item label="申请金额" prop="applyAmount">
29
-            <el-input v-model="form.applyAmount" placeholder="请输入申请金额" />
30
-          </el-form-item>
31
-          <el-form-item label="核准金额" prop="managerAmount">
32
-            <el-input v-model="form.managerAmount" placeholder="请输入核准金额" />
47
+          <el-form-item label="借款明细:">
48
+            <table border="1">
49
+              <tr>
50
+                <td>序号</td>
51
+                <td style="width:200px">开支项目</td>
52
+                <td>单位</td>
53
+                <td>单价</td>
54
+                <td>数量</td>
55
+                <td>申请金额</td>
56
+                <td>项目管理部校核金额</td>
57
+                <td>分管领导审核金额</td>
58
+              </tr>
59
+              <tr v-for="(detail, index) in detailList" :key="index">
60
+                <td>
61
+                  {{ index + 1 }}
62
+                </td>
63
+                <td>
64
+                  <el-input v-model="detail.borrowItem"></el-input>
65
+                </td>
66
+                <td>
67
+                  <el-input v-model="detail.unit"></el-input>
68
+                </td>
69
+                <td>
70
+                  <el-input v-model="detail.price" @change="calculateAmount(detail)"></el-input>
71
+                </td>
72
+                <td>
73
+                  <el-input v-model="detail.quantity" @change="calculateAmount(detail)"></el-input>
74
+                </td>
75
+                <td>
76
+                  <el-input v-model="detail.applyAmount"></el-input>
77
+                </td>
78
+                <td>
79
+                  <el-input v-model="detail.xmAmount" :disabled="taskName != '项目部审核'"
80
+                    @change="calculateXmAmount(detail)"></el-input>
81
+                </td>
82
+                <td>
83
+                  <el-input v-model="detail.managerAmount" :disabled="taskName != '分管审核'"
84
+                    @change="calculateManagerAmount(detail)"></el-input>
85
+                </td>
86
+                <td>
87
+                  <el-button type="danger" icon="el-icon-minus" size="mini" circle
88
+                    @click="deleDetailItem(index)"></el-button>
89
+                </td>
90
+              </tr>
91
+            </table>
92
+            <el-button icon="el-icon-plus" size="mini" @click="addDetailList()" type="primary" plain></el-button>
33 93
           </el-form-item>
94
+          <el-row :gutter="20">
95
+            <el-col :span="6" :xs="24">
96
+              <el-form-item label="申请金额" prop="applyAmount">
97
+                <el-input v-model="form.applyAmount" placeholder="请输入申请金额" :disabled="taskName != '借款申请'" />
98
+              </el-form-item>
99
+            </el-col>
100
+            <el-col :span="6" :xs="24">
101
+              <el-form-item label="核准金额" prop="managerAmount">
102
+                <el-input v-model="form.managerAmount" placeholder="请输入核准金额" :disabled="taskName != '分管审核'" />
103
+              </el-form-item>
104
+            </el-col>
105
+          </el-row>
34 106
           <el-form-item label="申请人说明" prop="applyReason">
35
-            <el-input v-model="form.applyReason" placeholder="请输入申请人说明" />
36
-          </el-form-item>
37
-          <el-form-item label="申请人" prop="user.nickName">
38
-            {{ form.applierUser ? form.applierUser.nickName : form.user.nickName }}
39
-          </el-form-item>
40
-          <el-form-item label="申请部门" prop="dept.deptName">
41
-            {{ form.dept.deptName }}
42
-          </el-form-item>
43
-          <el-form-item label="申请时间:" prop="date">
44
-            <el-date-picker style="width:140px;" v-model="form.applyDate" value-format="yyyy-MM-dd" type="date"
45
-              placeholder="选择日期" :disabled="taskName != '借款申请'">
46
-            </el-date-picker>
107
+            <el-input type="textarea" v-model="form.applyReason" placeholder="请输入申请人说明" :disabled="taskName != '借款申请'" />
47 108
           </el-form-item>
48 109
           <el-divider></el-divider>
49
-          <el-form-item label="部门意见" prop="deptComment">
50
-            <el-input v-model="form.deptComment" placeholder="请输入部门意见" />
110
+          <el-form-item label="部门负责人意见" prop="deptComment">
111
+            <el-input type="textarea" v-model="form.deptComment" placeholder="请输入部门负责人意见"
112
+              :disabled="taskName != '部门审核'" />
51 113
           </el-form-item>
52 114
           <el-row>
53 115
             <el-col :span="6" :xs="24" :offset="12">
@@ -56,59 +118,77 @@
56 118
               </el-form-item>
57 119
             </el-col>
58 120
             <el-col :span="6">
59
-              <el-form-item label="日期:" prop="deptTime" label-width="120px" v-if="showFormItem('部门审核')">
60
-                <el-date-picker style="width:170px;" v-model="form.deptTime" value-format="yyyy-MM-dd" type="date"
61
-                  :disabled="true">
62
-                </el-date-picker>
121
+              <el-form-item label="日期:" label-width="120px" v-if="showFormItem('部门审核')">
122
+                <span> {{ form.deptTime ? form.deptTime : deptTime }} </span>
63 123
               </el-form-item>
64 124
             </el-col>
65 125
           </el-row>
66
-          <el-form-item label="项目部审批意见" prop="xmComment">
67
-            <el-input v-model="form.xmComment" placeholder="请输入项目部审批意见" />
68
-          </el-form-item>
69
-          <el-form-item label="项目部审批人" prop="xmUserId">
70
-            <el-input v-model="form.xmUserId" placeholder="请输入项目部审批人" />
71
-          </el-form-item>
72
-          <el-form-item label="项目部审批时间" prop="xmTime">
73
-            <el-date-picker clearable v-model="form.xmTime" type="date" value-format="yyyy-MM-dd"
74
-              placeholder="请选择项目部审批时间">
75
-            </el-date-picker>
76
-          </el-form-item>
77
-          <el-form-item label="分管审批意见" prop="managerComment">
78
-            <el-input v-model="form.managerComment" placeholder="请输入分管审批意见" />
79
-          </el-form-item>
80
-          <el-form-item label="分管审批人" prop="managerUserId">
81
-            <el-input v-model="form.managerUserId" placeholder="请输入分管审批人" />
126
+          <el-form-item label="项目部校核意见" prop="xmComment">
127
+            <el-input type="textarea" v-model="form.xmComment" placeholder="请输入项目部校核意见" :disabled="taskName != '项目部审核'" />
82 128
           </el-form-item>
83
-          <el-form-item label="分管审批时间" prop="managerTime">
84
-            <el-date-picker clearable v-model="form.managerTime" type="date" value-format="yyyy-MM-dd"
85
-              placeholder="请选择分管审批时间">
86
-            </el-date-picker>
129
+          <el-row>
130
+            <el-col :span="6" :xs="24" :offset="12">
131
+              <el-form-item label="签名:" label-width="120px" v-if="showFormItem('项目部审核')">
132
+                <span class="auditor"> {{ form.xmUser ? form.xmUser.nickName : xmUser }} </span>
133
+              </el-form-item>
134
+            </el-col>
135
+            <el-col :span="6">
136
+              <el-form-item label="日期:" label-width="120px" v-if="showFormItem('项目部审核')">
137
+                <span> {{ form.xmTime ? form.xmTime : xmTime }} </span>
138
+              </el-form-item>
139
+            </el-col>
140
+          </el-row>
141
+          <el-form-item label="分管领导审核意见" prop="managerComment">
142
+            <el-input type="textarea" v-model="form.managerComment" placeholder="请输入分管领导审核意见"
143
+              :disabled="taskName != '分管审核'" />
87 144
           </el-form-item>
145
+          <el-row>
146
+            <el-col :span="6" :xs="24" :offset="12">
147
+              <el-form-item label="签名:" label-width="120px" v-if="showFormItem('分管审核')">
148
+                <span class="auditor"> {{ form.managerUser ? form.managerUser.nickName : managerUser }} </span>
149
+              </el-form-item>
150
+            </el-col>
151
+            <el-col :span="6">
152
+              <el-form-item label="日期:" label-width="120px" v-if="showFormItem('分管审核')">
153
+                <span> {{ form.managerTime ? form.managerTime : managerTime }} </span>
154
+              </el-form-item>
155
+            </el-col>
156
+          </el-row>
88 157
           <el-form-item label="总经理审批意见" prop="zjlComment">
89
-            <el-input v-model="form.zjlComment" placeholder="请输入总经理审批意见" />
90
-          </el-form-item>
91
-          <el-form-item label="总经理审批人" prop="zjlUserId">
92
-            <el-input v-model="form.zjlUserId" placeholder="请输入总经理审批人" />
93
-          </el-form-item>
94
-          <el-form-item label="总经理审批时间" prop="zjlTime">
95
-            <el-date-picker clearable v-model="form.zjlTime" type="date" value-format="yyyy-MM-dd"
96
-              placeholder="请选择总经理审批时间">
97
-            </el-date-picker>
98
-          </el-form-item>
99
-          <el-form-item label="财务部经办人" prop="cwUserId">
100
-            <el-input v-model="form.cwUserId" placeholder="请输入财务部经办人" />
101
-          </el-form-item>
102
-          <el-form-item label="借款支付时间" prop="lendTime">
103
-            <el-date-picker clearable v-model="form.lendTime" type="date" value-format="yyyy-MM-dd"
104
-              placeholder="请选择借款支付时间">
105
-            </el-date-picker>
158
+            <el-input type="textarea" v-model="form.zjlComment" placeholder="请输入总经理审批意见"
159
+              :disabled="taskName != '总经理审核'" />
106 160
           </el-form-item>
161
+          <el-row>
162
+            <el-col :span="6" :xs="24" :offset="12">
163
+              <el-form-item label="签名:" label-width="120px" v-if="showFormItem('总经理审核')">
164
+                <span class="auditor"> {{ form.zjlUser ? form.zjlUser.nickName : zjlUser }} </span>
165
+              </el-form-item>
166
+            </el-col>
167
+            <el-col :span="6">
168
+              <el-form-item label="日期:" label-width="120px" v-if="showFormItem('总经理审核')">
169
+                <span> {{ form.zjlTime ? form.zjlTime : zjlTime }} </span>
170
+              </el-form-item>
171
+            </el-col>
172
+          </el-row>
107 173
           <el-form-item label="财务部支付备注" prop="cwComment">
108
-            <el-input v-model="form.cwComment" placeholder="请输入财务部支付备注" />
174
+            <el-input type="textarea" v-model="form.cwComment" placeholder="请输入财务部支付备注" :disabled="taskName != '财务处理'" />
109 175
           </el-form-item>
176
+          <el-row>
177
+            <el-col :span="6" :xs="24" :offset="12">
178
+              <el-form-item label="经办人:" label-width="120px" v-if="showFormItem('财务处理')">
179
+                <span class="auditor"> {{ form.cwUser ? form.cwUser.nickName : cwUser }} </span>
180
+              </el-form-item>
181
+            </el-col>
182
+            <el-col :span="6">
183
+              <el-form-item label="支付日期:" style="margin-left:20px" prop="lendTime" v-if="showFormItem('财务处理')">
184
+                <el-date-picker style="width:160px;" v-model="form.lendTime" value-format="yyyy-MM-dd" type="date"
185
+                  placeholder="选择日期" :disabled="taskName != '财务处理'">
186
+                </el-date-picker>
187
+              </el-form-item>
188
+            </el-col>
189
+          </el-row>
110 190
         </el-form>
111
-        <div slot="footer" class="dialog-footer">
191
+        <div style="text-align: center;">
112 192
           <el-button type="primary" @click="submitForm">确 定</el-button>
113 193
           <el-button @click="cancel">取 消</el-button>
114 194
         </div>
@@ -126,10 +206,14 @@
126 206
 </template>
127 207
 
128 208
 <script>
209
+import { parseTime } from "@/utils/ruoyi";
210
+import { getUsersDeptLeader, getUsersDeptLeaderByDept, getUsersManageLeaderByDept } from '@/api/system/post.js'
129 211
 import { listBorrow, getBorrow, delBorrow, addBorrow, updateBorrow } from "@/api/oa/borrow/borrow";
212
+import { getBorrowDetail, addBorrowDetail, updateBorrowDetail } from "@/api/oa/borrow/borrowDetail";
130 213
 import { listProject, getProject } from "@/api/oa/project/project";
131 214
 import flow from '@/views/flowable/task/todo/detail/flow'
132 215
 import { flowXmlAndNode } from "@/api/flowable/definition";
216
+import { complete, getNextFlowNode } from "@/api/flowable/todo";
133 217
 
134 218
 export default {
135 219
   components: {
@@ -148,6 +232,16 @@ export default {
148 232
   },
149 233
   data() {
150 234
     return {
235
+      deptUser: '',
236
+      xmUser: '',
237
+      managerUser: '',
238
+      zjlUser: '',
239
+      cwUser: '',
240
+      deptTime: '',
241
+      xmTime: '',
242
+      managerTime: '',
243
+      zjlTime: '',
244
+      lendTime: '',
151 245
       // 遮罩层
152 246
       loading: true,
153 247
       // 选中数组
@@ -171,7 +265,6 @@ export default {
171 265
         pageNum: 1,
172 266
         pageSize: 10,
173 267
         projectId: null,
174
-        borrowType: null,
175 268
         applyReason: null,
176 269
         applier: null,
177 270
         applyDate: null,
@@ -193,6 +286,8 @@ export default {
193 286
         zjlTime: null,
194 287
         lendTime: null
195 288
       },
289
+      detail: {},
290
+      detailList: [],
196 291
       projectList: [],
197 292
       chooseProject: {},
198 293
       isSelect: false,
@@ -209,10 +304,31 @@ export default {
209 304
       // 表单校验
210 305
       rules: {
211 306
       },
307
+      formTotal: 0,
212 308
       flowData: {}
213 309
     };
214 310
   },
215 311
   created() {
312
+    if (this.taskName == '部门审核') {
313
+      this.deptUser = this.$store.getters.name;
314
+      this.deptTime = parseTime(new Date(), '{y}-{m}-{d}')
315
+    }
316
+    if (this.taskName == '分管审核') {
317
+      this.managerUser = this.$store.getters.name;
318
+      this.managerTime = parseTime(new Date(), '{y}-{m}-{d}')
319
+    }
320
+    if (this.taskName == '项目部审核') {
321
+      this.xmUser = this.$store.getters.name;
322
+      this.xmTime = parseTime(new Date(), '{y}-{m}-{d}')
323
+    }
324
+    if (this.taskName == '总经理审核') {
325
+      this.zjlUser = this.$store.getters.name;
326
+      this.zjlTime = parseTime(new Date(), '{y}-{m}-{d}')
327
+    }
328
+    if (this.taskName == '财务处理') {
329
+      this.cwUser = this.$store.getters.name;
330
+      this.lendTime = parseTime(new Date(), '{y}-{m}-{d}')
331
+    }
216 332
     this.form.applyDate = new Date();
217 333
     this.form.user.nickName = this.$store.getters.name;
218 334
     this.form.dept.deptName = this.$store.getters.deptName;
@@ -222,7 +338,25 @@ export default {
222 338
       this.flowData = res.data;
223 339
     })
224 340
   },
341
+  mounted() {
342
+    this.initForm();
343
+  },
225 344
   methods: {
345
+    initForm() {
346
+      getBorrowDetail(this.taskForm.formId).then(res => {
347
+        this.detailList = res.data;
348
+      });
349
+      getBorrow(this.taskForm.formId).then(res => {
350
+        if (this.isEmptyObject(res.data)) {
351
+          this.formTotal = 0;
352
+          this.form.applier = this.$store.getters.userId;
353
+        }
354
+        else {
355
+          this.formTotal = 1;
356
+          this.form = res.data;
357
+        }
358
+      })
359
+    },
226 360
     /** 查询cmc借款申请列表 */
227 361
     getList() {
228 362
       this.loading = true;
@@ -258,12 +392,39 @@ export default {
258 392
       this.open = false;
259 393
       this.reset();
260 394
     },
395
+    isEmptyObject(obj) {
396
+      for (var key in obj) {
397
+        if (obj.hasOwnProperty(key)) {
398
+          return false;
399
+        }
400
+      }
401
+      return true;
402
+    },
403
+    deleDetailItem(index) {
404
+      let arr = this.detailList;
405
+      if (arr.length == 1) {
406
+        return;
407
+      }
408
+      if (index >= 0 && index < arr.length) {
409
+        arr.splice(index, 1);
410
+      }
411
+    },
412
+    addDetailList() {
413
+      this.detailList.push({
414
+        borrowItem: '',
415
+        unit: '',
416
+        price: '',
417
+        quantity: '',
418
+        applyAmount: '',
419
+        xmAmount: '',
420
+        managerAmount: '',
421
+      });
422
+    },
261 423
     // 表单重置
262 424
     reset() {
263 425
       this.form = {
264
-        borrowJd: null,
426
+        borrowId: null,
265 427
         projectId: null,
266
-        borrowType: null,
267 428
         applyReason: null,
268 429
         applier: null,
269 430
         applyDate: null,
@@ -299,7 +460,7 @@ export default {
299 460
     },
300 461
     // 多选框选中数据
301 462
     handleSelectionChange(selection) {
302
-      this.ids = selection.map(item => item.borrowJd)
463
+      this.ids = selection.map(item => item.borrowId)
303 464
       this.single = selection.length !== 1
304 465
       this.multiple = !selection.length
305 466
     },
@@ -312,8 +473,8 @@ export default {
312 473
     /** 修改按钮操作 */
313 474
     handleUpdate(row) {
314 475
       this.reset();
315
-      const borrowJd = row.borrowJd || this.ids
316
-      getBorrow(borrowJd).then(response => {
476
+      const borrowId = row.borrowId || this.ids
477
+      getBorrow(borrowId).then(response => {
317 478
         this.form = response.data;
318 479
         this.open = true;
319 480
         this.title = "修改cmc借款申请";
@@ -323,27 +484,92 @@ export default {
323 484
     submitForm() {
324 485
       this.$refs["form"].validate(valid => {
325 486
         if (valid) {
326
-          if (this.form.borrowJd != null) {
487
+          if (this.formTotal != 0) {
488
+            for (let detail of this.detailList) {
489
+              updateBorrowDetail(detail);
490
+            }
327 491
             updateBorrow(this.form).then(response => {
328 492
               this.$modal.msgSuccess("修改成功");
329 493
               this.open = false;
330 494
               this.getList();
331 495
             });
496
+            const params = { taskId: this.taskForm.taskId };
497
+            getNextFlowNode(params).then(res => {
498
+              if (this.taskName == '部门审核') {
499
+                getUsersDeptLeaderByDept({ deptId: 107 }).then(res => {
500
+                  let userId = res.data.userId;
501
+                  this.$set(this.taskForm.variables, "approval", userId);
502
+                  complete(this.taskForm).then(response => {
503
+                    this.$modal.msgSuccess(response.msg);
504
+                    this.$emit('goBack')
505
+                  });
506
+                });
507
+              }
508
+              else if (this.taskName == '项目部审核') {
509
+                getUsersManageLeaderByDept({ deptId: this.form.applyDept }).then(res => {
510
+                  let userId = res.data.userId;
511
+                  this.$set(this.taskForm.variables, "approval", userId);
512
+                  complete(this.taskForm).then(response => {
513
+                    this.$modal.msgSuccess(response.msg);
514
+                    this.$emit('goBack')
515
+                  });
516
+                });
517
+              }
518
+              else if (this.taskName == '分管审核') {
519
+                this.$set(this.taskForm.variables, "approval", 2);
520
+                complete(this.taskForm).then(response => {
521
+                  this.$modal.msgSuccess(response.msg);
522
+                  this.$emit('goBack')
523
+                });
524
+              }
525
+              else if (this.taskName == '总经理审核') {
526
+                getUsersDeptLeaderByDept({ deptId: 106 }).then(res => {
527
+                  let userId = res.data.userId;
528
+                  this.$set(this.taskForm.variables, "approval", userId);
529
+                  complete(this.taskForm).then(response => {
530
+                    this.$modal.msgSuccess(response.msg);
531
+                    this.$emit('goBack')
532
+                  });
533
+                });
534
+              }
535
+              else if (this.taskName == '财务处理') {
536
+                complete(this.taskForm).then(response => {
537
+                  this.$modal.msgSuccess(response.msg);
538
+                  this.$emit('goBack')
539
+                });
540
+              }
541
+            })
332 542
           } else {
543
+            for (let detail of this.detailList) {
544
+              detail.borrowId = this.taskForm.formId;
545
+              addBorrowDetail(detail);
546
+            }
547
+            this.form.borrowId = this.taskForm.formId;
333 548
             addBorrow(this.form).then(response => {
334 549
               this.$modal.msgSuccess("新增成功");
335 550
               this.open = false;
336 551
               this.getList();
337 552
             });
553
+            const params = { taskId: this.taskForm.taskId };
554
+            getNextFlowNode(params).then(res => {
555
+              getUsersDeptLeader({ userId: this.$store.getters.userId }).then(res => {
556
+                let userId = res.data.userId;
557
+                this.$set(this.taskForm.variables, "approval", userId);
558
+                complete(this.taskForm).then(response => {
559
+                  this.$modal.msgSuccess(response.msg);
560
+                  this.$emit('goBack')
561
+                });
562
+              })
563
+            })
338 564
           }
339 565
         }
340 566
       });
341 567
     },
342 568
     /** 删除按钮操作 */
343 569
     handleDelete(row) {
344
-      const borrowJds = row.borrowJd || this.ids;
345
-      this.$modal.confirm('是否确认删除cmc借款申请编号为"' + borrowJds + '"的数据项?').then(function () {
346
-        return delBorrow(borrowJds);
570
+      const borrowIds = row.borrowId || this.ids;
571
+      this.$modal.confirm('是否确认删除cmc借款申请编号为"' + borrowIds + '"的数据项?').then(function () {
572
+        return delBorrow(borrowIds);
347 573
       }).then(() => {
348 574
         this.getList();
349 575
         this.$modal.msgSuccess("删除成功");
@@ -360,9 +586,42 @@ export default {
360 586
       if (name == '借款申请')
361 587
         isShow = true;
362 588
       else if (name == '部门审核')
363
-        isShow = true;
589
+        isShow = (this.taskName != '借款申请');
590
+      else if (name == '项目部审核')
591
+        isShow = (this.taskName != '借款申请' && this.taskName != '部门审核');
592
+      else if (name == '分管审核')
593
+        isShow = (this.taskName != '借款申请' && this.taskName != '部门审核' && this.taskName != '项目部审核');
594
+      else if (name == '总经理审核')
595
+        isShow = (this.taskName == '总经理审核' || this.taskName == '财务处理');
596
+      else if (name == '财务处理')
597
+        isShow = (this.taskName == '财务处理');
364 598
       return isShow;
365 599
     },
600
+    calculateAmount(detail) {
601
+      let total = Number(detail.price) * Number(detail.quantity);
602
+      this.$set(detail, "applyAmount", total.toFixed(2));
603
+      this.getTotal("applyAmount", "applyAmount", this.detailList);
604
+    },
605
+    calculateXmAmount(detail) {
606
+      this.getTotal("xmAmount", "managerAmount", this.detailList);
607
+    },
608
+    calculateManagerAmount(detail) {
609
+      this.getTotal("managerAmount", "managerAmount", this.detailList);
610
+    },
611
+    getTotal(name1, name2, list) {
612
+      let sum = 0;
613
+      for (let user of list) {
614
+        sum = sum + Number(user[name1]);
615
+      }
616
+      this.form[name2] = sum.toFixed(2);
617
+    },
366 618
   }
367 619
 };
368 620
 </script>
621
+
622
+<style>
623
+.auditor {
624
+  font-family: '华文行楷';
625
+  font-size: 20px;
626
+}
627
+</style>

+ 44
- 31
oa-ui/src/views/flowable/form/carForm.vue Visa fil

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-02-29 11:44:28
4 4
  * @LastEditors: wrh
5
- * @LastEditTime: 2024-04-11 14:52:03
5
+ * @LastEditTime: 2024-04-16 09:58:53
6 6
 -->
7 7
 
8 8
 <template>
@@ -107,15 +107,13 @@
107 107
               </el-form-item>
108 108
               <el-row>
109 109
                 <el-col :span="6" :xs="24" :offset="12">
110
-                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('部门审核')">
110
+                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('部门审核签名')">
111 111
                     <span class="auditor"> {{ form.deptUser ? form.deptUser.nickName : deptUser }} </span>
112 112
                   </el-form-item>
113 113
                 </el-col>
114 114
                 <el-col :span="6">
115
-                  <el-form-item label="日期:" prop="deptTime" label-width="120px" v-if="showFormItem('部门审核')">
116
-                    <el-date-picker style="width:170px;" v-model="form.deptTime" value-format="yyyy-MM-dd" type="date"
117
-                      :disabled="true">
118
-                    </el-date-picker>
115
+                  <el-form-item label="日期:" label-width="120px" v-if="showFormItem('部门审核签名')">
116
+                    <span> {{ form.deptTime ? form.deptTime : deptTime }} </span>
119 117
                   </el-form-item>
120 118
                 </el-col>
121 119
               </el-row>
@@ -127,15 +125,13 @@
127 125
               </el-form-item>
128 126
               <el-row>
129 127
                 <el-col :span="6" :xs="24" :offset="12">
130
-                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('分管审核')">
128
+                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('分管审核签名')">
131 129
                     <span class="auditor"> {{ form.managerUser ? form.managerUser.nickName : managerUser }} </span>
132 130
                   </el-form-item>
133 131
                 </el-col>
134 132
                 <el-col :span="6">
135
-                  <el-form-item label="日期:" prop="managerTime" label-width="120px" v-if="showFormItem('分管审核')">
136
-                    <el-date-picker style="width:170px;" v-model="form.managerTime" value-format="yyyy-MM-dd" type="date"
137
-                      :disabled="true">
138
-                    </el-date-picker>
133
+                  <el-form-item label="日期:" label-width="120px" v-if="showFormItem('分管审核签名')">
134
+                    <span> {{ form.managerTime ? form.managerTime : managerTime }} </span>
139 135
                   </el-form-item>
140 136
                 </el-col>
141 137
               </el-row>
@@ -147,15 +143,13 @@
147 143
               </el-form-item>
148 144
               <el-row>
149 145
                 <el-col :span="6" :xs="24" :offset="12">
150
-                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('工会审核')">
146
+                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('工会审核签名')">
151 147
                     <span class="auditor"> {{ form.unionUser ? form.unionUser.nickName : unionUser }} </span>
152 148
                   </el-form-item>
153 149
                 </el-col>
154 150
                 <el-col :span="6">
155
-                  <el-form-item label="日期:" prop="unionTime" label-width="120px" v-if="showFormItem('工会审核')">
156
-                    <el-date-picker style="width:170px;" v-model="form.unionTime" value-format="yyyy-MM-dd" type="date"
157
-                      :disabled="true">
158
-                    </el-date-picker>
151
+                  <el-form-item label="日期:" label-width="120px" v-if="showFormItem('工会审核签名')">
152
+                    <span> {{ form.unionTime ? form.unionTime : unionTime }} </span>
159 153
                   </el-form-item>
160 154
                 </el-col>
161 155
               </el-row>
@@ -167,15 +161,13 @@
167 161
               </el-form-item>
168 162
               <el-row>
169 163
                 <el-col :span="6" :xs="24" :offset="12">
170
-                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('总经理审核')">
164
+                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('总经理审核签名')">
171 165
                     <span class="auditor"> {{ form.gmUser ? form.gmUser.nickName : gmUser }} </span>
172 166
                   </el-form-item>
173 167
                 </el-col>
174 168
                 <el-col :span="6">
175
-                  <el-form-item label="日期:" prop="gmTime" label-width="120px" v-if="showFormItem('总经理审核')">
176
-                    <el-date-picker style="width:170px;" v-model="form.gmTime" value-format="yyyy-MM-dd" type="date"
177
-                      :disabled="true">
178
-                    </el-date-picker>
169
+                  <el-form-item label="日期:" label-width="120px" v-if="showFormItem('总经理审核签名')">
170
+                    <span> {{ form.gmTime ? form.gmTime : gmTime }} </span>
179 171
                   </el-form-item>
180 172
                 </el-col>
181 173
               </el-row>
@@ -193,11 +185,8 @@
193 185
                   </el-form-item>
194 186
                 </el-col>
195 187
                 <el-col :span="6">
196
-                  <el-form-item label="日期:" prop="dispatchTime" label-width="120px"
197
-                    v-if="taskName == '安排用车' || taskName == '申请确认'">
198
-                    <el-date-picker style="width:170px;" v-model="form.dispatchTime" value-format="yyyy-MM-dd" type="date"
199
-                      :disabled="true">
200
-                    </el-date-picker>
188
+                  <el-form-item label="日期:" label-width="120px" v-if="taskName == '安排用车' || taskName == '申请确认'">
189
+                    <span> {{ form.dispatchTime ? form.dispatchTime : dispatchTime }} </span>
201 190
                   </el-form-item>
202 191
                 </el-col>
203 192
               </el-row>
@@ -242,6 +231,7 @@
242 231
 </template>
243 232
 
244 233
 <script>
234
+import { parseTime } from "@/utils/ruoyi";
245 235
 import { listProject, getProject } from "@/api/oa/project/project";
246 236
 import { listCar, getCar } from "@/api/oa/car/car";
247 237
 import { listCarApproval, getCarApproval, updateCarApproval, addCarApproval, modifyCarApproval } from '@/api/oa/car/carApproval'
@@ -267,16 +257,26 @@ export default {
267 257
     }
268 258
   },
269 259
   created() {
270
-    if (this.taskName == '部门审核')
260
+    if (this.taskName == '部门审核') {
271 261
       this.deptUser = this.$store.getters.name;
272
-    if (this.taskName == '分管审核')
262
+      this.deptTime = parseTime(new Date(), '{y}-{m}-{d}')
263
+    }
264
+    if (this.taskName == '分管审核') {
273 265
       this.managerUser = this.$store.getters.name;
274
-    if (this.taskName == '工会审核')
266
+      this.managerTime = parseTime(new Date(), '{y}-{m}-{d}')
267
+    }
268
+    if (this.taskName == '工会审核') {
275 269
       this.unionUser = this.$store.getters.name;
276
-    if (this.taskName == '总经理审核')
270
+      this.unionTime = parseTime(new Date(), '{y}-{m}-{d}')
271
+    }
272
+    if (this.taskName == '总经理审核') {
277 273
       this.gmUser = this.$store.getters.name;
278
-    if (this.taskName == '安排用车')
274
+      this.gmTime = parseTime(new Date(), '{y}-{m}-{d}')
275
+    }
276
+    if (this.taskName == '安排用车') {
279 277
       this.dispatchUser = this.$store.getters.name;
278
+      this.dispatchTime = parseTime(new Date(), '{y}-{m}-{d}')
279
+    }
280 280
     this.dept = this.$store.getters.deptId;
281 281
     this.getProjectList();
282 282
     this.getCarList();
@@ -292,6 +292,11 @@ export default {
292 292
       unionUser: '',
293 293
       gmUser: '',
294 294
       dispatchUser: '',
295
+      deptTime: undefined,
296
+      managerTime: undefined,
297
+      unionTime: undefined,
298
+      gmTime: undefined,
299
+      dispatchTime: undefined,
295 300
       form: {
296 301
         carUsage: '0',
297 302
         days: '',
@@ -537,6 +542,14 @@ export default {
537 542
         isShow = (this.dept == 0 && this.taskName == '用车申请') || this.taskName == '工会审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.unionUserId != null);
538 543
       else if (name == '总经理审核')
539 544
         isShow = (this.dept == 102 && this.taskName == '用车申请') || this.taskName == '总经理审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.gmUserId != null);
545
+      else if (name == '部门审核签名')
546
+        isShow = (this.taskName == '部门审核' || this.taskName == '分管审核') || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.deptUserId != null);
547
+      else if (name == '分管审核签名')
548
+        isShow = this.taskName == '分管审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.managerUserId != null);
549
+      else if (name == '工会审核签名')
550
+        isShow = this.taskName == '工会审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.unionUserId != null);
551
+      else if (name == '总经理审核签名')
552
+        isShow = this.taskName == '总经理审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.gmUserId != null);
540 553
       return isShow;
541 554
     },
542 555
   },

+ 27
- 20
oa-ui/src/views/flowable/form/deviceForm.vue Visa fil

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-07 13:44:39
4 4
  * @LastEditors: wrh
5
- * @LastEditTime: 2024-04-11 17:04:54
5
+ * @LastEditTime: 2024-04-16 10:20:19
6 6
 -->
7 7
 
8 8
 <template>
@@ -94,15 +94,13 @@
94 94
               </el-form-item>
95 95
               <el-row>
96 96
                 <el-col :span="6" :xs="24" :offset="12">
97
-                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('部门审核')">
97
+                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('部门审核签名')">
98 98
                     <span class="auditor"> {{ form.deptUser ? form.deptUser.nickName : deptUser }} </span>
99 99
                   </el-form-item>
100 100
                 </el-col>
101 101
                 <el-col :span="6">
102
-                  <el-form-item label="日期:" prop="deptTime" label-width="120px" v-if="showFormItem('部门审核')">
103
-                    <el-date-picker style="width:170px;" v-model="form.deptTime" value-format="yyyy-MM-dd" type="date"
104
-                      :disabled="true">
105
-                    </el-date-picker>
102
+                  <el-form-item label="日期:" label-width="120px" v-if="showFormItem('部门审核签名')">
103
+                    <span> {{ form.deptTime ? form.deptTime : deptTime }} </span>
106 104
                   </el-form-item>
107 105
                 </el-col>
108 106
               </el-row>
@@ -114,15 +112,13 @@
114 112
               </el-form-item>
115 113
               <el-row>
116 114
                 <el-col :span="6" :xs="24" :offset="12">
117
-                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('分管审核')">
115
+                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('分管审核签名')">
118 116
                     <span class="auditor"> {{ form.managerUser ? form.managerUser.nickName : managerUser }} </span>
119 117
                   </el-form-item>
120 118
                 </el-col>
121 119
                 <el-col :span="6">
122
-                  <el-form-item label="日期:" prop="managerTime" label-width="120px" v-if="showFormItem('分管审核')">
123
-                    <el-date-picker style="width:170px;" v-model="form.managerTime" value-format="yyyy-MM-dd" type="date"
124
-                      :disabled="true">
125
-                    </el-date-picker>
120
+                  <el-form-item label="日期:" label-width="120px" v-if="showFormItem('分管审核签名')">
121
+                    <span> {{ form.managerTime ? form.managerTime : managerTime }} </span>
126 122
                   </el-form-item>
127 123
                 </el-col>
128 124
               </el-row>
@@ -140,17 +136,14 @@
140 136
                   </el-form-item>
141 137
                 </el-col>
142 138
                 <el-col :span="6">
143
-                  <el-form-item label="日期:" prop="dispatchTime" label-width="120px"
144
-                    v-if="taskName == '安排设备' || taskName == '申请确认' || taskName == '归还确认'">
145
-                    <el-date-picker style="width:170px;" v-model="form.dispatchTime" value-format="yyyy-MM-dd" type="date"
146
-                      :disabled="true">
147
-                    </el-date-picker>
139
+                  <el-form-item label="日期:" label-width="120px" v-if="taskName == '安排设备' || taskName == '申请确认' || taskName == '归还确认'">
140
+                    <span> {{ form.dispatchTime ? form.dispatchTime : dispatchTime }} </span>
148 141
                   </el-form-item>
149 142
                 </el-col>
150 143
               </el-row>
151 144
               <!-- 设备安排 -->
152 145
               <el-form-item label-width="120px" label="设备选择:">
153
-                <el-select v-model="form.devices" filterable multiple placeholder="请选择" @change="handleSelectDevice"
146
+                <el-select style="width: 300px;" v-model="form.devices" filterable multiple placeholder="请选择" @change="handleSelectDevice"
154 147
                   clearable :disabled="taskName != '安排设备'">
155 148
                   <el-option v-for="item in deviceList" :key="item.deviceId"
156 149
                     :label="item.brand + item.series + item.name + item.code" :value="item.deviceId">
@@ -206,6 +199,7 @@
206 199
 </template>
207 200
 
208 201
 <script>
202
+import { parseTime } from "@/utils/ruoyi";
209 203
 import { listProject, getProject } from "@/api/oa/project/project";
210 204
 import { listDevice, getDevice } from "@/api/oa/device/device";
211 205
 import { listDeviceApproval, getDeviceApproval, updateDeviceApproval, submitDeviceApproval, modifyDeviceApproval } from '@/api/oa/device/deviceApproval'
@@ -230,12 +224,18 @@ export default {
230 224
     }
231 225
   },
232 226
   created() {
233
-    if (this.taskName == '部门审核')
227
+    if (this.taskName == '部门审核') {
234 228
       this.deptUser = this.$store.getters.name;
235
-    if (this.taskName == '分管审核')
229
+      this.deptTime = parseTime(new Date(), '{y}-{m}-{d}')
230
+    }
231
+    if (this.taskName == '分管审核') {
236 232
       this.managerUser = this.$store.getters.name;
237
-    if (this.taskName == '安排设备')
233
+      this.managerTime = parseTime(new Date(), '{y}-{m}-{d}')
234
+    }
235
+    if (this.taskName == '安排设备') {
238 236
       this.dispatchUser = this.$store.getters.name;
237
+      this.dispatchTime = parseTime(new Date(), '{y}-{m}-{d}')
238
+    }
239 239
     this.form.user.nickName = this.$store.getters.name;
240 240
     this.form.dept.deptName = this.$store.getters.deptName;
241 241
     this.getProjectList();
@@ -249,6 +249,9 @@ export default {
249 249
       deptUser: '',
250 250
       managerUser: '',
251 251
       dispatchUser: '',
252
+      deptTime: undefined,
253
+      managerTime: undefined,
254
+      dispatchTime: undefined,
252 255
       form: {
253 256
         user: {
254 257
           nickName: '',
@@ -463,6 +466,10 @@ export default {
463 466
         isShow = (this.taskName == '设备申请' || this.taskName == '部门审核' || this.taskName == '分管审核') || ((this.taskName == '安排设备' || this.taskName == '申请确认' || this.taskName == '归还确认') && this.form.deptUserId != null);
464 467
       else if (name == '分管审核')
465 468
         isShow = (this.taskName == '设备申请' || this.taskName == '部门审核' || this.taskName == '分管审核') || ((this.taskName == '安排设备' || this.taskName == '申请确认' || this.taskName == '归还确认') && this.form.managerUserId != null);
469
+      else if (name == '部门审核签名')
470
+        isShow = (this.taskName == '部门审核' || this.taskName == '分管审核') || ((this.taskName == '安排设备' || this.taskName == '申请确认' || this.taskName == '归还确认') && this.form.deptUserId != null);
471
+      else if (name == '分管审核签名')
472
+        isShow = this.taskName == '分管审核' || ((this.taskName == '安排设备' || this.taskName == '申请确认' || this.taskName == '归还确认') && this.form.managerUserId != null);
466 473
       return isShow;
467 474
     },
468 475
   },

+ 40
- 38
oa-ui/src/views/flowable/form/projectProcess/addproject.vue Visa fil

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-02-27 14:49:15
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-11 14:13:45
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-04-16 17:03:17
6 6
 -->
7 7
 
8 8
 <template>
@@ -50,7 +50,8 @@
50 50
           </tr>
51 51
           <tr v-for="(work, index) in workList" :key="index">
52 52
             <td>
53
-              <el-input v-model="work.content" type="textarea"  clearable :autosize="{ minRows: 4, maxRows: 10}"></el-input>
53
+              <el-input v-model="work.content" type="textarea" clearable
54
+                :autosize="{ minRows: 4, maxRows: 10 }"></el-input>
54 55
             </td>
55 56
             <td>
56 57
               <el-input v-model="work.scale" clearable></el-input>
@@ -67,24 +68,32 @@
67 68
               </el-date-picker>
68 69
             </td>
69 70
             <td>
70
-              <el-input v-model="work.remark" type="textarea"  clearable :autosize="{ minRows: 4, maxRows: 10}"></el-input>
71
+              <el-input v-model="work.remark" type="textarea" clearable
72
+                :autosize="{ minRows: 4, maxRows: 10 }"></el-input>
71 73
             </td>
72 74
             <td>
73
-              <el-button type="danger" icon="el-icon-minus" size="mini" circle
74
-                @click="deletWorkItem(index)"></el-button>
75
+              <el-button type="danger" icon="el-icon-minus" size="mini" circle @click="deletWorkItem(index)"></el-button>
75 76
             </td>
76 77
           </tr>
77 78
         </table>
78 79
 
79 80
         <el-button icon="el-icon-plus" size="mini" @click="addWorkList"></el-button>
80 81
       </el-form-item>
81
-      <el-form-item label="项目登记人:" prop="projectRegistrantUser.nickName">
82
-        <el-tag>{{ addForm.projectRegistrantUser.nickName }}</el-tag>
83
-        <!-- <el-input v-model="addForm.projectRegistrant"></el-input> -->
84
-      </el-form-item>
85 82
       <el-form-item label="备注:" prop="remark">
86 83
         <el-input v-model="addForm.remark" type="textarea" rows="3"></el-input>
87 84
       </el-form-item>
85
+      <el-row>
86
+        <el-col :span="6" :xs="24" :offset="12">
87
+          <el-form-item label="项目登记人:" prop="registrantUser">
88
+            <span class="auditor"> {{ addForm.projectRegistrantUser ? addForm.projectRegistrantUser.nickName : registrantUser }} </span>
89
+          </el-form-item>
90
+        </el-col>
91
+        <el-col :span="6">
92
+          <el-form-item label="登记日期:" label-width="120px">
93
+            <span> {{ addForm.registerTime ? addForm.registerTime : registerTime }} </span>
94
+          </el-form-item>
95
+        </el-col>
96
+      </el-row>
88 97
     </el-form>
89 98
     <div slot="footer" class="dialog-footer" style="text-align: center">
90 99
       <el-button type="primary" @click="confirmAddForm" :disabled="disabled">确 定</el-button>
@@ -94,27 +103,13 @@
94 103
 </template>
95 104
 
96 105
 <script>
106
+import { parseTime } from "@/utils/ruoyi";
97 107
 import { mapGetters } from "vuex";
98
-import {
99
-  listProject,
100
-  getProject,
101
-  addProject,
102
-  updateProject,
103
-  delProject,
104
-  submitProject,
105
-} from "@/api/oa/project/project";
108
+import { listProject, getProject, addProject, delProject } from "@/api/oa/project/project";
106 109
 import { getUser } from "@/api/system/user";
107 110
 import { getUsersDeptLeaderByDept } from "@/api/system/post";
108
-import {
109
-  complete,
110
-  rejectTask,
111
-  returnList,
112
-  returnTask,
113
-  getNextFlowNode,
114
-  delegate,
115
-  flowTaskForm,
116
-} from "@/api/flowable/todo";
117
-import { getProjectWork } from "@/api/oa/project/projectWork";
111
+import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm } from "@/api/flowable/todo";
112
+import { getProjectWork, addProjectWork } from "@/api/oa/project/projectWork";
118 113
 export default {
119 114
   props: {
120 115
     disabled: {
@@ -131,6 +126,7 @@ export default {
131 126
   },
132 127
   data() {
133 128
     return {
129
+      registerTime: undefined,
134 130
       // 查询参数
135 131
       queryParams: {
136 132
         pageNum: 1,
@@ -145,10 +141,8 @@ export default {
145 141
       loading: true,
146 142
       modifyOpen: false,
147 143
       addForm: {
144
+        registerTime: undefined,
148 145
         projectRegistrant: "",
149
-        projectRegistrantUser: {
150
-          nickName: ''
151
-        }
152 146
       },
153 147
       rules: {
154 148
         projectNumber: [{ required: true, message: "请输入项目编号", trigger: "blur" }],
@@ -160,7 +154,7 @@ export default {
160 154
           scale: "",
161 155
           unit: "",
162 156
           workload: "",
163
-          deadline: "",
157
+          deadline: undefined,
164 158
           remark: "",
165 159
         },
166 160
       ],
@@ -168,12 +162,13 @@ export default {
168 162
     };
169 163
   },
170 164
   created() {
165
+    this.registerTime = parseTime(new Date(), '{y}-{m}-{d}')
171 166
     if (this.$route.query.taskName != '项目登记') {
172 167
       this.getProjectInfo();
173 168
       this.getProjectWorkList();
174 169
     } else {
175 170
       this.addForm.projectRegistrant = this.userId;
176
-      this.addForm.projectRegistrantUser.nickName = this.name;
171
+      this.registrantUser = this.name;
177 172
     }
178 173
     // this.getList();
179 174
   },
@@ -208,10 +203,12 @@ export default {
208 203
     },
209 204
     confirmAddForm() {
210 205
       this.addForm.projectId = this.taskForm.formId;
211
-      this.addForm.workList = this.workList;
212
-      let forms = new FormData();
213
-      forms.append("form", JSON.stringify(this.addForm));
214
-      submitProject(forms).then(response => {
206
+      console.log(this.addForm);
207
+      for (let work of this.workList) {
208
+        work.projectId = this.taskForm.formId;
209
+        addProjectWork(work);
210
+      }
211
+      addProject(this.addForm).then(response => {
215 212
         this.$modal.msgSuccess("新增成功");
216 213
         this.getList();
217 214
       });
@@ -237,7 +234,7 @@ export default {
237 234
         scale: "",
238 235
         unit: "",
239 236
         workload: "",
240
-        deadline: "",
237
+        deadline: undefined,
241 238
         remark: "",
242 239
       });
243 240
     },
@@ -316,4 +313,9 @@ table {
316 313
 .el-radio__input.is-disabled.is-checked .el-radio__inner {
317 314
   border-color: var(--current-color);
318 315
 }
316
+
317
+.auditor {
318
+  font-family: '华文行楷';
319
+  font-size: 20px;
320
+}
319 321
 </style>

+ 45
- 36
oa-ui/src/views/flowable/form/projectProcess/arrangeProject.vue Visa fil

@@ -1,54 +1,65 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-19 09:24:06
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-11 16:24:28
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-04-16 17:01:08
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
9 9
     <h2 style="text-align: center;">项目安排</h2>
10 10
     <el-form :model="form" :rules="rules" label-width="100px" :disabled="disabled">
11
-      <el-form-item label="承担部门:" prop="undertakingDept">
12
-        <el-select v-model="form.deptId" multiple clearable style="width:500px" @change="getDeptLeader">
13
-          <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId"
14
-            v-if="item.deptName != '四川中水成勘院测绘工程有限责任公司'">
15
-          </el-option>
16
-        </el-select>
17
-      </el-form-item>
18
-      <el-form-item label="部门负责人" prop="deptLeader">
19
-        <el-select v-model="form.deptLeader" multiple clearable style="width:500px">
20
-          <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
21
-          </el-option>
22
-        </el-select>
23
-      </el-form-item>
24
-      <el-form-item label="项目负责人" prop="projectLeader">
25
-        <el-tag effect="plain" type="warning" style="margin-right: 10px;"
26
-          v-if="form.projectLeader != '' && form.projectLeader != undefined">{{
27
-      form.projectLeaderName }}</el-tag>
28
-        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="choosePeople">选择</el-button>
29
-      </el-form-item>
30
-      <el-form-item label="现场负责人" prop="siteLeader">
31
-        <el-select v-model="form.siteLeader" filterable clearable style="width:500px">
32
-          <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"
33
-            v-if="item.nickName != 'admin'">
34
-          </el-option>
35
-        </el-select>
36
-      </el-form-item>
11
+      <el-row>
12
+        <el-col :span="12" :xs="24">
13
+          <el-form-item label="承担部门:" prop="undertakingDept">
14
+            <el-select v-model="form.deptId" multiple clearable style="width:400px" @change="getDeptLeader">
15
+              <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId"
16
+                v-if="item.deptName != '四川中水成勘院测绘工程有限责任公司'">
17
+              </el-option>
18
+            </el-select>
19
+          </el-form-item>
20
+        </el-col>
21
+        <el-col :span="12" :xs="24">
22
+          <el-form-item label="部门负责人" prop="deptLeader">
23
+            <el-select v-model="form.deptLeader" multiple clearable style="width:400px">
24
+              <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
25
+              </el-option>
26
+            </el-select>
27
+          </el-form-item>
28
+        </el-col>
29
+      </el-row>
30
+      <el-row>
31
+        <el-col :span="12" :xs="24">
32
+          <el-form-item label="项目负责人" prop="projectLeader">
33
+            <el-tag effect="plain" type="warning" style="margin-right: 10px;"
34
+              v-if="form.projectLeader != '' && form.projectLeader != undefined">{{
35
+                form.projectLeaderName }}</el-tag>
36
+            <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="choosePeople">选择</el-button>
37
+          </el-form-item>
38
+        </el-col>
39
+        <el-col :span="12" :xs="24">
40
+          <el-form-item label="现场负责人" prop="siteLeader">
41
+            <el-select v-model="form.siteLeader" filterable clearable style="width:400px">
42
+              <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"
43
+                v-if="item.nickName != 'admin'">
44
+              </el-option>
45
+            </el-select>
46
+          </el-form-item>
47
+        </el-col>
48
+      </el-row>
37 49
     </el-form>
38 50
     <!-- 人员选择对话框 -->
39 51
     <el-dialog width="320px" title="选择项目负责人" :visible.sync="peopleVisible" append-to-body>
40 52
       <el-form>
41 53
         <el-form-item label="部门:">
42 54
           <el-select v-model="peopleForm.deptId" @change="handleChangeDept">
43
-            <el-option v-for="item in peopleForm.deptList" :key="item.deptId" :label="item.deptName"
44
-              :value="item.deptId" v-if="item.deptName != '四川中水成勘院测绘工程有限责任公司'">
55
+            <el-option v-for="item in peopleForm.deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId"
56
+              v-if="item.deptName != '四川中水成勘院测绘工程有限责任公司'">
45 57
             </el-option>
46 58
           </el-select>
47 59
         </el-form-item>
48 60
         <el-form-item label="人员:">
49 61
           <el-select v-model="peopleForm.userId">
50
-            <el-option v-for="item in peopleForm.userList" :key="item.userId" :label="item.nickName"
51
-              :value="item.userId">
62
+            <el-option v-for="item in peopleForm.userList" :key="item.userId" :label="item.nickName" :value="item.userId">
52 63
             </el-option>
53 64
           </el-select>
54 65
         </el-form-item>
@@ -185,10 +196,8 @@ export default {
185 196
       this.peopleVisible = false;
186 197
     },
187 198
     confirmPlanForm() {
188
-      this.form.undertakingDept = this.form.deptId.join(',')
189
-      let formData = new FormData();
190
-      formData.append("form", JSON.stringify(this.form));
191
-      modifyProject(formData)
199
+      this.form.undertakingDept = this.form.deptId.join(',');
200
+      updateProject(this.form)
192 201
       const params = { taskId: this.taskForm.taskId };
193 202
       // 获取下一个流程节点
194 203
       getNextFlowNode(params).then(res => {

+ 3
- 3
oa-ui/src/views/flowable/form/projectProcess/scConfirm.vue Visa fil

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-08 13:56:14
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-15 10:33:51
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-04-16 14:04:51
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -16,7 +16,7 @@
16 16
         <span class="auditor">{{ form.scApproverName }}</span>
17 17
         <el-button @click.once="sign" type="primary" size="mini" v-if="taskName == '生产确认'">签名</el-button>
18 18
       </el-form-item>
19
-      <el-form-item label="审核时间:">
19
+      <el-form-item label="确认时间:">
20 20
         {{ form.scApprovalTime }}
21 21
       </el-form-item>
22 22
       <el-form-item>

+ 26
- 25
oa-ui/src/views/flowable/form/technicalForm.vue Visa fil

@@ -62,10 +62,8 @@
62 62
               </el-form-item>
63 63
             </el-col>
64 64
             <el-col :span="6">
65
-              <el-form-item label="日期" prop="technicalTime" v-if="showFormItem('技术安排')">
66
-                <el-date-picker style="width:170px;" clearable v-model="form.technicalTime" type="date"
67
-                  value-format="yyyy-MM-dd" placeholder="请选择技术安排时间" :disabled="taskName != '技术安排'">
68
-                </el-date-picker>
65
+              <el-form-item label="日期:" label-width="120px" v-if="showFormItem('技术安排')">
66
+                <span> {{ form.technicalTime ? form.technicalTime : technicalTime }} </span>
69 67
               </el-form-item>
70 68
             </el-col>
71 69
           </el-row>
@@ -84,10 +82,8 @@
84 82
               </el-form-item>
85 83
             </el-col>
86 84
             <el-col :span="6">
87
-              <el-form-item label="日期" prop="technicalUploadTime" v-if="showFormItem('方案上传')">
88
-                <el-date-picker style="width:170px;" clearable v-model="form.technicalUploadTime" type="date"
89
-                  value-format="yyyy-MM-dd" placeholder="请选择方案上传时间" :disabled="taskName != '方案上传'">
90
-                </el-date-picker>
85
+              <el-form-item label="日期:" label-width="120px" v-if="showFormItem('方案上传')">
86
+                <span> {{ form.technicalUploadTime ? form.technicalUploadTime : technicalUploadTime }} </span>
91 87
               </el-form-item>
92 88
             </el-col>
93 89
           </el-row>
@@ -103,10 +99,8 @@
103 99
               </el-form-item>
104 100
             </el-col>
105 101
             <el-col :span="6">
106
-              <el-form-item label="日期" prop="techApprovalTime" v-if="showFormItem('技术审核')">
107
-                <el-date-picker style="width:170px;" clearable v-model="form.techApprovalTime" type="date"
108
-                  value-format="yyyy-MM-dd" placeholder="请选择技术审核时间" :disabled="taskName != '技术审核'">
109
-                </el-date-picker>
102
+              <el-form-item label="日期:" label-width="120px" v-if="showFormItem('技术审核')">
103
+                <span> {{ form.techApprovalTime ? form.techApprovalTime : techApprovalTime }} </span>
110 104
               </el-form-item>
111 105
             </el-col>
112 106
           </el-row>
@@ -121,10 +115,8 @@
121 115
               </el-form-item>
122 116
             </el-col>
123 117
             <el-col :span="6">
124
-              <el-form-item label="日期" prop="manageApprovalTime" v-if="showFormItem('总工审核')">
125
-                <el-date-picker style="width:170px;" clearable v-model="form.manageApprovalTime" type="date"
126
-                  value-format="yyyy-MM-dd" placeholder="请选择总工审核时间" :disabled="taskName != '总工审核'">
127
-                </el-date-picker>
118
+              <el-form-item label="日期:" label-width="120px" v-if="showFormItem('总工审核')">
119
+                <span> {{ form.manageApprovalTime ? form.manageApprovalTime : manageApprovalTime }} </span>
128 120
               </el-form-item>
129 121
             </el-col>
130 122
           </el-row>
@@ -147,6 +139,7 @@
147 139
 </template>
148 140
 
149 141
 <script>
142
+import { parseTime } from "@/utils/ruoyi";
150 143
 import { listTechnical, getTechnical, delTechnical, addTechnical, updateTechnical } from "@/api/oa/technical/technical";
151 144
 import { getProject } from "@/api/oa/project/project";
152 145
 import { listUser } from '@/api/system/user';
@@ -175,6 +168,10 @@ export default {
175 168
       planUser: '',
176 169
       managerUser: '',
177 170
       designUser: '',
171
+      technicalTime: undefined,
172
+      technicalUploadTime: undefined,
173
+      techApprovalTime: undefined,
174
+      manageApprovalTime: undefined,
178 175
       // 遮罩层
179 176
       loading: true,
180 177
       // 选中数组
@@ -229,14 +226,22 @@ export default {
229 226
     };
230 227
   },
231 228
   created() {
232
-    if (this.taskName == '技术安排')
229
+    if (this.taskName == '技术安排') {
233 230
       this.planUser = this.$store.getters.name;
234
-    if (this.taskName == '方案上传')
231
+      this.technicalTime = parseTime(new Date(), '{y}-{m}-{d}')
232
+    }
233
+    if (this.taskName == '方案上传') {
235 234
       this.designUser = this.$store.getters.name;
236
-    if (this.taskName == '技术审核')
235
+      this.technicalUploadTime = parseTime(new Date(), '{y}-{m}-{d}')
236
+    }
237
+    if (this.taskName == '技术审核') {
237 238
       this.planUser = this.$store.getters.name;
238
-    if (this.taskName == '总工审核')
239
+      this.techApprovalTime = parseTime(new Date(), '{y}-{m}-{d}')
240
+    }
241
+    if (this.taskName == '总工审核') {
239 242
       this.managerUser = this.$store.getters.name;
243
+      this.manageApprovalTime = parseTime(new Date(), '{y}-{m}-{d}')
244
+    }
240 245
     this.getProjectById();
241 246
     this.getUserList();
242 247
     this.getList();
@@ -253,7 +258,6 @@ export default {
253 258
         if (this.isEmptyObject(res.data)) {
254 259
           this.formTotal = 0;
255 260
           this.form.technicalPlanner = this.$store.getters.userId;
256
-          this.form.technicalTime = new Date();
257 261
         }
258 262
         else {
259 263
           this.formTotal = 1;
@@ -269,7 +273,6 @@ export default {
269 273
             data.qualityInspector = arr
270 274
           }
271 275
           this.form = data;
272
-          console.log(this.form);
273 276
         }
274 277
       })
275 278
     },
@@ -367,7 +370,6 @@ export default {
367 370
         if (valid) {
368 371
           if (this.formTotal != 0) {
369 372
             this.form.qualityInspector = this.form.qualityInspector.join(',');
370
-            console.log(this.form);
371 373
             updateTechnical(this.form).then(response => {
372 374
               this.$modal.msgSuccess("修改成功");
373 375
               this.open = false;
@@ -456,5 +458,4 @@ export default {
456 458
 .auditor {
457 459
   font-family: '华文行楷';
458 460
   font-size: 20px;
459
-}
460
-</style>
461
+}</style>

+ 11
- 9
oa-ui/src/views/flowable/task/todo/detail/index.vue Visa fil

@@ -30,10 +30,14 @@
30 30
             @goBack="goBack"></device-form>
31 31
           <project-process :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '项目流转'"
32 32
             @goBack="goBack"></project-process>
33
-          <budget-index :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '项目预算'" @goBack="goBack"></budget-index>
34
-          <borrow-form :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '借款审批'" @goBack="goBack"></borrow-form>
35
-          <safe-form :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '安全交底'" @goBack="goBack"></safe-form>
36
-          <technical-form :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '技术交底'" @goBack="goBack"></technical-form>
33
+          <budget-index :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '项目预算'"
34
+            @goBack="goBack"></budget-index>
35
+          <borrow-form :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '借款审批'"
36
+            @goBack="goBack"></borrow-form>
37
+          <safe-form :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '安全交底'"
38
+            @goBack="goBack"></safe-form>
39
+          <technical-form :taskName="taskName" :taskForm="taskForm" v-else-if="taskForm.procDefName == '技术交底'"
40
+            @goBack="goBack"></technical-form>
37 41
           <el-row type="flex" justify="center" v-show="isShowApprove()">
38 42
             <el-button v-if="!formKeyExist" icon="el-icon-edit-outline" type="success" size="mini"
39 43
               @click="handleComplete">审核通过
@@ -565,9 +569,8 @@ export default {
565 569
     },
566 570
     // 是否显示审批通过
567 571
     isShowApprove() {
568
-      if (this.taskName == '员工填报' || this.taskForm.procDefName == '用车审批'
569
-       || this.taskForm.procDefName == '用车审批(工会)' || this.taskForm.procDefName == '设备审批'|| this.taskForm.procDefName == '项目流转'
570
-       || this.taskForm.procDefName == '项目预算' || this.taskForm.procDefName == '借款审批' || this.taskForm.procDefName == '安全交底' || this.taskForm.procDefName == '技术交底') {
572
+      if (this.taskName == '员工填报' || this.taskForm.procDefName == '用车审批' || this.taskForm.procDefName == '设备审批' || this.taskForm.procDefName == '项目流转'
573
+        || this.taskForm.procDefName == '项目预算' || this.taskForm.procDefName == '借款审批' || this.taskForm.procDefName == '安全交底' || this.taskForm.procDefName == '技术交底') {
571 574
         return false
572 575
       } else {
573 576
         return true
@@ -605,5 +608,4 @@ export default {
605 608
 
606 609
 .my-label {
607 610
   background: #E1F3D8;
608
-}
609
-</style>
611
+}</style>

+ 10
- 6
oa-ui/src/views/oa/budget/addBudget.vue Visa fil

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-25 15:05:59
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-11 10:25:37
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-04-16 17:25:30
6 6
 -->
7 7
 <template>
8 8
   <div>
@@ -105,7 +105,7 @@
105 105
               {{ projectForm.projectRegistrantUser.nickName }}
106 106
             </el-form-item>
107 107
             <el-form-item label="登记时间:">
108
-              {{ projectForm.createTime }}
108
+              {{ projectForm.registerTime }}
109 109
             </el-form-item>
110 110
             <el-form-item label="备注:">
111 111
               {{ projectForm.remark }}
@@ -149,8 +149,9 @@
149 149
                 <tr>
150 150
                   <td style="width: 80px">姓名</td>
151 151
                   <td style="width: 100px">部门</td>
152
+                  <td style="width: 100px">基础工资</td>
152 153
                   <td style="width: 100px">岗位工资</td>
153
-                  <td style="width: 110px">人员成本(天)</td>
154
+                  <td style="width: 110px">人员成本(元/天)</td>
154 155
                   <!-- <td style="width: 100px">进出场单价</td> -->
155 156
                   <td style="width: 100px">预算天数</td>
156 157
                   <td style="width: 100px">总额</td>
@@ -158,8 +159,9 @@
158 159
                 <tr v-for="user in chooseUser" :key="user.userId">
159 160
                   <td>{{ user.nickName }}</td>
160 161
                   <td>{{ user.dept.deptName }}</td>
162
+                  <td>{{ 1780 }}</td>
161 163
                   <td>{{ user.salary.salary }}</td>
162
-                  <td>{{ parseFloat(user.salary.salary / 31).toFixed(2) }}</td>
164
+                  <td>{{ parseFloat((user.salary.salary + 1780) / 21.75).toFixed(2) }}</td>
163 165
                   <!-- <td>
164 166
                     <el-input
165 167
                       v-model="user.inOutPrice"
@@ -182,6 +184,8 @@
182 184
                 </tr>
183 185
               </table>
184 186
             </el-form-item>
187
+            
188
+        <div style="color:red">tips:人员成本=(基础工资+岗位工资)/21.75,固定工资中的年功工资暂忽略不计,绩效工资计入直接成本,津贴补贴、五险一金扣除暂未考虑</div>
185 189
             <!-- 选择车辆 -->
186 190
             <el-form-item label="选择车辆:">
187 191
               <span v-if="chooseCar.length != 0">
@@ -664,7 +668,7 @@ export default {
664 668
     },
665 669
     // 计算单个人员的成本
666 670
     calculateUserTotal(user) {
667
-      let total =parseFloat(user.salary.salary / 31).toFixed(2) * Number(user.days);
671
+      let total =parseFloat((user.salary.salary + 1780) / 21.75).toFixed(2) * Number(user.days);
668 672
       this.$set(user, "staffCost", total.toFixed(2));
669 673
       this.getCost("staffCost", "staffCost", this.chooseUser);
670 674
       this.getFixCost();

+ 2
- 2
oa-ui/src/views/oa/budget/components/chooseMoney.vue Visa fil

@@ -110,11 +110,11 @@
110 110
       </el-form-item>
111 111
       <el-form-item label="进出场费用:">
112 112
         <el-input v-numeric v-model="inOutPrice" style="width:200px;" @change="getInoutpriceSum">
113
-          <template slot="append">人天</template>
113
+          <template slot="append">单价</template>
114 114
         </el-input>
115 115
         ×
116 116
         <el-input v-numeric v-model="peopleNumber" style="width:200px;" @change="getInoutpriceSum">
117
-          <template slot="append">数量</template>
117
+          <template slot="append">人天</template>
118 118
         </el-input>
119 119
         = {{ inOutPriceSum }}
120 120
       </el-form-item>

Loading…
Avbryt
Spara