Przeglądaj źródła

修改已办任务显示、修改用车审批等

余思翰 1 rok temu
rodzic
commit
2287784c0b

+ 36
- 0
oa-ui/src/assets/styles/element-reset.scss Wyświetl plik

1
+::v-deep .el-input.is-disabled .el-input__inner {
2
+  color: #686a6e;
3
+}
4
+
5
+::v-deep .el-textarea.is-disabled .el-textarea__inner,
6
+.el-radio__input.is-disabled+span.el-radio__label {
7
+  color: #686a6e;
8
+}
9
+
10
+::v-deep .el-radio__input.is-disabled+span.el-radio__label {
11
+  color: #686a6e;
12
+}
13
+
14
+::v-deep .el-radio__input.is-disabled.is-checked .el-radio__inner::after {
15
+  background-color: #409EFF;
16
+  width: 6px;
17
+  height: 6px;
18
+}
19
+
20
+::v-deep .el-radio__input.is-disabled .el-radio__inner,
21
+.el-radio__input.is-disabled.is-checked .el-radio__inner {
22
+  border-color: #409EFF;
23
+}
24
+
25
+// 复选框
26
+::v-deep .el-checkbox__input.is-disabled+span.el-checkbox__label{
27
+  color: #686a6e;
28
+}
29
+
30
+::v-deep .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{
31
+  background-color: #409EFF;
32
+  border-color: #409EFF;
33
+}
34
+::v-deep .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{
35
+  border-color: #fff;
36
+}

+ 3
- 2
oa-ui/src/assets/styles/element-ui.scss Wyświetl plik

97
   overflow-x: hidden;
97
   overflow-x: hidden;
98
 }
98
 }
99
 
99
 
100
-.el-form-item__label{
100
+.el-form-item__label {
101
   font-family: '微软雅黑';
101
   font-family: '微软雅黑';
102
   color: #34363b;
102
   color: #34363b;
103
-}
103
+}
104
+

+ 5
- 0
oa-ui/src/assets/styles/index.scss Wyświetl plik

198
   writing-mode: vertical-rl;
198
   writing-mode: vertical-rl;
199
   transform: rotate(360deg);
199
   transform: rotate(360deg);
200
   letter-spacing: 5px;
200
   letter-spacing: 5px;
201
+}
202
+
203
+.auditor {
204
+  font-family: '华文行楷';
205
+  font-size: 20px;
201
 }
206
 }

+ 23
- 0
oa-ui/src/assets/styles/ruoyi.scss Wyświetl plik

289
   position: relative;
289
   position: relative;
290
   float: right;
290
   float: right;
291
 }
291
 }
292
+el-input.is-disabled >.el-input__inner {
293
+  color: #686a6e;
294
+}
295
+
296
+::v-deep .el-textarea.is-disabled .el-textarea__inner,
297
+.el-radio__input.is-disabled+span.el-radio__label {
298
+  color: #686a6e;
299
+}
300
+
301
+::v-deep .el-radio__input.is-disabled+span.el-radio__label {
302
+  color: #686a6e;
303
+}
304
+
305
+::v-deep .el-radio__input.is-disabled.is-checked .el-radio__inner::after {
306
+  background-color: var(--current-color);
307
+  width: 6px;
308
+  height: 6px;
309
+}
310
+
311
+::v-deep .el-radio__input.is-disabled .el-radio__inner,
312
+.el-radio__input.is-disabled.is-checked .el-radio__inner {
313
+  border-color: var(--current-color);
314
+}

+ 5
- 3
oa-ui/src/layout/components/Navbar.vue Wyświetl plik

24
         </el-tooltip>
24
         </el-tooltip>
25
 
25
 
26
       </template> -->
26
       </template> -->
27
-
27
+      <span class="right-menu-item">当前用户:{{ name }}</span>
28
       <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
28
       <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
29
         <div class="avatar-wrapper">
29
         <div class="avatar-wrapper">
30
           <img :src="avatar" class="user-avatar">
30
           <img :src="avatar" class="user-avatar">
72
     ...mapGetters([
72
     ...mapGetters([
73
       'sidebar',
73
       'sidebar',
74
       'avatar',
74
       'avatar',
75
-      'device'
75
+      'device',
76
+      'name'
76
     ]),
77
     ]),
77
     setting: {
78
     setting: {
78
       get() {
79
       get() {
158
       display: inline-block;
159
       display: inline-block;
159
       padding: 0 8px;
160
       padding: 0 8px;
160
       height: 100%;
161
       height: 100%;
161
-      font-size: 18px;
162
+      font-size: 14px;
162
       color: #5a5e66;
163
       color: #5a5e66;
163
       vertical-align: text-bottom;
164
       vertical-align: text-bottom;
164
 
165
 
197
     }
198
     }
198
   }
199
   }
199
 }
200
 }
201
+
200
 </style>
202
 </style>

+ 65
- 43
oa-ui/src/views/flowable/form/carForm.vue Wyświetl plik

1
 <!--
1
 <!--
2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-02-29 11:44:28
3
  * @Date: 2024-02-29 11:44:28
4
- * @LastEditors: wrh
5
- * @LastEditTime: 2024-04-19 17:39:20
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-04-23 14:48:39
6
 -->
6
 -->
7
 
7
 
8
 <template>
8
 <template>
9
-  <div>
9
+  <div v-loading="loading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
10
     <el-row :gutter="20">
