Bladeren bron

去掉项目流转生产确认、修改技术交底、修改技术方案

余思翰 7 maanden geleden
bovenliggende
commit
aa3f95e3c6

+ 3
- 3
oa-ui/src/views/flowable/form/projectProcess/index.vue Bestand weergeven

@@ -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-09-10 16:23:32
5
+ * @LastEditTime: 2024-09-11 16:28:20
6 6
 -->
7 7
 
8 8
 <template>
@@ -29,10 +29,10 @@
29 29
             <manage-review :taskForm="taskForm" :taskName="taskName" :disabled="taskName != '分管审核'"
30 30
               @goBack="goBack"></manage-review>
31 31
           </el-tab-pane>
32
-          <el-tab-pane label="生产确认" name="生产确认">
32
+          <!-- <el-tab-pane label="生产确认" name="生产确认">
33 33
             <sc-confirm :taskForm="taskForm" :taskName="taskName" :disabled="taskName != '生产确认'"
34 34
               @goBack="goBack"></sc-confirm>
35
-          </el-tab-pane>
35
+          </el-tab-pane> -->
36 36
           <el-tab-pane label="项目生产" name="项目生产">
37 37
             <in-progress :taskForm="taskForm" :taskName="taskName" :disabled="taskName != '项目生产'"
38 38
               @goBack="goBack"></in-progress>

+ 19
- 7
oa-ui/src/views/flowable/form/projectProcess/manageReview.vue Bestand weergeven

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-08 13:56:14
4
- * @LastEditors: wrh
5
- * @LastEditTime: 2024-09-03 11:01:13
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-09-11 16:29:59
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -127,12 +127,24 @@ export default {
127 127
       updateProjectComment({ projectId: this.taskForm.formId, manageComment: this.form.manageComment })
128 128
       const params = { taskId: this.taskForm.taskId };
129 129
       // 获取下一个流程节点
130
+      // getNextFlowNode(params).then(res => {
131
+      //   this.$set(this.taskForm.variables, "approvalList", this.deptLeaderList);
132
+      //   complete(this.taskForm).then(response => {
133
+      //     this.$modal.msgSuccess(response.msg);
134
+      //     this.$emit("goBack");
135
+      //   });
136
+      // });
130 137
       getNextFlowNode(params).then(res => {
131
-        this.$set(this.taskForm.variables, "approvalList", this.deptLeaderList);
132
-        complete(this.taskForm).then(response => {
133
-          this.$modal.msgSuccess(response.msg);
134
-          this.$emit("goBack");
135
-        });
138
+        getProject(this.taskForm.formId).then(res => {
139
+          if (res.data) {
140
+            this.$set(this.taskForm.variables, "approval", res.data.projectLeader);
141
+            complete(this.taskForm).then(response => {
142
+              this.$modal.msgSuccess(response.msg);
143
+              this.$emit("goBack");
144
+            });
145
+          }
146
+        })
147
+
136 148
       });
137 149
     },
138 150
 

+ 18
- 1
oa-ui/src/views/flowable/form/projectProcess/technicalTab.vue Bestand weergeven

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-07-04 17:37:29
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-09-11 11:37:30
5
+ * @LastEditTime: 2024-09-11 16:50:14
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container" v-loading="loading">
@@ -54,6 +54,7 @@
54 54
             </el-form-item>
55 55
           </el-col>
56 56
         </el-row>
57
+        <!--  -->
57 58
         <el-form-item label="接受交底意见" prop="acceptComment">
58 59
           <el-input v-model="form.acceptComment" placeholder="请输入接受交底意见" type="textarea" :autosize="{ minRows: 4 }" />
59 60
         </el-form-item>
@@ -69,6 +70,22 @@
69 70
             </el-form-item>
70 71
           </el-col>
71 72
         </el-row>
