Browse Source

修改流程为,启动时就传入formId

余思翰 1 year ago
parent
commit
3553247f1f

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

@@ -107,7 +107,7 @@ public class CmcProjectController extends BaseController
107 107
     {
108 108
         JSONObject formDataJson = JSONObject.parse(formData);
109 109
         CmcProject cmcProject = new CmcProject();
110
-        cmcProject.setProjectId(formDataJson.getString("formId"));
110
+        cmcProject.setProjectId(formDataJson.getString("projectId"));
111 111
         cmcProject.setProjectName(formDataJson.getString("projectName"));
112 112
         cmcProject.setProjectNumber(formDataJson.getString("projectNumber"));
113 113
         cmcProject.setProjectLeader(formDataJson.getLong("projectLeader"));

+ 4
- 4
oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowDefinitionServiceImpl.java View File

@@ -1,12 +1,12 @@
1 1
 package com.ruoyi.flowable.service.impl;
2 2
 
3
+import com.alibaba.fastjson2.JSONObject;
3 4
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
4 5
 import com.github.pagehelper.PageHelper;
5 6
 import com.github.pagehelper.PageInfo;
6 7
 import com.ruoyi.flowable.common.constant.ProcessConstants;
7 8
 import com.ruoyi.common.core.domain.AjaxResult;
8 9
 import com.ruoyi.common.core.domain.entity.SysUser;
9
-import com.ruoyi.flowable.common.enums.FlowComment;
10 10
 import com.ruoyi.common.utils.SecurityUtils;
11 11
 import com.ruoyi.system.domain.FlowProcDefDto;
12 12
 import com.ruoyi.flowable.factory.FlowServiceFactory;
@@ -19,15 +19,12 @@ import com.ruoyi.system.service.ISysPostService;
19 19
 import com.ruoyi.system.service.ISysUserService;
20 20
 import lombok.extern.slf4j.Slf4j;
21 21
 import org.apache.commons.io.IOUtils;
22
-import org.apache.commons.lang3.StringUtils;
23 22
 import org.flowable.bpmn.model.BpmnModel;
24 23
 import org.flowable.engine.repository.Deployment;
25 24
 import org.flowable.engine.repository.ProcessDefinition;
26 25
 import org.flowable.engine.repository.ProcessDefinitionQuery;
27 26
 import org.flowable.engine.runtime.ProcessInstance;
28 27
 import org.flowable.image.impl.DefaultProcessDiagramGenerator;
29
-import org.flowable.task.api.Task;
30
-import org.springframework.beans.BeanUtils;
31 28
 import org.springframework.stereotype.Service;
32 29
 
33 30
 import javax.annotation.Resource;
@@ -199,6 +196,9 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
199 196
             SysUser sysUser = SecurityUtils.getLoginUser().getUser();
200 197
             identityService.setAuthenticatedUserId(sysUser.getUserId().toString());
201 198
             variables.put(ProcessConstants.PROCESS_INITIATOR, sysUser.getUserId());
199
+            Map<String, Object> map = variables;
200
+            JSONObject jsonObject = JSONObject.parse(JSONObject.toJSONString(map));
201
+            variables.put("formId", jsonObject.getJSONObject("variables").getString("formId"));
202 202
             ProcessInstance startInstance = runtimeService.startProcessInstanceById(procDefId, variables);
203 203
             // 流程发起时 跳过发起人节点
204 204
 //            SysUser sysUser = SecurityUtils.getLoginUser().getUser();

+ 2
- 2
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectWorkMapper.xml View File

@@ -47,8 +47,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
47 47
             <if test="unit != null">unit,</if>
48 48
             <if test="workload != null">workload,</if>
49 49
             <if test="deadline != null">deadline,</if>
50
-            <if test="finishTime != null">remark,</if>
51
-            <if test="remark != null">finish_time,</if>
50
+            <if test="finishTime != null">finish_time,</if>
51
+            <if test="remark != null">remark,</if>
52 52
          </trim>
53 53
         <trim prefix="values (" suffix=")" suffixOverrides=",">
54 54
             <if test="workId != null">#{workId},</if>

+ 24
- 9
oa-ui/src/views/flowable/form/projectProcess/addproject.vue View File

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-02-27 14:49:15
4
- * @LastEditors: wrh
5
- * @LastEditTime: 2024-04-03 17:05:19
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-04-07 13:55:49
6 6
 -->
7 7
 
8 8
 <template>
@@ -38,7 +38,7 @@
38 38
       <el-form-item label="联系电话:" prop="telephone">
39 39
         <el-input v-model="addForm.telephone"></el-input>
40 40
       </el-form-item>
41
-      <el-form-item label="项目概况:" prop="projectRegistrant">
41
+      <el-form-item label="项目概况:" prop="workList">
42 42
         <table border="1">
43 43
           <tr>
44 44
             <td style="width:250px;">工作内容</td>
@@ -77,10 +77,11 @@
77 77
 
78 78
         <el-button icon="el-icon-plus" size="mini" @click="addWorkList"></el-button>
79 79
       </el-form-item>
80
-      <el-form-item label="项目登记人:" prop="projectRegistrant">
81
-        <el-input v-model="addForm.projectRegistrant"></el-input>
80
+      <el-form-item label="项目登记人:" prop="projectRegistrantName">
81
+        <el-tag>{{ addForm.projectRegistrantName }}</el-tag>
82
+        <!-- <el-input v-model="addForm.projectRegistrant"></el-input> -->
82 83
       </el-form-item>
83
-      <el-form-item label="备注:" prop="projectRegistrant">
84
+      <el-form-item label="备注:" prop="remark">
84 85
         <el-input v-model="addForm.remark" type="textarea" rows="3"></el-input>
85 86
       </el-form-item>
86 87
 
@@ -95,7 +96,8 @@
95 96
 </template>
96 97
 
97 98
 <script>
98
-import { listProject, addProject, updateProject, delProject } from "@/api/oa/project/project";
99
+import { mapGetters } from "vuex";
100
+import { listProject, addProject, updateProject, delProject,submitProject } from "@/api/oa/project/project";
99 101
 import { getUser } from '@/api/system/user'
100 102
 import { getUsersDeptLeaderByDept } from '@/api/system/post'
101 103
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
@@ -110,6 +112,9 @@ export default {
110 112
       required: true
111 113
     }
112 114
   },