10
     <el-row :gutter="20">
11
       <el-col :span="18" :xs="24">
11
       <el-col :span="18" :xs="24">
12
         <el-card>
12
         <el-card>
35
                     </el-date-picker>
35
                     </el-date-picker>
36
                   </el-form-item>
36
                   </el-form-item>
37
                 </el-col>
37
                 </el-col>
38
-                <el-col :span="6" :xs="24">
39
-                  <el-form-item label="申请用途:" prop="carUsage">
40
-                    <el-radio-group v-model="form.carUsage" @change="useChange" size="small"
41
-                      :disabled="taskName != '用车申请'">
42
-                      <el-radio-button label="1">工会用车</el-radio-button>
43
-                      <el-radio-button label="0">非工会用车</el-radio-button>
44
-                    </el-radio-group>
45
-                  </el-form-item>
46
-                </el-col>
47
               </el-row>
38
               </el-row>
48
-              <el-form-item label="项目编号:" prop="projectId">
39
+              <el-form-item label="申请用途:" prop="carUsage">
40
+                <el-radio-group v-model="form.carUsage" @change="useChange" size="small" :disabled="taskName != '用车申请'">
41
+                  <el-radio label="0">项目用车</el-radio>
42
+                  <el-radio label="1">非项目用车</el-radio>
43
+                  <el-radio label="2">工会用车</el-radio>
44
+                  <el-radio label="3">党委用车</el-radio>
45
+                  <el-radio label="4">团委用车</el-radio>
46
+                </el-radio-group>
47
+              </el-form-item>
48
+              <el-form-item label="项目编号:" prop="projectId" v-if="form.carUsage == '0'">
49
                 <el-select v-model="form.projectId" filterable placeholder="请选择" @change="handleSelectProject"
49
                 <el-select v-model="form.projectId" filterable placeholder="请选择" @change="handleSelectProject"
50
-                  :disabled="taskName != '用车申请' || form.carUsage == '1'" clearable>
50
+                  :disabled="taskName != '用车申请'" clearable>
51
                   <el-option v-for="item in projectList" :key="item.value" :label="item.projectNumber"
51
                   <el-option v-for="item in projectList" :key="item.value" :label="item.projectNumber"
52
                     :value="item.projectId">
52
                     :value="item.projectId">
53
                   </el-option>
53
                   </el-option>
54
                 </el-select>
54
                 </el-select>
55
                 <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
55
                 <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
56
                   <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
56
                   <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
57
-                  }}</el-descriptions-item>
57
+                    }}</el-descriptions-item>
58
                   <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
58
                   <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
59
-                  }}</el-descriptions-item>
59
+                    }}</el-descriptions-item>
60
                   <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeaderUser ?
60
                   <el-descriptions-item label="项目负责人" label-class-name="my-label">{{ chooseProject.projectLeaderUser ?
61
-                    chooseProject.projectLeaderUser.nickName : ''
62
-                  }}</el-descriptions-item>
61
+    chooseProject.projectLeaderUser.nickName : ''
62
+                    }}</el-descriptions-item>
63
                   <el-descriptions-item label="承担部门" label-class-name="my-label">
63
                   <el-descriptions-item label="承担部门" label-class-name="my-label">
64
                     <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
64
                     <el-tag size="small">{{ chooseProject.undertakingDeptName }}</el-tag>
65
                   </el-descriptions-item>
65
                   </el-descriptions-item>
66
                   <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
66
                   <el-descriptions-item label="项目类型" label-class-name="my-label">{{ chooseProject.projectType
67
-                  }}</el-descriptions-item>
67
+                    }}</el-descriptions-item>
68
                 </el-descriptions>
68
                 </el-descriptions>
69
               </el-form-item>
69
               </el-form-item>
70
               <el-form-item label="用车事由:" prop="applyReason">
70
               <el-form-item label="用车事由:" prop="applyReason">
75
               <el-row>
75
               <el-row>
76
                 <el-col :span="6" :xs="24">
76
                 <el-col :span="6" :xs="24">
77
                   <el-form-item label="乘车人数:" prop="passengers">
77
                   <el-form-item label="乘车人数:" prop="passengers">
78
-                    <el-input-number v-model="form.passengers" :min="1" :disabled="taskName != '用车申请'"></el-input-number>
78
+                    <el-input-number v-model="form.passengers" :min="1"
79
+                      :disabled="taskName != '用车申请'"></el-input-number>
79
                   </el-form-item>
80
                   </el-form-item>
80
                 </el-col>
81
                 </el-col>
81
                 <el-col :span="6" :xs="24">
82
                 <el-col :span="6" :xs="24">
135
                   </el-form-item>
136
                   </el-form-item>
136
                 </el-col>
137
                 </el-col>
137
               </el-row>
138
               </el-row>
138
-              <!-- 工会审核意见 -->
139
-              <el-form-item label="工会审核意见:" prop="unionComment" label-width="120px" v-if="showFormItem('工会审核')">
140
-                <el-input type="textarea" :rows="2" placeholder="请输入工会审核意见" v-model="form.unionComment"
141
-                  :disabled="taskName != '工会审核'">
139
+              <!-- 党工团审核意见 -->
140
+              <el-form-item :label="dgtAdvice" prop="unionComment" label-width="120px" v-if="showFormItem('党工团审核')">
141
+                <el-input type="textarea" :rows="2" placeholder="请输入审核意见" v-model="form.unionComment"
142
+                  :disabled="taskName != '党工团审核'">
142
                 </el-input>