73
+        <!--  -->
74
+        <el-form-item label="确认交底意见" prop="confirmComment">
75
+          <el-input v-model="form.confirmComment" placeholder="请输入确认交底意见" type="textarea" :autosize="{ minRows: 4 }" />
76
+        </el-form-item>
77
+        <el-row>
78
+          <el-col :span="6" :xs="24" :offset="12">
79
+            <el-form-item label="签名">
80
+              <span class="auditor"> {{ form.confirmUser ? form.confirmUser.nickName : '' }} </span>
81
+            </el-form-item>
82
+          </el-col>
83
+          <el-col :span="6">
84
+            <el-form-item label="日期:" label-width="120px">
85
+              <span> {{ parseTime(form.confirmTime, '{y}-{m}-{d}') }} </span>
86
+            </el-form-item>
87
+          </el-col>
88
+        </el-row>
72 89
       </el-form>
73 90
     </div>
74 91
     <el-dialog title="技术交底表格预览" :visible.sync="openPrint" width="65%" append-to-body>

+ 18
- 48
oa-ui/src/views/flowable/form/technicalForm.vue Bestand weergeven

@@ -7,17 +7,17 @@
7 7
             <el-input v-model="chooseProject.projectNumber" placeholder="请输入项目编号" disabled style="width: 300px" />
8 8
             <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
9 9
               <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
10
-              }}</el-descriptions-item>
10
+                }}</el-descriptions-item>
11 11
               <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
12
-              }}</el-descriptions-item>
12
+                }}</el-descriptions-item>
13 13
               <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeaderUser ?
14
-                chooseProject.projectLeaderUser.nickName : ''
15
-              }}</el-descriptions-item>
14
+      chooseProject.projectLeaderUser.nickName : ''
15
+                }}</el-descriptions-item>
16 16
               <el-descriptions-item label="承担部门" label-class-name="my-label">
17 17
                 <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
18 18
               </el-descriptions-item>
19 19
               <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
20
-              }}</el-descriptions-item>
20
+                }}</el-descriptions-item>
21 21
             </el-descriptions>
22 22
           </el-form-item>
23 23
           <el-form-item label="接受交底人" prop="accepter">
@@ -28,8 +28,8 @@
28 28
             </el-select>
29 29
           </el-form-item>
30 30
           <el-form-item label="技术交底内容" prop="content">
31
-            <el-input v-model="form.content" placeholder="请输入技术交底内容" type="textarea"
32
-              :disabled="taskName != '技术交底'" :autosize="{ minRows: 8 }" />
31
+            <el-input v-model="form.content" placeholder="请输入技术交底内容" type="textarea" :disabled="taskName != '技术交底'"
32
+              :autosize="{ minRows: 8 }" />
33 33
           </el-form-item>
34 34
           <el-form-item label="附件" prop="document">
35 35
             <FileUpload v-if="taskName == '技术交底'" ref="bsFile" :limit="1" :filePathName="'技术交底'"
@@ -63,7 +63,7 @@
63 63
           </el-row>
64 64
           <el-form-item label="接受交底意见" prop="acceptComment" v-if="taskName != '技术交底'">
65 65
             <el-input v-model="form.acceptComment" placeholder="请输入接受交底意见" type="textarea" :autosize="{ minRows: 4 }"
66
-              :disabled="taskName == ''" />
66
+              :disabled="taskName != '接受交底'" />
67 67
           </el-form-item>
68 68
           <el-row>
69 69
             <el-col :span="6" :xs="24" :offset="12">
@@ -77,7 +77,7 @@
77 77
               </el-form-item>
78 78
             </el-col>
79 79
           </el-row>
80
-          
80
+
81 81
           <el-form-item label="确认交底意见" prop="confirmComment" v-if="taskName != '技术交底' && taskName != '接受交底'">
82 82
             <el-input v-model="form.confirmComment" placeholder="请输入确认交底意见" type="textarea" :autosize="{ minRows: 4 }"
83 83
               :disabled="taskName == ''" />
@@ -118,6 +118,7 @@ import { listUser } from '@/api/system/user';
118 118
 import flow from '@/views/flowable/task/todo/detail/flow';