115
+  computed: {
116
+    ...mapGetters(["userId","name"]),
117
+  },
113 118
   data() {
114 119
     return {
115 120
       // 查询参数
@@ -125,7 +130,10 @@ export default {
125 130
       total: 0,
126 131
       loading: true,
127 132
       modifyOpen: false,
128
-      addForm: {},
133
+      addForm: {
134
+        projectRegistrant:'',
135
+        projectRegistrantName:''
136
+      },
129 137
       rules: {
130 138
         projectNumber: [{ required: true, message: '请输入项目编号', trigger: 'blur' }],
131 139
         projectName: [{ required: true, message: '请输入项目名称', trigger: 'blur' }]
@@ -144,7 +152,12 @@ export default {
144 152
     }
145 153
   },
146 154
   created() {
155
+    this.addForm.projectRegistrant = this.userId
156
+    this.addForm.projectRegistrantName = this.name
147 157
     this.getList();
158
+  },
159
+  mounted() {
160
+    
148 161
   },
149 162
   methods: {
150 163
     // 查询项目列表
@@ -167,7 +180,9 @@ export default {
167 180
     confirmAddForm() {
168 181
       this.addForm.projectId = this.taskForm.formId;
169 182
       this.addForm.workList = this.workList;
170
-      addProject(this.addForm).then(response => {
183
+      let forms = new FormData();
184
+      forms.append('form',JSON.stringify(this.addForm));
185
+      submitProject(forms).then(response => {
171 186
         this.$modal.msgSuccess("新增成功");
172 187
         this.getList();
173 188
       });

+ 3
- 7
oa-ui/src/views/flowable/form/projectProcess/arrangeProject.vue View File

@@ -1,13 +1,13 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-19 09:24:06
4
- * @LastEditors: wrh
5
- * @LastEditTime: 2024-04-03 16:53:59
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-04-07 11:02:16
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
9 9
     <h2 style="text-align: center;">项目安排</h2>
10
-    <el-form :model="form" :rules="rules" label-width="100px" :disable="disable">
10
+    <el-form :model="form" :rules="rules" label-width="100px">
11 11
       <el-form-item label="承担部门:" prop="undertakingDept">
12 12
         <el-select v-model="form.deptId" multiple clearable style="width:500px" @change="getDeptLeader">
13 13
           <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId"
@@ -73,10 +73,6 @@ import { getUsersDeptLeaderByDept } from '@/api/system/post'
73 73
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
74 74
 export default {
75 75
   props: {
76
-    disable: {
77
-      type: Boolean,
78
-      require: true
79
-    },
80 76
     taskForm: {
81 77
       type: Object,
82 78
       required: true

+ 17
- 15
oa-ui/src/views/flowable/form/projectProcess/index.vue View File

@@ -1,28 +1,28 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-02-27 14:49:15
4
- * @LastEditors: wrh
5
- * @LastEditTime: 2024-04-02 14:56:03
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-04-07 11:10:57
6 6
 -->
7 7
 
8 8
 <template>
9 9
   <div class="project-wrapper">
10 10
 
11 11
     <el-tabs tabPosition="left" type="card" class="tabs-border" v-model="activeName">
12
-      <el-tab-pane label="项目登记">
13
-        <addproject :taskForm = "taskForm" :disable="taskName != '项目登记'"></addproject>
12
+      <el-tab-pane label="项目登记" name="项目登记" :disabled="taskName != '项目登记'">
13
+        <addproject :taskForm="taskForm"></addproject>
14 14
       </el-tab-pane>
15
-      <el-tab-pane label="项目安排">
16
-        <arrangeProject :taskForm = "taskForm" :disable="taskName != '项目安排'"></arrangeProject>
15
+      <el-tab-pane label="项目安排" name="项目安排" :disabled="taskName != '项目安排'">
16
+        <!-- <arrangeProject :taskForm ="taskForm"></arrangeProject> -->
17 17
       </el-tab-pane>
18
-      <el-tab-pane label="技术交底"></el-tab-pane>
19
-      <el-tab-pane label="安全交底"></el-tab-pane>
20
-      <el-tab-pane label="经营审核"></el-tab-pane>
21
-      <el-tab-pane label="分管审核"></el-tab-pane>
22
-      <el-tab-pane label="生产确认"></el-tab-pane>
23
-      <el-tab-pane label="项目生产"></el-tab-pane>
24
-      <el-tab-pane label="质量检查"></el-tab-pane>
25
-      <el-tab-pane label="成果归档"></el-tab-pane>
18
+      <el-tab-pane label="技术交底" name="技术交底" :disabled="taskName != '技术交底'"></el-tab-pane>
19
+      <el-tab-pane label="安全交底" name="安全交底" :disabled="taskName != '安全交底'"></el-tab-pane>
20
+      <el-tab-pane label="经营审核" name="经营审核" :disabled="taskName != '经营审核'"></el-tab-pane>
21
+      <el-tab-pane label="分管审核" name="分管审核" :disabled="taskName != '分管审核'"></el-tab-pane>
22
+      <el-tab-pane label="生产确认" name="生产确认" :disabled="taskName != '生产确认'"></el-tab-pane>
23
+      <el-tab-pane label="项目生产" name="项目生产" :disabled="taskName != '项目生产'"></el-tab-pane>
24
+      <el-tab-pane label="质量检查" name="质量检查" :disabled="taskName != '质量检查'"></el-tab-pane>
25
+      <el-tab-pane label="成果归档" name="成果归档" :disabled="taskName != '成果归档'"></el-tab-pane>
26 26
     </el-tabs>
27 27
 
28 28
 
@@ -50,7 +50,7 @@ export default {
50 50
   },
51 51
   data() {
52 52
     return {
53
-      activeName: taskName,
53
+      activeName:'项目登记',
54 54
       // 查询参数
55 55
       queryParams: {
56 56
         pageNum: 1,
@@ -89,8 +89,10 @@ export default {
89 89
     }
90 90
   },
91 91
   created() {
92
+    // this.activeName = this.taskName;
92 93
     this.getList();
93 94
     this.getDeptList();
95
+    // console.log(this.activeName);
94 96
   },
95 97
   methods: {
96 98
     // 查询项目列表

+ 3
- 2
oa-ui/src/views/flowable/task/myProcess/index.vue View File

@@ -269,7 +269,8 @@ export default {
269 269
     /**  发起流程申请 */
270 270
     handleStartProcess(row) {
271 271
       // if (row.category == "assess" || row.category == "car" || ) {
272
-      getNextFlowNodeByStart({ deploymentId: row.deploymentId, variables: {} }).then(res => {
272
+        let formId = new Snowflake(1n, 1n, 0n).nextId().toString();
273
+      getNextFlowNodeByStart({ deploymentId: row.deploymentId, variables: {formId:formId} }).then(res => {
273 274
         let data = res.data;
274 275
         if (data.dataType === 'dynamic') {
275 276
           if (data.type === 'assignee') { // 指定人员
@@ -294,7 +295,7 @@ export default {
294 295
           formData.disabled = true;
295 296
           formData.formBtns = false;
296 297
           debugger
297
-          formData.formId = new Snowflake(1n, 1n, 0n).nextId().toString();
298
+          formData.formId = formId
298 299
           if (row.id) {
299 300
             variables.variables = formData;
300 301
             // 启动流程并将表单数据加入流程变量

+ 4
- 2
oa-ui/src/views/oa/budget/components/budgetForm.vue View File

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-03 16:28:09
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-03 17:17:48
5
+ * @LastEditTime: 2024-04-07 09:48:26
6 6
 -->
7 7
 <template>
8 8
   <div>
@@ -108,7 +108,7 @@
108 108
       </tr>
109 109
       <tr>
110 110
         <td colspan="6" class="head">总成本=(固定成本+直接成本)*120%</td>
111
-        <td>{{ totalBudget }}</td>
111
+        <td>{{ budgetForm.totalBudget }}</td>
112 112
       </tr>
113 113
       <!-- <tr>
114 114
         <td class="head">编制人</td>
@@ -160,7 +160,9 @@ export default {
160 160
         console.log(res);
161 161
         this.budgetForm = res.rows[0];
162 162
       });
163
+      list
163 164
     },
165
+  
164 166
   },
165 167
 };
166 168
 </script>

+ 1
- 7
oa-ui/src/views/oa/budget/index.vue View File

@@ -2,13 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-21 17:49:15
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-03 14:51:37
6
--->
7
-<!--
8
- * @Author: wrh
9
- * @Date: 2024-03-25 17:38:39
10
- * @LastEditors: Please set LastEditors
11
- * @LastEditTime: 2024-04-03 14:41:00
5
+ * @LastEditTime: 2024-04-07 09:34:27
12 6
 -->
13 7
 <template>
14 8
   <div class="app-container">

Loading…
Cancel
Save