143
                 </el-input>
143
               </el-form-item>
144
               </el-form-item>
144
               <el-row>
145
               <el-row>
145
                 <el-col :span="6" :xs="24" :offset="12">
146
                 <el-col :span="6" :xs="24" :offset="12">
146
-                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('工会审核签名')">
147
+                  <el-form-item label="签名:" label-width="120px" v-if="showFormItem('党工团审核签名')">
147
                     <span class="auditor"> {{ form.unionUser ? form.unionUser.nickName : unionUser }} </span>
148
                     <span class="auditor"> {{ form.unionUser ? form.unionUser.nickName : unionUser }} </span>
148
                   </el-form-item>
149
                   </el-form-item>
149
                 </el-col>
150
                 </el-col>
150
                 <el-col :span="6">
151
                 <el-col :span="6">
151
-                  <el-form-item label="日期:" label-width="120px" v-if="showFormItem('工会审核签名')">
152
+                  <el-form-item label="日期:" label-width="120px" v-if="showFormItem('党工团审核签名')">
152
                     <span> {{ form.unionTime ? form.unionTime : unionTime }} </span>
153
                     <span> {{ form.unionTime ? form.unionTime : unionTime }} </span>
153
                   </el-form-item>
154
                   </el-form-item>
154
                 </el-col>
155
                 </el-col>
263
       this.managerUser = this.$store.getters.name;
264
       this.managerUser = this.$store.getters.name;
264
       this.managerTime = parseTime(new Date(), '{y}-{m}-{d}')
265
       this.managerTime = parseTime(new Date(), '{y}-{m}-{d}')
265
     }
266
     }
266
-    if (this.taskName == '工会审核') {
267
+    if (this.taskName == '党工团审核') {
267
       this.unionUser = this.$store.getters.name;
268
       this.unionUser = this.$store.getters.name;
268
       this.unionTime = parseTime(new Date(), '{y}-{m}-{d}')
269
       this.unionTime = parseTime(new Date(), '{y}-{m}-{d}')
269
     }
270
     }
285
   },
286
   },
286
   data() {
287
   data() {
287
     return {
288
     return {
289
+      loading: true,
288
       deptUser: '',
290
       deptUser: '',
289
       managerUser: '',
291
       managerUser: '',
290
       unionUser: '',
292
       unionUser: '',
335
       formTotal: 0,
337
       formTotal: 0,
336
       flowData: {},
338
       flowData: {},
337
       dept: 0,
339
       dept: 0,
340
+      dgtAdvice: '审核意见'//党工团审核意见的label
338
     }
341
     }
339
   },
342
   },
340
   mounted() {
343
   mounted() {
351
           this.dept = this.$store.getters.deptId;
354
           this.dept = this.$store.getters.deptId;
352
           this.form.dept.deptName = this.$store.getters.deptName;
355
           this.form.dept.deptName = this.$store.getters.deptName;
353
           this.form.applyDate = new Date();
356
           this.form.applyDate = new Date();
357
+          this.loading = false
354
         }
358
         }
355
         else {
359
         else {
356
           this.formTotal = 1;
360
           this.formTotal = 1;
357
           let data = res.data;
361
           let data = res.data;
362
+          // 初始化党工团审核意见的label
363
+          if (data.carUsage == '2') {
364
+            this.dgtAdvice = '工会审核意见'
365
+          } else if (data.carUsage == '3') {
366
+            this.dgtAdvice = '党委审核意见'
367
+          } else {
368
+            this.dgtAdvice = '团委审核意见'
369
+          }
358
           if (res.data.drivers == null || res.data.drivers == undefined || res.data.drivers == "") {
370
           if (res.data.drivers == null || res.data.drivers == undefined || res.data.drivers == "") {
359
             data.drivers = []
371
             data.drivers = []
360
           } else {
372
           } else {
382
               this.isSelect = true
394
               this.isSelect = true
383
             })
395
             })
384
           }
396
           }
397
+          this.loading = false
385
         }
398
         }
386
       })
399
       })
387
     },
400
     },
410
       })
423
       })
411
     },
424
     },