119 119
 import { complete, getNextFlowNode } from "@/api/flowable/todo";
120 120
 import { flowXmlAndNode } from "@/api/flowable/definition";
121
+import { getUsersManageLeaderByDept, getUsersDeptLeaderByDept, getUserByPost } from '@/api/system/post'
121 122
 
122 123
 export default {
123 124
   components: {
@@ -235,7 +236,9 @@ export default {
235 236
           this.formTotal = 1;
236 237
           this.form = res.data;
237 238
           this.acceptUser = this.$store.getters.name;
239
+          this.confirmUser = this.$store.getters.name;
238 240
           this.form.acceptTime = new Date();
241
+          this.form.confirmTime = new Date();
239 242
         }
240 243
       })
241 244
     },
@@ -262,11 +265,6 @@ export default {
262 265
         this.loading = false;
263 266
       });
264 267
     },
265
-    // 取消按钮
266
-    cancel() {
267
-      this.open = false;
268
-      this.reset();
269
-    },
270 268
     isEmptyObject(obj) {
271 269
       for (var key in obj) {
272 270
         if (obj.hasOwnProperty(key)) {
@@ -290,38 +288,6 @@ export default {
290 288
       };
291 289
       this.resetForm("form");
292 290
     },
293
-    /** 搜索按钮操作 */
294
-    handleQuery() {
295
-      this.queryParams.pageNum = 1;
296
-      this.getList();
297
-    },
298
-    /** 重置按钮操作 */
299
-    resetQuery() {
300
-      this.resetForm("queryForm");
301
-      this.handleQuery();
302
-    },
303
-    // 多选框选中数据
304
-    handleSelectionChange(selection) {
305
-      this.ids = selection.map(item => item.technicalId)
306
-      this.single = selection.length !== 1
307
-      this.multiple = !selection.length
308
-    },
309
-    /** 新增按钮操作 */
310
-    handleAdd() {
311
-      this.reset();
312
-      this.open = true;
313
-      this.title = "添加cmc技术交底";
314
-    },
315
-    /** 修改按钮操作 */
316
-    handleUpdate(row) {
317
-      this.reset();
318
-      const technicalId = row.technicalId || this.ids
319
-      getTechnical(technicalId).then(response => {
320
-        this.form = response.data;
321
-        this.open = true;
322
-        this.title = "修改cmc技术交底";
323
-      });
324
-    },
325 291
     /** 提交按钮 */
326 292
     submitForm() {
327 293
       this.$refs["form"].validate(valid => {
@@ -333,9 +299,13 @@ export default {
333 299
               this.getList();
334 300
             });
335 301
             const params = { taskId: this.taskForm.taskId };
336
-            getNextFlowNode(params).then(res => {
337
-              if (this.taskName == '技术交底')                
302
+            getNextFlowNode(params).then(async res => {
303
+              if (this.taskName == '技术交底')
338 304
                 this.$set(this.taskForm.variables, "approval", this.form.accepter);
305
+              else if (this.taskName == '接受交底') {
306
+                let res = await getUsersDeptLeaderByDept({ deptId: 109 })
307
+                this.$set(this.taskForm.variables, "approval", res.data.userId);
308
+              }
339 309
               complete(this.taskForm).then(response => {
340 310
                 this.$modal.msgSuccess(response.msg);
341 311
                 this.$emit('goBack')

+ 85
- 13
oa-ui/src/views/flowable/form/technicalPlan.vue Bestand weergeven

@@ -136,6 +136,36 @@
136 136
               </el-form-item>
137 137
             </el-col>
138 138
           </el-row>
139
+          <el-form-item label="修改技术方案" prop="reviseDocument">
140
+            <FileUpload v-if="taskName == '技术质量部审核'" ref="final" :limit="1" :filePathName="'技术方案/质量部修改'"
141
+              :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf', 'rar', 'zip']" @input="getReviseDoc">
142
+            </FileUpload>
143
+            <div v-if="form.reviseDocument && taskName != '技术质量部审核'">
144
+              <el-link type="primary" @click="reviewWord(`${baseUrl}${'/profile/upload' + form.reviseDocument}`)">
145
+                {{ getFileName(form.reviseDocument) }}
146
+              </el-link>
147
+              <el-link class="ml20" type="warning" :href="`${baseUrl}${'/profile/upload' + form.reviseDocument}`"
148
+                :underline="false" target="_blank">
149
+                <span class="el-icon-download">下载文件</span>
150
+              </el-link>
151
+            </div>
152
+          </el-form-item>
153
+          <el-form-item label="技术质量与安全部审核意见" prop="techDeptComment">
154
+            <el-input type="textarea" v-model="form.techDeptComment" :autosize="{ minRows: 4 }" placeholder="请输入意见"
155
+              :disabled="taskName != '技术质量部审核'" />
156
+          </el-form-item>
157
+          <el-row>
158
+            <el-col :span="6" :xs="24" :offset="12">
159
+              <el-form-item label="签名" prop="techDeptLeader">
160
+                <span class="auditor"> {{ form.techDeptLeader ? form.techDeptUser.nickName : managerUser }} </span>
161
+              </el-form-item>
162
+            </el-col>
163
+            <el-col :span="6">
164
+              <el-form-item label="日期:" label-width="120px">
165
+                <span> {{ form.techDeptTime ? form.techDeptTime : manageApprovalTime }} </span>
166
+              </el-form-item>
167
+            </el-col>
168
+          </el-row>
139 169
           <el-form-item label="最终技术方案" prop="finalDocument">
140 170
             <FileUpload v-if="taskName == '总工审核'" ref="final" :limit="1" :filePathName="'技术方案/最终'"
141 171
               :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf', 'rar', 'zip']" @input="getFinalDoc"></FileUpload>
@@ -194,6 +224,21 @@
194 224
         <el-button type="primary" @click="taskComplete">确 定</el-button>
195 225
       </span>
196 226
     </el-dialog>
227
+    <el-dialog title="选择审核方式" :visible.sync="commentOpen" width="450px" append-to-body>
228
+      <div class="text-center">
229
+        <el-form>
230
+          <el-form-item :label="examineLabel"></el-form-item>
231
+        </el-form>
232
+        <el-radio-group v-model="common">
233
+          <el-radio label="0" border>是</el-radio>
234
+          <el-radio label="1" border>否</el-radio>
235
+        </el-radio-group>
236
+      </div>
237
+      <span slot="footer" class="text-center">
238
+        <el-button @click="commentOpen = false">取 消</el-button>
239
+        <el-button type="primary" @click="confirmExamine">确 定</el-button>
240
+      </span>
241
+    </el-dialog>
197 242
   </div>
198 243
 </template>
199 244
 
@@ -206,7 +251,7 @@ import FlowUser from '@/components/flow/User';
206 251
 import flow from '@/views/flowable/task/todo/detail/flow';
207 252
 import { complete, getNextFlowNode } from "@/api/flowable/todo";
208 253
 import { flowXmlAndNode } from "@/api/flowable/definition";
209
-import { getUsersManageLeaderByDept, getUserByPost } from '@/api/system/post'
254
+import { getUsersManageLeaderByDept, getUsersDeptLeaderByDept, getUserByPost } from '@/api/system/post'
210 255
 
211 256
 export default {
212 257
   components: {
@@ -290,7 +335,10 @@ export default {
290 335
       completeOpen: false,
291 336
       completeTitle: '',
292 337
       checkType: 'single',
293
-      isDocumentValid: true
338
+      isDocumentValid: true,
339
+      commentOpen: false,
340
+      common: '0',
341
+      examineLabel: ''
294 342
     };
295 343
   },
296 344
   created() {
@@ -306,10 +354,10 @@ export default {
306 354
       this.auditUser = this.$store.getters.name;
307 355
       this.techApprovalTime = parseTime(new Date(), '{y}-{m}-{d}')
308 356
     }
309
-    if (this.taskName == '总工审核') {
310
-      this.managerUser = this.$store.getters.name;
311
-      this.manageApprovalTime = parseTime(new Date(), '{y}-{m}-{d}')
312
-    }
357
+    // if (this.taskName == '总工审核') {
358
+    this.managerUser = this.$store.getters.name;
359
+    this.manageApprovalTime = parseTime(new Date(), '{y}-{m}-{d}')
360
+    // }
313 361
     this.getProjectById();
314 362
     this.getUserList();
315 363
     this.getList();
@@ -341,6 +389,12 @@ export default {
341 389
             { required: true, message: '请输入技术方案审核意见', trigger: 'blur' }
342 390
           ]
343 391
         }
392
+      } else if (this.taskName == '技术质量部审核') {
393
+        this.rules = {
394
+          techDeptComment: [
395
+            { required: true, message: '请输入技术方案审核意见', trigger: 'blur' }
396
+          ]
397
+        }
344 398
       } else if (this.taskName == '总工审核') {
345 399
         this.rules = {
346 400
           manageComment: [
@@ -403,6 +457,9 @@ export default {
403 457
     getFinalDoc(val) {
404 458
       this.getDoc(val, 'finalDocument')
405 459
     },
460
+    getReviseDoc(val){
461
+      this.getDoc(val, 'reviseDocument')
462
+    },
406 463
     getDoc(val, name) {
407 464
       if (val) {
408 465
         let arr = val.split('/upload')
@@ -471,6 +528,7 @@ export default {
471 528
               this.$modal.msgSuccess("修改成功");
472 529
               this.open = false;
473 530
               this.getList();
531
+              this.initForm();
474 532
             });
475 533
             const params = { taskId: this.taskForm.taskId };
476 534
             getNextFlowNode(params).then(res => {
@@ -488,13 +546,11 @@ export default {
488 546
                 this.completeTitle = "流程审批";
489 547
               }
490 548
               else if (this.taskName == '技术审核') {
491
-                getUserByPost({ postName: "总工程师" }).then(res => {
492
-                  this.$set(this.taskForm.variables, "approval", res.data[0].userId);
493
-                  complete(this.taskForm).then(response => {
494
-                    this.$modal.msgSuccess(response.msg);
495
-                    this.$emit('goBack')
496
-                  });
497
-                })
549
+                this.commentOpen = true;
550
+                this.examineLabel = '是否提交到技术质量与安全部审核?'
551
+              } else if (this.taskName == '技术质量部审核') {
552
+                this.commentOpen = true;
553
+                this.examineLabel = '是否提交到总工程师审核?'
498 554
               }
499 555
               else if (this.taskName == '总工审核') {
500 556
                 complete(this.taskForm).then(response => {
@@ -526,6 +582,22 @@ export default {
526 582
         }
527 583
       });
528 584
     },
585
+    async confirmExamine() {
586
+      let res = this.common == '0' ? false : true;
587
+      console.log(res);
588
+      this.$set(this.taskForm.variables, "common", res);
589
+      if (this.taskName == '技术审核') {
590
+        let res = await getUsersDeptLeaderByDept({ deptId: 109 })
591
+        this.$set(this.taskForm.variables, "approval", res.data.userId);
592
+      } else if (this.taskName == '技术质量部审核') {
593
+        let res = await getUserByPost({ postName: "总工程师" })
594
+        this.$set(this.taskForm.variables, "approval", res.data[0].userId);
595
+      }
596
+      await complete(this.taskForm).then(response => {
597
+        this.$modal.msgSuccess(response.msg);
598
+        this.$emit('goBack')
599
+      });
600
+    },
529 601
     showFormItem(name) {
530 602
       let isShow = false;
531 603
       if (name == '技术安排')

Laden…
Annuleren
Opslaan