소스 검색

修改项目流转

余思翰 11 달 전
부모
커밋
ee6d104566

+ 20
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java 파일 보기

@@ -81,6 +81,16 @@ public class SysPostController extends BaseController
81 81
         return success(deptLeader);
82 82
     }
83 83
 
84
+    /**
85
+     * 通过deptId获取部门主任
86
+     */
87
+    @GetMapping("/deptLeaders")
88
+    public AjaxResult getDeptLeaders(String userId)
89
+    {
90
+        List<SysUser> deptLeaderList =  postService.selectDeptLeadersByDeptId(userId);
91
+        return success(deptLeaderList);
92
+    }
93
+
84 94
     /**
85 95
      * 获取部门副主任
86 96
      */
@@ -109,6 +119,16 @@ public class SysPostController extends BaseController
109 119
         return success(deptLeader);
110 120
     }
111 121
 
122
+    /**
123
+     * 通过deptId获取部门主任
124
+     */
125
+    @GetMapping("/deptLeadersByDept")
126
+    public AjaxResult getDeptLeadersByDeptId(String deptId)
127
+    {
128
+        List<SysUser> deptLeaderList =  postService.selectDeptLeadersByDeptId(deptId);
129
+        return success(deptLeaderList);
130
+    }
131
+
112 132
     /**
113 133
      * 通过deptId获取是否部门负责人
114 134
      */

+ 16
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java 파일 보기

@@ -92,6 +92,14 @@ public interface SysUserPostMapper
92 92
      */
93 93
     public SysUser selectDeptLeaderByUserId(String userId);
94 94
 
95
+    /**
96
+     * 查询部门主任
97
+     *
98
+     * @param
99
+     * @return 查询部门主任
100
+     */
101
+    public List<SysUser> selectDeptLeadersByUserId(String userId);
102
+
95 103
     /**
96 104
      * 查询部门副主任
97 105
      *
@@ -132,6 +140,14 @@ public interface SysUserPostMapper
132 140
      */
133 141
     public SysUser selectDeptLeaderByDeptId(String deptId);
134 142
 
143
+    /**
144
+     * 查询部门主任
145
+     *
146
+     * @param
147
+     * @return 查询部门主任
148
+     */
149
+    public List<SysUser> selectDeptLeadersByDeptId(String deptId);
150
+
135 151
     /**
136 152
      * 查询部门副主任
137 153
      *

+ 16
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java 파일 보기

@@ -148,6 +148,14 @@ public interface ISysPostService
148 148
      */
149 149
     public SysUser selectDeptLeaderByUserId(String userId);
150 150
 
151
+    /**
152
+     * 查询部门主任
153
+     *
154
+     * @param
155
+     * @return 查询部门主任
156
+     */
157
+    public List<SysUser> selectDeptLeadersByUserId(String userId);
158
+
151 159
     /**
152 160
      * 查询部门副主任
153 161
      *
@@ -188,6 +196,14 @@ public interface ISysPostService
188 196
      */
189 197
     public SysUser selectDeptLeaderByDeptId(String deptId);
190 198
 