412
     completeApply() {
425
     completeApply() {
426
+      debugger
413
       this.form.formId = this.taskForm.formId;
427
       this.form.formId = this.taskForm.formId;
414
       this.form.carApplyId = this.taskForm.formId;
428
       this.form.carApplyId = this.taskForm.formId;
415
       let formData = new FormData();
429
       let formData = new FormData();
428
     getNextFlowNodeApproval() {
442
     getNextFlowNodeApproval() {
429
       if (this.taskName == '用车申请') {
443
       if (this.taskName == '用车申请') {
430
         getUsersDeptLeader({ userId: this.$store.getters.userId }).then(res => {
444
         getUsersDeptLeader({ userId: this.$store.getters.userId }).then(res => {
445
+          debugger
431
           this.$set(this.taskForm.variables, "dept", this.dept);
446
           this.$set(this.taskForm.variables, "dept", this.dept);
432
-          if (res.data)
447
+          if (res.data && this.dept != 0) {
433
             this.$set(this.taskForm.variables, "approval", res.data.userId);
448
             this.$set(this.taskForm.variables, "approval", res.data.userId);
449
+          } else {
450
+            let userId = this.getChooseType()
451
+            this.$set(this.taskForm.variables, "approval", userId);
452
+          }
453
+
434
           complete(this.taskForm).then(response => {
454
           complete(this.taskForm).then(response => {
435
             this.$modal.msgSuccess(response.msg);
455
             this.$modal.msgSuccess(response.msg);
436
             this.$emit('goBack')
456
             this.$emit('goBack')
445
             this.$emit('goBack')
465
             this.$emit('goBack')
446
           });
466
           });
447
         })
467
         })
448
-      } else if (this.taskName == '分管审核' || this.taskName == '工会审核' || this.taskName == '总经理审核') {
468
+      } else if (this.taskName == '分管审核' || this.taskName == '党工团审核' || this.taskName == '总经理审核') {
449
         this.$set(this.taskForm.variables, "approvalList", [8, 16]);
469
         this.$set(this.taskForm.variables, "approvalList", [8, 16]);
450
         complete(this.taskForm).then(response => {
470
         complete(this.taskForm).then(response => {
451
           this.$modal.msgSuccess(response.msg);
471
           this.$modal.msgSuccess(response.msg);
458
         });
478
         });
459
       }
479
       }
460
     },
480
     },
481
+    getChooseType() {
482
+      if (this.form.carUsage == '2' || this.form.carUsage == '3') {
483
+        return 4 // 4为党委书记
484
+      } else {
485
+        return 142  //142为团委书记
486
+      }
487
+    },
461
     // 查询项目列表
488
     // 查询项目列表
462
     getProjectList() {
489
     getProjectList() {
463
       this.loading = true
490
       this.loading = true
525
       return true;
552
       return true;
526
     },
553
     },
527
     useChange(val) {
554
     useChange(val) {
528
-      if (val == '1')
555
+      if (val == '2' || val == '3' || val == '4') {
529
         this.dept = 0;
556
         this.dept = 0;
557
+      }
530
       else
558
       else
531
         this.dept = this.$store.getters.deptId;
559
         this.dept = this.$store.getters.deptId;
532
     },
560
     },
536
         isShow = (this.dept > 102 && this.taskName == '用车申请') || (this.taskName == '部门审核' || this.taskName == '分管审核') || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.deptUserId != null);
564
         isShow = (this.dept > 102 && this.taskName == '用车申请') || (this.taskName == '部门审核' || this.taskName == '分管审核') || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.deptUserId != null);
537
       else if (name == '分管审核')
565
       else if (name == '分管审核')
538
         isShow = (this.dept > 102 && this.taskName == '用车申请') || (this.taskName == '部门审核' || this.taskName == '分管审核') || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.managerUserId != null);
566
         isShow = (this.dept > 102 && this.taskName == '用车申请') || (this.taskName == '部门审核' || this.taskName == '分管审核') || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.managerUserId != null);
539
-      else if (name == '工会审核')
540
-        isShow = (this.dept == 0 && this.taskName == '用车申请') || this.taskName == '工会审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.unionUserId != null);
567
+      else if (name == '党工团审核')
568
+        isShow = (this.dept == 0 && this.taskName == '用车申请') || this.taskName == '党工团审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.unionUserId != null);
541
       else if (name == '总经理审核')
569
       else if (name == '总经理审核')
542
         isShow = (this.dept == 102 && this.taskName == '用车申请') || this.taskName == '总经理审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.gmUserId != null);
570
         isShow = (this.dept == 102 && this.taskName == '用车申请') || this.taskName == '总经理审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.gmUserId != null);
543
       else if (name == '部门审核签名')
571
       else if (name == '部门审核签名')
544
         isShow = (this.taskName == '部门审核' || this.taskName == '分管审核') || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.deptUserId != null);
572
         isShow = (this.taskName == '部门审核' || this.taskName == '分管审核') || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.deptUserId != null);
545
       else if (name == '分管审核签名')
573
       else if (name == '分管审核签名')
546
         isShow = this.taskName == '分管审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.managerUserId != null);
574
         isShow = this.taskName == '分管审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.managerUserId != null);
547
-      else if (name == '工会审核签名')
548
-        isShow = this.taskName == '工会审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.unionUserId != null);
575
+      else if (name == '党工团审核签名')
576
+        isShow = this.taskName == '党工团审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.unionUserId != null);
549
       else if (name == '总经理审核签名')
577
       else if (name == '总经理审核签名')
550
         isShow = this.taskName == '总经理审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.gmUserId != null);
578
         isShow = this.taskName == '总经理审核' || ((this.taskName == '安排用车' || this.taskName == '申请确认') && this.form.gmUserId != null);
551
       return isShow;
579
       return isShow;
554
 }
582
 }
555
 </script>
583
 </script>
556
 
584
 
557
-<style lang="scss" scoped></style>
585
+<style lang="scss" scoped>
586
+@import "@/assets/styles/element-reset.scss";
587
+</style>
558
 
588
 
559
 <style>
589
 <style>
560
 .auditor {
590
 .auditor {
566
   width: 100px;
596
   width: 100px;
567
   background: #E1F3D8;
597
   background: #E1F3D8;
568
 }
598
 }
569
-
570
-::v-deep .el-input.is-disabled .el-input__inner {
571
-  color: #121212 !important;
572
-}
573
-
574
-::v-deep .el-textarea.is-disabled .el-textarea__inner {
575
-  color: #121212 !important;
576
-}
577
 </style>
599
 </style>

+ 70
- 0
oa-ui/src/views/flowable/form/conditionDisplay/index.vue Wyświetl plik

1
+<template>
2
+  <div>
3
+    <sc-table :taskForm="taskForm" :tableForm="tableForm" v-if="taskForm.procDefName == '生产部门考核'"></sc-table>
4
+    <jy-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '经营发展部考核'"></jy-table>
5
+    <js-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '技术质量部考核'"></js-table>
6
+    <xm-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '项目管理部考核'"></xm-table>
7
+    <cw-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '财务部考核'"></cw-table>
8
+    <zh-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '综合事务部考核'"></zh-table>
9
+    <project-process :taskForm="taskForm" :taskName="''" v-else-if="taskForm.procDefName == '项目流转'"></project-process>
10
+    <car-form :taskForm="taskForm" :taskName="''" v-else-if="taskForm.procDefName == '用车审批'"></car-form>
11
+    <technical-form :taskForm="taskForm" v-else-if="taskForm.procDefName == '技术交底'"></technical-form>
12
+    <safe-form :taskForm="taskForm" v-else-if="taskForm.procDefName == '安全交底'"></safe-form>
13
+  </div>
14
+</template>
15
+
16
+<script>
17
+import ScTable from "@/views/flowable/form/scTable.vue";
18
+import JyTable from "@/views/flowable/form/jyTable.vue";
19
+import ZhTable from "@/views/flowable/form/zhTable.vue";
20
+import JsTable from "@/views/flowable/form/jsTable.vue";
21
+import XmTable from "@/views/flowable/form/xmTable.vue";
22
+import CwTable from "@/views/flowable/form/cwTable.vue";
23
+import CarForm from '@/views/flowable/form/carForm.vue';
24
+import projectProcess from '@/views/flowable/form/projectProcess/index'
25
+import TechnicalForm from '@/views/flowable/form/technicalForm.vue';
26
+import SafeForm from '@/views/flowable/form/safeForm.vue';
27
+export default {
28
+  props: {
29
+    passingParam: {
30
+      type: Object
31
+    }
32
+  },
33
+  watch:{
34
+    passingParam(newval,old){
35
+      this.init(newval)
36
+    }
37
+  },
38
+  components: {
39
+    ScTable,
40
+    ZhTable,
41
+    JsTable,
42
+    XmTable,
43
+    CwTable,
44
+    JyTable,
45
+    CarForm,
46
+    projectProcess,
47
+    TechnicalForm,
48
+    SafeForm
49
+  },
50
+  data() {
51
+    return {
52
+      taskForm: {},
53
+      taskName: '',
54
+      procDefName: ''
55
+    }
56
+  },
57
+  created() {
58
+    this.init(this.passingParam)
59
+  },
60
+  methods: {
61
+    init(val) {
62
+      this.taskForm = val
63
+      this.taskName = val.taskName
64
+      this.procDefName = val.procDefName
65
+    }
66
+  }
67
+}
68
+</script>
69
+
70
+<style lang="scss" scoped></style>

+ 2
- 1
oa-ui/src/views/flowable/form/projectProcess/addproject.vue Wyświetl plik

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-02-27 14:49:15
3
  * @Date: 2024-02-27 14:49:15
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-17 15:27:10
5
+ * @LastEditTime: 2024-04-23 17:50:04
6
 -->
6
 -->
7
 
7
 
8
 <template>
8
 <template>
164
   },
164
   },
165
   created() {
165
   created() {
166
     this.registerTime = parseTime(new Date(), '{y}-{m}-{d}')
166
     this.registerTime = parseTime(new Date(), '{y}-{m}-{d}')
167
+    debugger
167
     if (this.$route.query.taskName != '项目登记') {
168
     if (this.$route.query.taskName != '项目登记') {
168
       this.getProjectInfo();
169
       this.getProjectInfo();
169
       this.getProjectWorkList();
170
       this.getProjectWorkList();

+ 5
- 5
oa-ui/src/views/flowable/form/projectProcess/inProgress.vue Wyświetl plik

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-04-08 13:56:14
3
  * @Date: 2024-04-08 13:56:14
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-17 17:58:35
5
+ * @LastEditTime: 2024-04-22 11:31:51
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div>
8
   <div>
9
-    <el-skeleton animated :rows="20" v-if="loading" class="app-container" />
10
-    <div class="app-container" v-if="!loading">
9
+    <!-- <el-skeleton animated :rows="20" v-if="loading" class="app-container" /> -->
10
+    <div class="app-container">
11
       <h2 style="text-align: center">项目运作情况</h2>
11
       <h2 style="text-align: center">项目运作情况</h2>
12
       <div class="headers">
12
       <div class="headers">
13
         基本作业情况记录
13
         基本作业情况记录
29
         <el-form-item label="参与人员:" v-if="!noBudget">
29
         <el-form-item label="参与人员:" v-if="!noBudget">
30
           {{ form.staff }}
30
           {{ form.staff }}
31
         </el-form-item>
31
         </el-form-item>
32
-        <div v-if="noBudget">
33
-          <el-alert title="项目未做预算表,请先编制预算表" type="warning" effect="dark">
32
+        <div v-if="noBudget" class="mb20">
33
+          <el-alert title="项目未做预算表,请先编制预算表" type="warning" :closable="false">
34
           </el-alert>
34
           </el-alert>
35
         </div>
35
         </div>
36
         <el-row :gutter="20">
36
         <el-row :gutter="20">

+ 4
- 2
oa-ui/src/views/flowable/form/projectProcess/index.vue Wyświetl plik

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-02-27 14:49:15
3
  * @Date: 2024-02-27 14:49:15
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-19 17:39:47
5
+ * @LastEditTime: 2024-04-23 16:06:30
6
 -->
6
 -->
7
 
7
 
8
 <template>
8
 <template>
125
     }
125
     }
126
   },
126
   },