199
+    /**
200
+     * 查询部门主任
201
+     *
202
+     * @param
203
+     * @return 查询部门主任
204
+     */
205
+    public List<SysUser> selectDeptLeadersByDeptId(String deptId);
206
+
191 207
     /**
192 208
      * 查询部门副主任
193 209
      *

+ 22
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java 파일 보기

@@ -244,6 +244,17 @@ public class SysPostServiceImpl implements ISysPostService
244 244
         return userPostMapper.selectDeptLeaderByUserId(userId);
245 245
     }
246 246
 
247
+    /**
248
+     * 查询部门主任
249
+     *
250
+     * @param
251
+     * @return 查询部门主任
252
+     */
253
+    @Override
254
+    public List<SysUser> selectDeptLeadersByUserId(String userId) {
255
+        return userPostMapper.selectDeptLeadersByUserId(userId);
256
+    }
257
+
247 258
     /**
248 259
      * 查询部门副主任
249 260
      *
@@ -299,6 +310,17 @@ public class SysPostServiceImpl implements ISysPostService
299 310
         return userPostMapper.selectDeptLeaderByDeptId(deptId);
300 311
     }
301 312
 
313
+    /**
314
+     * 查询部门主任
315
+     *
316
+     * @param
317
+     * @return 查询部门主任
318
+     */
319
+    @Override
320
+    public List<SysUser> selectDeptLeadersByDeptId(String userId) {
321
+        return userPostMapper.selectDeptLeadersByDeptId(userId);
322
+    }
323
+
302 324
     /**
303 325
      * 查询部门副主任
304 326
      *

+ 18
- 0
oa-back/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml 파일 보기

@@ -130,6 +130,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
130 130
 		where p.post_name = '主任'
131 131
 	</select>
132 132
 
133
+	<select id="selectDeptLeadersByUserId" parameterType="String" resultMap="SysUserResult">
134
+		select r.user_id, r.nick_name from
135
+		(select u1.user_id, u1.nick_name, u.dept_id from
136
+		sys_user as u, sys_user as u1 where u.user_id = #{param} and u1.dept_id = u.dept_id) as r
137
+		left join sys_user_post as up on r.user_id = up.user_id
138
+		left join sys_post as p on p.post_id = up.post_id
139
+		where p.post_name = '主任'
140
+	</select>
141
+
133 142
 	<select id="selectViceDeptLeaderByUserId" parameterType="String" resultMap="SysUserResult">
134 143
 		select r.user_id, r.nick_name from
135 144
 		(select u1.user_id, u1.nick_name, u.dept_id from
@@ -175,6 +184,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
175 184
 		where p.post_name = '主任'
176 185
 	</select>
177 186
 
187
+	<select id="selectDeptLeadersByDeptId" parameterType="String" resultMap="SysUserResult">
188
+		select r.user_id, r.nick_name from
189
+		(select user_id, nick_name, dept_id from
190
+		sys_user where dept_id = #{param}) as r
191
+		left join sys_user_post as up on r.user_id = up.user_id
192
+		left join sys_post as p on p.post_id = up.post_id
193
+		where p.post_name = '主任'
194
+	</select>
195
+
178 196
 	<select id="selectViceDeptLeaderByDeptId" parameterType="String" resultMap="SysUserResult">
179 197
 		select r.user_id, r.nick_name from
180 198
 		(select user_id, nick_name, dept_id from

+ 9
- 0
oa-ui/src/api/system/post.js 파일 보기

@@ -84,6 +84,15 @@ export function getUsersDeptLeaderByDept(query) {
84 84
   })
85 85
 }
86 86
 
87
+// 查询经营部门的部门负责人
88
+export function getDeptLeadersByDeptId(query) {
89
+  return request({
90
+    url: '/system/post/deptLeadersByDept',
91
+    method: 'get',
92
+    params: query
93
+  })
94
+}
95
+
87 96
 // 查询当前用户的部门负责人
88 97
 export function getUsersViceDeptLeader(query) {
89 98
   return request({

+ 6
- 6
oa-ui/src/views/flowable/form/business/contractForm.vue 파일 보기

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-05-10 15:31:57
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-07-02 09:46:00
5
+ * @LastEditTime: 2024-07-05 10:31:53
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -228,14 +228,14 @@
228 228
                 </td>
229 229
                 <td>
230 230
                   <el-select v-model="comment.deptId" clearable style="width:120px"
231
-                    :disabled="(index < 4 && taskName == '合同拟稿') || taskName != '合同拟稿'" @change="getDeptLeader">
231
+                    :disabled="(index < 3 && taskName == '合同拟稿') || taskName != '合同拟稿'" @change="getDeptLeader">
232 232
                     <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId">
233 233
                     </el-option>
234 234
                   </el-select>
235 235
                 </td>
236 236
                 <td>
237 237
                   <el-select v-model="comment.userId" clearable style="width:120px"
238
-                    :disabled="(index < 4 && taskName == '合同拟稿') || taskName != '合同拟稿'">
238
+                    :disabled="(index < 3 && taskName == '合同拟稿') || taskName != '合同拟稿'">
239 239
                     <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
240 240
                     </el-option>
241 241
                   </el-select>
@@ -583,7 +583,7 @@ export default {
583 583
         //   commentTime: undefined
584 584
         // },
585 585
         {
586
-          deptId: 106,
586
+          deptId: 107,
587 587
           userId: '',
588 588
           comment: '',
589 589
           document: '',
@@ -705,7 +705,7 @@ export default {
705 705
                   commentTime: undefined
706 706
                 },
707 707
                 {
708
-                  deptId: 110,
708
+                  deptId: 106,
709 709
                   userId: '',
710 710
                   comment: '',
711 711
                   document: '',
@@ -719,7 +719,7 @@ export default {
719 719
                 //   commentTime: undefined
720 720
                 // },
721 721
                 {
722
-                  deptId: 106,
722
+                  deptId: 109,
723 723
                   userId: '',
724 724
                   comment: '',
725 725
                   document: '',

+ 3
- 3
oa-ui/src/views/flowable/form/components/chooseContract.vue 파일 보기

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-05-22 11:12:57
4
- * @LastEditors: 
5
- * @LastEditTime: 2024-06-14 18:26:54
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-07-05 09:09:03
6 6
 -->
7 7
 <template>
8 8
   <div>
@@ -29,7 +29,7 @@
29 29
       <el-table-column label="合同编号" align="center" prop="contractNumber" min-width="100px" />
30 30
       <el-table-column label="合同金额" align="center" prop="amount" min-width="100px" />
31 31
       <el-table-column label="拟稿人" align="center" prop="draftUser.nickName" min-width="100px" />
32
-      <el-table-column label="合同备注" align="center" prop="remark" min-width="100px" />
32
+      <el-table-column label="合同备注" align="center" prop="remark" min-width="250px" />
33 33
     </el-table>
34 34
     <div style="text-align: right;" class="mt20 mr20">
35 35
       <el-pagination @current-change="getList" :current-page.sync="queryParams.pageNum"

+ 49
- 28
oa-ui/src/views/flowable/form/projectProcess/addproject.vue 파일 보기

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-18 11:00:04
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-07-02 18:17:03
5
+ * @LastEditTime: 2024-07-05 15:04:22
6 6
 -->
7 7
 <template>
8 8
   <div class="project-wrapper">
@@ -148,7 +148,7 @@ import { parseTime } from "@/utils/ruoyi";
148 148
 import { mapGetters } from "vuex";
149 149
 import { listProject, getProject, addProject, updateProject, delProject } from "@/api/oa/project/project";
150 150
 import { getUser } from "@/api/system/user";
151
-import { getUsersDeptLeaderByDept } from "@/api/system/post";
151
+import { getUsersDeptLeaderByDept,getDeptLeadersByDeptId } from "@/api/system/post";
152 152
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm } from "@/api/flowable/todo";
153 153
 import { listProjectWork, addProjectWork, delProjectWork } from "@/api/oa/project/projectWork";
154 154
 import { listProjectContract, addProjectContract } from "@/api/oa/contract/projectContract";
@@ -328,9 +328,8 @@ export default {
328 328
         })
329 329
       } else {
330 330
         let updateLog = await updateProject(this.addForm).then(
331
-          this.$modal.msgSuccess("修改成功")
331
+          this.$modal.msgSuccess("保存成功")
332 332
         );
333
-        console.log(updateLog);
334 333
         if (updateLog.code == 200) {
335 334
           this.$refs.arrange.save()
336 335
         }
@@ -344,35 +343,57 @@ export default {
344 343
       }
345 344
 
346 345
     },
347
-    confirmAddForm() {
348
-      this.addForm.projectId = this.taskForm.formId;
349
-      for (let work of this.workList) {
350
-        work.projectId = this.taskForm.formId;
351
-        addProjectWork(work);
352
-      }
353
-      addProject(this.addForm).then(response => {
354
-        this.$modal.msgSuccess("新增成功");
355
-        this.getList();
356
-      });
357
-      let contractId = this.chooseContractInfo.contractId ? this.chooseContractInfo.contractId : ''
358
-      let pcobj = { projectId: this.taskForm.formId, contractId }
359
-      if (contractId != '') {
360
-        addProjectContract(pcobj).then(response => {
361
-          this.$modal.msgSuccess("合同关联成功");
346
+    async confirmAddForm() {
347
+      let leaderData = await getDeptLeadersByDeptId({ deptId: 105 })
348
+      let approvalId = [];
349
+      if (leaderData.data) {
350
+        leaderData.data.forEach(item =>{
351
+          approvalId.push(item.userId)
362 352
         })
363 353
       }
364
-      const params = { taskId: this.taskForm.taskId };
365
-      // 获取下一个流程节点
366
-      getNextFlowNode(params).then(res => {
367
-        getUsersDeptLeaderByDept({ deptId: 107 }).then(res => {
368
-          let userId = res.data.userId;
369
-          this.$set(this.taskForm.variables, "approval", userId);
354
+      console.log(approvalId);
355
+      this.$set(this.taskForm.variables, "approvalList", approvalId);
356
+      // this.addForm.projectId = this.taskForm.formId;
357
+      // for (let work of this.workList) {
358
+      //   work.projectId = this.taskForm.formId;
359
+      //   addProjectWork(work);
360
+      // }
361
+      // addProject(this.addForm).then(response => {
362
+      //   this.$modal.msgSuccess("新增成功");
363
+      //   this.getList();
364
+      // });
365
+      // let contractId = this.chooseContractInfo.contractId ? this.chooseContractInfo.contractId : ''
366
+      // let pcobj = { projectId: this.taskForm.formId, contractId }
367
+      // if (contractId != '') {
368
+      //   addProjectContract(pcobj).then(response => {
369
+      //     this.$modal.msgSuccess("合同关联成功");
370
+      //   })
371
+      // }
372
+      this.save();
373
+      this.$confirm('项目安排之后会自动发起预算编制、技术方案、技术交底、安全交底四个子流程,将无法进行撤回操作,是否继续提交?', '提示', {
374
+        confirmButtonText: '确定',
375
+        cancelButtonText: '取消',
376
+        type: 'warning'
377
+      }).then(() => {
378
+        let budgetInitiator = this.$refs.arrange.peopleForm
379
+        if (this.addForm.projectLeader) {
380
+          budgetInitiator = this.addForm.projectLeader
381
+        } else {
382
+          budgetInitiator = this.$refs.arrange.peopleForm.userId
383
+        }
384
+        this.$set(this.taskForm.variables, "formId", this.taskForm.formId);
385
+        this.$set(this.taskForm.variables, "budgetInitiator", budgetInitiator);
386
+        // return
387
+        const params = { taskId: this.taskForm.taskId };
388
+        // 获取下一个流程节点
389
+        getNextFlowNode(params).then(res => {
390
+          console.log(this.taskForm);
370 391
           complete(this.taskForm).then(response => {
371 392
             this.$modal.msgSuccess(response.msg);
372
-            this.$emit("goBack");
393
+            this.$emit('goBack');
373 394
           });
374
-        });
375
-      });
395
+        })
396
+      })
376 397
     },
377 398
     // 查询业主单位列表
378 399
     getPartyAList() {

+ 7
- 7
oa-ui/src/views/flowable/form/projectProcess/arrangeProject.vue 파일 보기

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-19 09:24:06
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-07-04 17:41:05
5
+ * @LastEditTime: 2024-07-05 09:31:26
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -96,10 +96,10 @@
96 96
         </el-form-item>
97 97
       </el-form>
98 98
     </el-dialog>
99
-    <div slot="footer" class="dialog-footer" style="text-align: center;">
99
+    <!-- <div slot="footer" class="dialog-footer" style="text-align: center;">
100 100
       <el-button type="primary" @click="confirmPlanForm" :disabled="disabled">提 交</el-button>
101
-      <!-- <el-button @click="cancel" :disabled="disabled">取 消</el-button> -->
102
-    </div>
101
+      <el-button @click="cancel" :disabled="disabled">取 消</el-button>
102
+    </div> -->
103 103
   </div>
104 104
 </template>
105 105
 
@@ -230,7 +230,6 @@ export default {
230 230
     save() {
231 231
       this.form.projectId = this.taskForm.formId;
232 232
       this.form.undertakingDept = this.form.deptId.join(',');
233
-      console.log(this.form);
234 233
       updateProject(this.form)
235 234
     },
236 235
     confirmPlanForm() {
@@ -239,8 +238,9 @@ export default {
239 238
         cancelButtonText: '取消',
240 239
         type: 'warning'
241 240
       }).then(() => {
242
-        this.form.undertakingDept = this.form.deptId.join(',');
243
-        updateProject(this.form)
241
+        // this.form.undertakingDept = this.form.deptId.join(',');
242
+        // updateProject(this.form)
243
+        this.save();
244 244
         const params = { taskId: this.taskForm.taskId };
245 245
         // 获取下一个流程节点
246 246
         getNextFlowNode(params).then(res => {

+ 4
- 4
oa-ui/src/views/flowable/form/projectProcess/businessReview.vue 파일 보기

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-08 13:56:14
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-30 11:27:44
5
+ * @LastEditTime: 2024-07-05 14:33:37
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -113,9 +113,9 @@ export default {
113 113
       const params = { taskId: this.taskForm.taskId };
114 114
       // 获取下一个流程节点
115 115
       getNextFlowNode(params).then(res => {
116
-        this.managerList.push(10)
117
-        this.managerList.push(7)
118
-        this.managerList = Array.from(new Set(this.managerList));
116
+        // this.managerList.push(10)
117
+        // this.managerList.push(7)
118
+        // this.managerList = Array.from(new Set(this.managerList));
119 119
         this.$set(this.taskForm.variables, "approvalList", this.managerList);
120 120
         complete(this.taskForm).then(response => {
121 121
           this.$modal.msgSuccess(response.msg);

+ 3
- 3
oa-ui/src/views/flowable/form/projectProcess/index.vue 파일 보기

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-02-27 14:49:15
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-07-03 09:08:28
5
+ * @LastEditTime: 2024-07-05 09:31:03
6 6
 -->
7 7
 
8 8
 <template>
@@ -14,10 +14,10 @@
14 14
             <addproject :taskForm="taskForm" :taskName="taskName" :disabled="taskName != '项目登记'" @goBack="goBack">
15 15
             </addproject>
16 16
           </el-tab-pane>
17
-          <el-tab-pane label="项目安排" name="项目安排">
17
+          <!-- <el-tab-pane label="项目安排" name="项目安排">
18 18
             <arrangeProject :taskForm="taskForm" :taskName="'项目安排'" :disabled="taskName != '项目安排'" @goBack="goBack">
19 19
             </arrangeProject>
20
-          </el-tab-pane>
20
+          </el-tab-pane> -->
21 21
           <el-tab-pane label="项目预算" name="项目预算">
22 22
             <budget-tab :taskForm="taskForm" @goBack="goBack"></budget-tab>
23 23
           </el-tab-pane>

Loading…
취소
저장