127
   created() {
127
   created() {
128
-    this.activeName = this.taskName;
128
+    if(this.taskName !='' && this.taskName != undefined &&this.taskName != null){
129
+      this.activeName = this.taskName;
130
+    }
129
     console.log(this.taskName);
131
     console.log(this.taskName);
130
     this.getList();
132
     this.getList();
131
     this.getDeptList();
133
     this.getDeptList();

+ 3
- 2
oa-ui/src/views/flowable/form/safeForm.vue Wyświetl plik

2
   <div class="app-container">
2
   <div class="app-container">
3
     <el-row :gutter="20">
3
     <el-row :gutter="20">
4
       <el-col :span="18" :xs="24">
4
       <el-col :span="18" :xs="24">
5
-        <el-form ref="form" :model="form" :rules="rules" label-width="150px">
5
+        <el-form ref="form" :model="form" :rules="rules" label-width="150px" :disabled="taskName != '安全交底'">
6
           <el-form-item label="项目编号:" prop="projectId" v-if="taskForm.procDefName == '安全交底'">
6
           <el-form-item label="项目编号:" prop="projectId" v-if="taskForm.procDefName == '安全交底'">
7
             <el-input v-model="chooseProject.projectNumber" placeholder="请输入项目编号" disabled style="width: 300px" />
7
             <el-input v-model="chooseProject.projectNumber" placeholder="请输入项目编号" disabled style="width: 300px" />
8
             <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
8
             <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="1">
316
 };
316
 };
317
 </script>
317
 </script>
318
 
318
 
319
-<style>
319
+<style lang="scss" scoped>
320
+@import "@/assets/styles/element-reset.scss";
320
 .auditor {
321
 .auditor {
321
   font-family: '华文行楷';
322
   font-family: '华文行楷';
322
   font-size: 20px;
323
   font-size: 20px;

+ 1
- 2
oa-ui/src/views/flowable/form/technicalForm.vue Wyświetl plik

155
   name: "Technical",
155
   name: "Technical",
156
   props: {
156
   props: {
157
     taskName: {
157
     taskName: {
158
-      type: String,
159
-      required: true
158
+      type: String
160
     },
159
     },
161
     taskForm: {
160
     taskForm: {
162
       type: Object,
161
       type: Object,

+ 14
- 2
oa-ui/src/views/flowable/task/finished/detail/index.vue Wyświetl plik

21
           <xm-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '项目管理部考核'"></xm-table>
21
           <xm-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '项目管理部考核'"></xm-table>
22
           <cw-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '财务部考核'"></cw-table>
22
           <cw-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '财务部考核'"></cw-table>
23
           <zh-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '综合事务部考核'"></zh-table>
23
           <zh-table :taskForm="taskForm" :tableForm="tableForm" v-else-if="taskForm.procDefName == '综合事务部考核'"></zh-table>
24
+          <project-process :taskForm="taskForm" v-else-if="taskForm.procDefName == '项目流转'"></project-process>
25
+          <car-form :taskForm="taskForm" v-else-if="taskForm.procDefName == '用车审批'"></car-form>
26
+          <technical-form :taskForm="taskForm" v-else-if="taskForm.procDefName == '技术交底'"></technical-form>
27
+          <safe-form :taskForm="taskForm" v-else-if="taskForm.procDefName == '安全交底'"></safe-form>
24
           <el-col :span="16" :offset="4" v-else>
28
           <el-col :span="16" :offset="4" v-else>
25
             <div class="test-form">
29
             <div class="test-form">
26
               <parser :key="new Date().getTime()" :form-conf="variablesData" />
30
               <parser :key="new Date().getTime()" :form-conf="variablesData" />
83
 import { getProcessVariables, flowXmlAndNode } from "@/api/flowable/definition";
87
 import { getProcessVariables, flowXmlAndNode } from "@/api/flowable/definition";
84
 import flow from '@/views/flowable/task/finished/detail/flow'
88
 import flow from '@/views/flowable/task/finished/detail/flow'
85
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
89
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
86
-import ScTable from "../../../form/scTable.vue";
87
 import { getAssess, modifyAssess } from '@/api/oa/assess/assess'
90
 import { getAssess, modifyAssess } from '@/api/oa/assess/assess'
91
+import ScTable from "@/views/flowable/form/scTable.vue";
88
 import JyTable from "@/views/flowable/form/jyTable.vue";
92
 import JyTable from "@/views/flowable/form/jyTable.vue";
89
 import ZhTable from "@/views/flowable/form/zhTable.vue";
93
 import ZhTable from "@/views/flowable/form/zhTable.vue";
90
 import JsTable from "@/views/flowable/form/jsTable.vue";
94
 import JsTable from "@/views/flowable/form/jsTable.vue";
91
 import XmTable from "@/views/flowable/form/xmTable.vue";
95
 import XmTable from "@/views/flowable/form/xmTable.vue";
92
 import CwTable from "@/views/flowable/form/cwTable.vue";
96
 import CwTable from "@/views/flowable/form/cwTable.vue";
97
+import CarForm from '@/views/flowable/form/carForm.vue';
98
+import projectProcess from '@/views/flowable/form/projectProcess/index'
99
+import TechnicalForm from '../../../form/technicalForm.vue';
100
+import SafeForm from '../../../form/safeForm.vue';
93
 
101
 
94
 export default {
102
 export default {
95
   name: "Record",
103
   name: "Record",
101
     JsTable,
109
     JsTable,
102
     XmTable,
110
     XmTable,
103
     CwTable,
111
     CwTable,
104
-    JyTable
112
+    JyTable,
113
+    CarForm,
114
+    projectProcess,
115
+    TechnicalForm,
116
+    SafeForm
105
   },
117
   },
106
   props: {},
118
   props: {},
107
   data() {
119
   data() {

+ 2
- 2
oa-ui/src/views/flowable/task/finished/index.vue Wyświetl plik

40
       <el-table-column label="操作" width="150" fixed="right" class-name="small-padding fixed-width">
40
       <el-table-column label="操作" width="150" fixed="right" class-name="small-padding fixed-width">
41
         <template slot-scope="scope">
41
         <template slot-scope="scope">
42
           <el-button size="mini" type="text" icon="el-icon-tickets" @click="handleFlowRecord(scope.row)">流转记录</el-button>
42
           <el-button size="mini" type="text" icon="el-icon-tickets" @click="handleFlowRecord(scope.row)">流转记录</el-button>
43
-          <el-button size="mini" type="text" icon="el-icon-refresh-left" @click="handleRevoke(scope.row)">撤回
44
-          </el-button>
43
+          <!-- <el-button size="mini" type="text" icon="el-icon-refresh-left" @click="handleRevoke(scope.row)">撤回
44
+          </el-button> -->
45
         </template>
45
         </template>
46
       </el-table-column>
46
       </el-table-column>
47
     </el-table>
47
     </el-table>

+ 40
- 20
oa-ui/src/views/flowable/task/myProcess/index.vue Wyświetl plik

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-01-03 09:23:11
3
  * @Date: 2024-01-03 09:23:11
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-19 15:08:13
5
+ * @LastEditTime: 2024-04-23 17:17:12
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div class="app-container">
8
   <div class="app-container">
36
 
36
 
37
     <el-table v-loading="loading" :data="myProcessList" border @selection-change="handleSelectionChange">
37
     <el-table v-loading="loading" :data="myProcessList" border @selection-change="handleSelectionChange">
38
       <el-table-column type="selection" width="55" align="center" />
38
       <el-table-column type="selection" width="55" align="center" />
39
+      <el-table-column label="流程状态" align="center" width="100">
40
+        <template slot-scope="scope">
41
+          <el-tag v-if="scope.row.finishTime == null" size="mini">进行中</el-tag>
42
+          <el-tag type="success" v-if="scope.row.finishTime != null" size="mini">已完成</el-tag>
43
+        </template>
44
+      </el-table-column>
39
       <el-table-column label="流程编号" align="center" prop="procInsId" :show-overflow-tooltip="true" />
45
       <el-table-column label="流程编号" align="center" prop="procInsId" :show-overflow-tooltip="true" />
40
       <el-table-column label="流程名称" align="center" prop="procDefName" :show-overflow-tooltip="true" />
46
       <el-table-column label="流程名称" align="center" prop="procDefName" :show-overflow-tooltip="true" />
41
-      <el-table-column label="流程类别" align="center" prop="category" width="100px" />
47
+      <!-- <el-table-column label="流程类别" align="center" prop="category" width="100px" /> -->
42
       <!-- <el-table-column label="流程版本" align="center" width="80px">
48
       <!-- <el-table-column label="流程版本" align="center" width="80px">
43
         <template slot-scope="scope">
49
         <template slot-scope="scope">
44
           <el-tag size="medium">v{{ scope.row.procDefVersion }}</el-tag>
50
           <el-tag size="medium">v{{ scope.row.procDefVersion }}</el-tag>
45
         </template>
51
         </template>
46
 </el-table-column> -->
52
 </el-table-column> -->
47
       <el-table-column label="提交时间" align="center" prop="createTime" width="180" />
53
       <el-table-column label="提交时间" align="center" prop="createTime" width="180" />
48
-      <el-table-column label="流程状态" align="center" width="100">
49
-
50
-        <template slot-scope="scope">
51
-          <el-tag v-if="scope.row.finishTime == null" size="mini">进行中</el-tag>
52
-          <el-tag type="success" v-if="scope.row.finishTime != null" size="mini">已完成</el-tag>
53
-        </template>
54
-      </el-table-column>
55
       <el-table-column label="耗时" align="center" prop="duration" width="180" />
54
       <el-table-column label="耗时" align="center" prop="duration" width="180" />
56
       <el-table-column label="当前节点" align="center" prop="taskName" />
55
       <el-table-column label="当前节点" align="center" prop="taskName" />
57
-      <el-table-column label="办人" align="center">
56
+      <el-table-column label="待办人" align="center">
58
 
57
 
59
         <template slot-scope="scope">
58
         <template slot-scope="scope">
60
-          <label v-if="scope.row.assigneeName">{{ scope.row.assigneeName }} <el-tag type="info" size="mini">{{
61
-      scope.row.assigneeDeptName }}</el-tag></label>
59
+          <label v-if="scope.row.assigneeName">
60
+            {{ scope.row.assigneeName }}
61
+            <el-tag type="info" size="mini">{{ scope.row.assigneeDeptName }}</el-tag></label>
62
           <!--          <label v-if="scope.row.candidate">{{scope.row.candidate}}</label>-->
62
           <!--          <label v-if="scope.row.candidate">{{scope.row.candidate}}</label>-->
63
         </template>
63
         </template>
64
       </el-table-column>
64
       </el-table-column>
65
-      <el-table-column label="操作" width="150" fixed="right" class-name="small-padding fixed-width">
66
-
65
+      <el-table-column label="操作" width="200" fixed="right" class-name="small-padding fixed-width">
67
         <template slot-scope="scope">
66
         <template slot-scope="scope">
68
-          <el-button @click="handleFlowRecord(scope.row)" type="text" size="small">进度</el-button>
69
-          <el-button @click="handleStop(scope.row)" type="text" size="small">取消申请</el-button>
67
+          <el-button @click="handleFlowRecord(scope.row)" type="text" size="small">办理进度</el-button>
68
+          <el-button @click="handleFlowNote(scope.row)" type="text" size="small">表单信息</el-button>
69
+          <!-- <el-button @click="handleStop(scope.row)" type="text" size="small">取消申请</el-button> -->
70
           <el-button @click="handleDelete(scope.row)" type="text" size="small"
70
           <el-button @click="handleDelete(scope.row)" type="text" size="small"
71
             v-hasPermi="['system:deployment:remove']">删除</el-button>
71
             v-hasPermi="['system:deployment:remove']">删除</el-button>
72
         </template>
72
         </template>
113
         <RowDetail :rows="clickRow"></RowDetail>
113
         <RowDetail :rows="clickRow"></RowDetail>
114
       </el-scrollbar>
114
       </el-scrollbar>
115
     </el-dialog>
115
     </el-dialog>
116
+
117
+    <el-dialog title="表单信息" :visible.sync="formOpen" append-to-body width="80%">
118
+      <conditionDisplay :passingParam="passingParam"></conditionDisplay>
119
+    </el-dialog>
116
   </div>
120
   </div>
117
 </template>
121
 </template>
118
 
122
 
133
 import { Snowflake } from '@/utils/snowFlake.js'
137
 import { Snowflake } from '@/utils/snowFlake.js'
134
 import RowDetail from './send/rowDetail.vue'
138
 import RowDetail from './send/rowDetail.vue'
135
 import ProgressTree from './progressTree.vue';
139
 import ProgressTree from './progressTree.vue';
140
+import { getProcessVariables } from "@/api/flowable/definition";
141
+import conditionDisplay from '@/views/flowable/form/conditionDisplay/index'
136
 export default {
142
 export default {
137
   name: "Deploy",
143
   name: "Deploy",
138
   components: {
144
   components: {
139
     RowDetail,
145
     RowDetail,
140
-    ProgressTree
146
+    ProgressTree,
147
+    conditionDisplay
141
   },
148
   },
142
   data() {
149
   data() {
143
     return {
150
     return {
163
       open: false,
170
       open: false,
164
       // 详情弹出框
171
       // 详情弹出框
165
       detailsOpen: false,
172
       detailsOpen: false,
173
+      formOpen: false,
166
       src: "",
174
       src: "",
167
       definitionList: [],
175
       definitionList: [],
168
       // 查询参数
176
       // 查询参数
199
       rules: {
207
       rules: {
200
       },
208
       },
201
       // 当前点击的行数据
209
       // 当前点击的行数据
202
-      clickRow: {}
210
+      clickRow: {},
211
+      passingParam: {}
203
     };
212
     };
204
   },
213
   },
205
   created() {
214
   created() {
278
     /**  发起流程申请 */
287
     /**  发起流程申请 */
279
     handleStartProcess(row) {
288
     handleStartProcess(row) {
280
       // if (row.category == "assess" || row.category == "car" || ) {
289
       // if (row.category == "assess" || row.category == "car" || ) {
281
-        let formId = new Snowflake(1n, 1n, 0n).nextId().toString();
282
-      getNextFlowNodeByStart({ deploymentId: row.deploymentId, variables: {formId:formId} }).then(res => {
290
+      let formId = new Snowflake(1n, 1n, 0n).nextId().toString();
291
+      getNextFlowNodeByStart({ deploymentId: row.deploymentId, variables: { formId: formId } }).then(res => {
283
         let data = res.data;
292
         let data = res.data;
284
         if (data.dataType === 'dynamic') {
293
         if (data.dataType === 'dynamic') {
285
           if (data.type === 'assignee') { // 指定人员
294
           if (data.type === 'assignee') { // 指定人员
373
       this.clickRow = row;
382
       this.clickRow = row;
374
       this.detailsOpen = true;
383
       this.detailsOpen = true;
375
     },
384
     },
385
+    // 表单信息
386
+    handleFlowNote(row) {
387
+      getProcessVariables(row.taskId).then(res => {
388
+        console.log(res);
389
+        if (res.data) {
390
+          this.passingParam = row
391
+          this.passingParam.formId = res.data.formId
392
+          this.formOpen = true
393
+        }
394
+      })
395
+    },
376
     /** 修改按钮操作 */
396
     /** 修改按钮操作 */
377
     handleUpdate(row) {
397
     handleUpdate(row) {
378
       this.reset();
398
       this.reset();

Ładowanie…
Anuluj
Zapisz