浏览代码

修改已办任务中的流转记录表单信息

修改用户头像
修改首页显示信息
余思翰 1年前
父节点
当前提交
21fc48439b

二进制
oa-ui/src/assets/images/user.png 查看文件


+ 1
- 1
oa-ui/src/store/modules/user.js 查看文件

@@ -55,7 +55,7 @@ const user = {
55 55
       return new Promise((resolve, reject) => {
56 56
         getInfo().then(res => {
57 57
           const user = res.user
58
-          const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
58
+          const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/user.png") : process.env.VUE_APP_BASE_API + user.avatar;
59 59
           if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
60 60
             commit('SET_ROLES', res.roles)
61 61
             commit('SET_PERMISSIONS', res.permissions)

+ 63
- 49
oa-ui/src/views/flowable/form/cwTable.vue 查看文件

@@ -5,8 +5,11 @@
5 5
       <tr>
6 6
         <td class="table-title">姓名</td>
7 7
         <td style="text-align:left;padding-left:10px;">{{ tableForm.nickName }}</td>
8
-        <td class="table-title">考核年度</td>
9
-        <td> {{ tableForm.assessTime }}</td>
8
+        <td class="table-title" style="width:50px">考核时间</td>
9
+        <td>
10
+          <el-date-picker v-model="tableForm.assessTime" type="month" placeholder="选择日期">
11
+          </el-date-picker>
12
+        </td>
10 13
         <td colspan="3" class="table-title">部门负责人考核意见</td>
11 14
         <td colspan="3" class="table-title" style="width:300px;">分管领导考核意见</td>
12 15
       </tr>
@@ -67,18 +70,18 @@
67 70
       </tr>
68 71
       <tr>
69 72
         <td rowspan="2" class="table-title">考核内容</td>
70
-        <td colspan="5" class="table-title">被考核人填写</td>
71
-        <td colspan="3" class="table-title" style="width:300px;">项目负责人考核</td>
73
+        <td colspan="5" class="table-fillin">被考核人填写</td>
74
+        <td colspan="3" class="table-fzr" style="width:300px;">负责人考核</td>
72 75
       </tr>
73 76
       <tr>
74
-        <td class="table-title">工作内容</td>
75
-        <td class="table-title">单位</td>
76
-        <td class="table-title">工作量</td>
77
-        <td class="table-title">熟练程度</td>
78
-        <td class="table-title">备注</td>
79
-        <td class="table-title">工作量</td>
80
-        <td class="table-title">岗位综合表现</td>
81
-        <td class="table-title">考核建议</td>
77
+        <td class="table-fillin">工作内容</td>
78
+        <td class="table-fillin">单位</td>
79
+        <td class="table-fillin" style="width:50px;">工作量</td>
80
+        <td class="table-fillin">熟练程度</td>
81
+        <td class="table-fillin">备注</td>
82
+        <td class="table-fzr">工作量</td>
83
+        <td class="table-fzr">岗位综合表现</td>
84
+        <td class="table-fzr">考核建议</td>
82 85
       </tr>
83 86
       <tr>
84 87
         <td rowspan="8">账务处理</td>
@@ -90,9 +93,9 @@
90 93
         </td>
91 94
         <td rowspan="8">
92 95
           <el-radio-group v-model="tableForm.familiar01" :disabled="!isStaff">
93
-            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar01',!isStaff)">生疏</el-radio></div>
94
-            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar01',!isStaff)">熟练</el-radio></div>
95
-            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar01',!isStaff)">精通</el-radio></div>
96
+            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar01', !isStaff)">生疏</el-radio></div>
97
+            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar01', !isStaff)">熟练</el-radio></div>
98
+            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar01', !isStaff)">精通</el-radio></div>
96 99
           </el-radio-group>
97 100
         </td>
98 101
 
@@ -104,7 +107,7 @@
104 107
           <el-radio-group v-model="tableForm.workload01" :disabled="!isPiLeader">
105 108
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
106 109
               <el-radio :key="dict.value" :label="dict.value"
107
-                @click.native.prevent="cancelSelect(dict.value, 'workload01')">
110
+                @click.native.prevent="cancelSelect(dict.value, 'workload01',isStaff)">
108 111
                 {{ dict.label }}
109 112
               </el-radio>
110 113
             </div>
@@ -114,7 +117,7 @@
114 117
           <el-radio-group v-model="tableForm.assessment01" :disabled="!isPiLeader">
115 118
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
116 119
               <el-radio :key="dict.value" :label="dict.value"
117
-                @click.native.prevent="cancelSelect(dict.value, 'assessment01')">
120
+                @click.native.prevent="cancelSelect(dict.value, 'assessment01',isStaff)">
118 121
                 {{ dict.label }}
119 122
               </el-radio>
120 123
             </div>
@@ -195,9 +198,9 @@
195 198
         </td>
196 199
         <td rowspan="3">
197 200
           <el-radio-group v-model="tableForm.familiar02" :disabled="!isStaff">
198
-            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar02',!isStaff)">生疏</el-radio></div>
199
-            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar02',!isStaff)">熟练</el-radio></div>
200
-            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar02',!isStaff)">精通</el-radio></div>
201
+            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar02', !isStaff)">生疏</el-radio></div>
202
+            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar02', !isStaff)">熟练</el-radio></div>
203
+            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar02', !isStaff)">精通</el-radio></div>
201 204
           </el-radio-group>
202 205
         </td>
203 206
         <td rowspan="3">
@@ -208,7 +211,7 @@
208 211
           <el-radio-group v-model="tableForm.workload02" :disabled="!isPiLeader">
209 212
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
210 213
               <el-radio :key="dict.value" :label="dict.value"
211
-                @click.native.prevent="cancelSelect(dict.value, 'workload02')">
214
+                @click.native.prevent="cancelSelect(dict.value, 'workload02',isStaff)">
212 215
                 {{ dict.label }}
213 216
               </el-radio>
214 217
             </div>
@@ -218,7 +221,7 @@
218 221
           <el-radio-group v-model="tableForm.assessment02" :disabled="!isPiLeader">
219 222
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
220 223
               <el-radio :key="dict.value" :label="dict.value"
221
-                @click.native.prevent="cancelSelect(dict.value, 'assessment02')">
224
+                @click.native.prevent="cancelSelect(dict.value, 'assessment02',isStaff)">
222 225
                 {{ dict.label }}
223 226
               </el-radio>
224 227
             </div>
@@ -258,9 +261,9 @@
258 261
         </td>
259 262
         <td rowspan="7">
260 263
           <el-radio-group v-model="tableForm.familiar03" :disabled="!isStaff">
261
-            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar03',!isStaff)">生疏</el-radio></div>
262
-            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar03',!isStaff)">熟练</el-radio></div>
263
-            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar03',!isStaff)">精通</el-radio></div>
264
+            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar03', !isStaff)">生疏</el-radio></div>
265
+            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar03', !isStaff)">熟练</el-radio></div>
266
+            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar03', !isStaff)">精通</el-radio></div>
264 267
           </el-radio-group>
265 268
         </td>
266 269
         <td rowspan="7">
@@ -271,7 +274,7 @@
271 274
           <el-radio-group v-model="tableForm.workload03" :disabled="!isPiLeader">
272 275
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
273 276
               <el-radio :key="dict.value" :label="dict.value"
274
-                @click.native.prevent="cancelSelect(dict.value, 'workload03')">
277
+                @click.native.prevent="cancelSelect(dict.value, 'workload03',isStaff)">
275 278
                 {{ dict.label }}
276 279
               </el-radio>
277 280
             </div>
@@ -281,7 +284,7 @@
281 284
           <el-radio-group v-model="tableForm.assessment03" :disabled="!isPiLeader">
282 285
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
283 286
               <el-radio :key="dict.value" :label="dict.value"
284
-                @click.native.prevent="cancelSelect(dict.value, 'assessment03')">
287
+                @click.native.prevent="cancelSelect(dict.value, 'assessment03',isStaff)">
285 288
                 {{ dict.label }}
286 289
               </el-radio>
287 290
             </div>
@@ -351,9 +354,9 @@
351 354
         </td>
352 355
         <td rowspan="8">
353 356
           <el-radio-group v-model="tableForm.familiar04" :disabled="!isStaff">
354
-            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar04',!isStaff)">生疏</el-radio></div>
355
-            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar04',!isStaff)">熟练</el-radio></div>
356
-            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar04',!isStaff)">精通</el-radio></div>
357
+            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar04', !isStaff)">生疏</el-radio></div>
358
+            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar04', !isStaff)">熟练</el-radio></div>
359
+            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar04', !isStaff)">精通</el-radio></div>
357 360
           </el-radio-group>
358 361
         </td>
359 362
         <td rowspan="8">
@@ -364,7 +367,7 @@
364 367
           <el-radio-group v-model="tableForm.workload04" :disabled="!isPiLeader">
365 368
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
366 369
               <el-radio :key="dict.value" :label="dict.value"
367
-                @click.native.prevent="cancelSelect(dict.value, 'workload04')">
370
+                @click.native.prevent="cancelSelect(dict.value, 'workload04',isStaff)">
368 371
                 {{ dict.label }}
369 372
               </el-radio>
370 373
             </div>
@@ -374,7 +377,7 @@
374 377
           <el-radio-group v-model="tableForm.assessment04" :disabled="!isPiLeader">
375 378
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
376 379
               <el-radio :key="dict.value" :label="dict.value"
377
-                @click.native.prevent="cancelSelect(dict.value, 'assessment04')">
380
+                @click.native.prevent="cancelSelect(dict.value, 'assessment04',isStaff)">
378 381
                 {{ dict.label }}
379 382
               </el-radio>
380 383
             </div>
@@ -452,9 +455,9 @@
452 455
         </td>
453 456
         <td rowspan="3">
454 457
           <el-radio-group v-model="tableForm.familiar05" :disabled="!isStaff">
455
-            <div><el-radio :label="0" @click.native.prevent="cancelSelect(3, 'familiar05',!isStaff)">生疏</el-radio></div>
456
-            <div><el-radio :label="2" @click.native.prevent="cancelSelect(3, 'familiar05',!isStaff)">熟练</el-radio></div>
457
-            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar05',!isStaff)">精通</el-radio></div>
458
+            <div><el-radio :label="0" @click.native.prevent="cancelSelect(3, 'familiar05', !isStaff)">生疏</el-radio></div>
459
+            <div><el-radio :label="2" @click.native.prevent="cancelSelect(3, 'familiar05', !isStaff)">熟练</el-radio></div>
460
+            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar05', !isStaff)">精通</el-radio></div>
458 461
           </el-radio-group>
459 462
         </td>
460 463
         <td rowspan="3">
@@ -465,7 +468,7 @@
465 468
           <el-radio-group v-model="tableForm.workload05" :disabled="!isPiLeader">
466 469
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
467 470
               <el-radio :key="dict.value" :label="dict.value"
468
-                @click.native.prevent="cancelSelect(dict.value, 'workload05')">
471
+                @click.native.prevent="cancelSelect(dict.value, 'workload05',isStaff)">
469 472
                 {{ dict.label }}
470 473
               </el-radio>
471 474
             </div>
@@ -475,7 +478,7 @@
475 478
           <el-radio-group v-model="tableForm.assessment05" :disabled="!isPiLeader">
476 479
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
477 480
               <el-radio :key="dict.value" :label="dict.value"
478
-                @click.native.prevent="cancelSelect(dict.value, 'assessment05')">
481
+                @click.native.prevent="cancelSelect(dict.value, 'assessment05',isStaff)">
479 482
                 {{ dict.label }}
480 483
               </el-radio>
481 484
             </div>
@@ -580,7 +583,7 @@ export default {
580 583
         this.isDeptLeader = true;
581 584
         this.isManager = false;
582 585
         this.isStaff = false;
583
-      } else if (this.taskName == '分管领导审核') {
586
+      } else if (this.taskName == '分管审核') {
584 587
         this.isPiLeader = false;
585 588
         this.isDeptLeader = false;
586 589
         this.isManager = true;
@@ -593,13 +596,14 @@ export default {
593 596
       }
594 597
     },
595 598
     submit() {
596
-      this.formValidate(this.tableForm)
597
-      this.$emit('submit', this.tableForm);
599
+      let flag = this.formValidate(this.tableForm)
600
+      if (flag)
601
+        this.$emit('submit', this.tableForm);
598 602
     },
599 603
     formValidate(form) {
600 604
       let flag = [];
601 605
       for (let f in form) {
602
-        
606
+
603 607
         if (f.startsWith('familiar') && form[f] != null) {
604 608
           flag.push(f.slice(-2));
605 609
         } else if (f.length == 5 && f.startsWith('f')) {
@@ -610,11 +614,15 @@ export default {
610 614
       let isF = false;
611 615
       if (flag.length == 0) {
612 616
         this.$modal.msgError("表格未填写,请填写表格");
613
-        return
617
+      }else{
618
+        isF = true
614 619
       }
620
+      return isF
615 621
     },
616 622
     cancelSelect(value, name, disabled) {
617
-      
623
+      if(disabled){
624
+        return
625
+      }
618 626
       if (this.isStaff) {
619 627
         if (this.tableForm[name] == value) {
620 628
           this.tableForm[name] = null
@@ -627,9 +635,6 @@ export default {
627 635
         }
628 636
       }
629 637
       if (this.isPiLeader) {
630
-        if (disabled) {
631
-          return
632
-        }
633 638
         if (this.tableForm[name] == value) {
634 639
           this.tableForm[name] = null
635 640
         } else {
@@ -649,7 +654,16 @@ export default {
649 654
 }
650 655
 
651 656
 .table-title {
652
-  background-color: #dad4d4;
657
+  background-color: #90d6f1;
658
+  font-weight: bold;
659
+}
660
+.table-fillin{
661
+  background-color: #bfee93;
662
+  font-weight: bold;
663
+}
664
+.table-fzr{
665
+  background-color: #eead93;
666
+  font-weight: bold;
653 667
 }
654 668
 
655 669
 .table,
@@ -660,8 +674,8 @@ td {
660 674
 }
661 675
 
662 676
 td {
663
-  height: 24px;
664
-  width: 100px;
677
+  height: 50px;
678
+  // width: 100px;
665 679
 }
666 680
 
667 681
 .head {

+ 92
- 72
oa-ui/src/views/flowable/form/jsTable.vue 查看文件

@@ -6,8 +6,11 @@
6 6
       <tr>
7 7
         <td class="table-title">姓名</td>
8 8
         <td style="text-align:left;padding-left:10px;">{{ tableForm.nickName }}</td>
9
-        <td class="table-title">考核年度</td>
10
-        <td> {{ tableForm.assessTime }}</td>
9
+        <td class="table-title" style="width:50px">考核时间</td>
10
+        <td>
11
+          <el-date-picker v-model="tableForm.assessTime" type="month" placeholder="选择日期">
12
+          </el-date-picker>
13
+        </td>
11 14
         <td colspan="3" class="table-title">部门负责人考核意见</td>
12 15
         <td colspan="3" class="table-title">分管领导考核意见</td>
13 16
       </tr>
@@ -33,19 +36,25 @@
33 36
         <td class="table-title">部门职务</td>
34 37
         <td colspan="3" style="text-align:left;padding-left:10px;">{{ tableForm.postGroup }}</td>
35 38
         <td colspan="3" rowspan="4">
36
-          <el-input type="textarea" :rows="4" placeholder="请输入考核意见" v-model="tableForm.deptAdvice" :disabled="!isDeptLeader">
39
+          <el-input type="textarea" :rows="4" placeholder="请输入考核意见" v-model="tableForm.deptAdvice"
40
+            :disabled="!isDeptLeader">
37 41
           </el-input>
38 42
           <el-row justify="center" type="flex">
39
-            <el-col :span="12">考核人:<el-input v-model="tableForm.deptAssesser" style="width:150px;" placeholder="请输入考核人" :disabled="!isDeptLeader"></el-input> </el-col>
40
-            <el-col :span="12">日期:<el-date-picker type="date"  placeholder="请选择考核日期" v-model="tableForm.deptTime" style="width:150px;" :disabled="!isDeptLeader"></el-date-picker> </el-col>
43
+            <el-col :span="12">考核人:<el-input v-model="tableForm.deptAssesser" style="width:150px;" placeholder="请输入考核人"
44
+                :disabled="!isDeptLeader"></el-input> </el-col>
45
+            <el-col :span="12">日期:<el-date-picker type="date" placeholder="请选择考核日期" v-model="tableForm.deptTime"
46
+                style="width:150px;" :disabled="!isDeptLeader"></el-date-picker> </el-col>
41 47
           </el-row>
42 48
         </td>
43 49
         <td colspan="3" rowspan="4">
44
-          <el-input type="textarea" :rows="4" placeholder="请输入考核意见" v-model="tableForm.managerAdvice" :disabled="!isManager">
50
+          <el-input type="textarea" :rows="4" placeholder="请输入考核意见" v-model="tableForm.managerAdvice"
51
+            :disabled="!isManager">
45 52
           </el-input>
46 53
           <el-row justify="center">
47
-            <el-col :span="12">考核人:<el-input v-model="tableForm.managerAssesser" style="width:150px;" placeholder="请输入考核人" :disabled="!isManager"></el-input></el-col>
48
-            <el-col :span="12">日期:<el-date-picker type="date"  placeholder="请选择考核日期" v-model="tableForm.managerTime" style="width:150px;" :disabled="!isManager"></el-date-picker></el-col>
54
+            <el-col :span="12">考核人:<el-input v-model="tableForm.managerAssesser" style="width:150px;" placeholder="请输入考核人"
55
+                :disabled="!isManager"></el-input></el-col>
56
+            <el-col :span="12">日期:<el-date-picker type="date" placeholder="请选择考核日期" v-model="tableForm.managerTime"
57
+                style="width:150px;" :disabled="!isManager"></el-date-picker></el-col>
49 58
           </el-row>
50 59
         </td>
51 60
       </tr>
@@ -65,19 +74,19 @@
65 74
       </tr>
66 75
       <tr>
67 76
         <td rowspan="2" class="table-title">考核内容</td>
68
-        <td colspan="5" class="table-title">被考核人填写</td>
69
-        <td colspan="4" class="table-title" style="width:300px;">项目负责人考核</td>
77
+        <td colspan="5" class="table-fillin">被考核人填写</td>
78
+        <td colspan="4" class="table-fzr" style="width:300px;">负责人考核</td>
70 79
       </tr>
71 80
       <tr>
72
-        <td class="table-title">工作内容</td>
73
-        <td class="table-title">单位</td>
74
-        <td class="table-title">工作量</td>
75
-        <td class="table-title">熟练程度</td>
76
-        <td class="table-title">备注</td>
77
-        <td class="table-title">工作量</td>
78
-        <td class="table-title">技能掌握</td>
79
-        <td class="table-title">岗位综合表现</td>
80
-        <td class="table-title">考核建议</td>
81
+        <td class="table-fillin">工作内容</td>
82
+        <td class="table-fillin">单位</td>
83
+        <td class="table-fillin">工作量</td>
84
+        <td class="table-fillin">熟练程度</td>
85
+        <td class="table-fillin">备注</td>
86
+        <td class="table-fzr">工作量</td>
87
+        <td class="table-fzr">技能掌握</td>
88
+        <td class="table-fzr">岗位综合表现</td>
89
+        <td class="table-fzr">考核建议</td>
81 90
       </tr>
82 91
       <tr>
83 92
         <td rowspan="6">参与生产</td>
@@ -89,22 +98,22 @@
89 98
         </td>
90 99
         <td rowspan="6">
91 100
           <el-radio-group v-model="tableForm.familiar01" :disabled="!isStaff">
92
-            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar01',!isStaff)">生疏</el-radio></div>
93
-            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar01',!isStaff)">熟练</el-radio></div>
94
-            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar01',!isStaff)">精通</el-radio></div>
101
+            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar01', !isStaff)">生疏</el-radio></div>
102
+            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar01', !isStaff)">熟练</el-radio></div>
103
+            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar01', !isStaff)">精通</el-radio></div>
95 104
           </el-radio-group>
96 105
         </td>
97
-        
106
+
98 107
         <td rowspan="6">
99 108
           <div v-if="!isStaff">{{ tableForm.remark01 }}</div>
100
-          <el-input v-if="isStaff" v-model="tableForm.remark01"  type="textarea" :rows="4"></el-input>
109
+          <el-input v-if="isStaff" v-model="tableForm.remark01" type="textarea" :rows="4"></el-input>
101 110
         </td>
102 111
         <!-- 工作量 -->
103 112
         <td rowspan="6">
104 113
           <el-radio-group v-model="tableForm.workload01" :disabled="!isPiLeader">
105 114
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
106 115
               <el-radio :key="dict.value" :label="dict.value"
107
-                @click.native.prevent="cancelSelect(dict.value, 'workload05')">
116
+                @click.native.prevent="cancelSelect(dict.value, 'workload01', isStaff)">
108 117
                 {{ dict.label }}
109 118
               </el-radio>
110 119
             </div>
@@ -113,7 +122,7 @@
113 122
         <td rowspan="6">
114 123
           <el-radio-group v-model="tableForm.skill01" :disabled="!isPiLeader">
115 124
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
116
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill01')">
125
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill01', isStaff)">
117 126
                 {{ dict.label }}
118 127
               </el-radio>
119 128
             </div>
@@ -123,13 +132,13 @@
123 132
           <el-radio-group v-model="tableForm.assessment01" :disabled="!isPiLeader">
124 133
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
125 134
               <el-radio :key="dict.value" :label="dict.value"
126
-                @click.native.prevent="cancelSelect(dict.value, 'assessment01')">
135
+                @click.native.prevent="cancelSelect(dict.value, 'assessment01', isStaff)">
127 136
                 {{ dict.label }}
128 137
               </el-radio>
129 138
             </div>
130 139
           </el-radio-group>
131 140
         </td>
132
-        <td rowspan="6" >
141
+        <td rowspan="6">
133 142
           <el-input type="textarea" :rows="4" v-model="tableForm.advice01" :disabled="!isPiLeader">
134 143
           </el-input>
135 144
         </td>
@@ -187,21 +196,21 @@
187 196
         </td>
188 197
         <td rowspan="4">
189 198
           <el-radio-group v-model="tableForm.familiar02" :disabled="!isStaff">
190
-            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar02',!isStaff)">生疏</el-radio></div>
191
-            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar02',!isStaff)">熟练</el-radio></div>
192
-            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar02',!isStaff)">精通</el-radio></div>
199
+            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar02', !isStaff)">生疏</el-radio></div>
200
+            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar02', !isStaff)">熟练</el-radio></div>
201
+            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar02', !isStaff)">精通</el-radio></div>
193 202
           </el-radio-group>
194 203
         </td>
195 204
         <td rowspan="4">
196 205
           <div v-if="!isStaff">{{ tableForm.remark02 }}</div>
197
-          <el-input v-if="isStaff" v-model="tableForm.remark02"  type="textarea" :rows="4"></el-input>
206
+          <el-input v-if="isStaff" v-model="tableForm.remark02" type="textarea" :rows="4"></el-input>
198 207
         </td>
199 208
         <!-- 工作量 -->
200 209
         <td rowspan="4">
201 210
           <el-radio-group v-model="tableForm.workload02" :disabled="!isPiLeader">
202 211
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
203 212
               <el-radio :key="dict.value" :label="dict.value"
204
-                @click.native.prevent="cancelSelect(dict.value, 'workload05')">
213
+                @click.native.prevent="cancelSelect(dict.value, 'workload02', isStaff)">
205 214
                 {{ dict.label }}
206 215
               </el-radio>
207 216
             </div>
@@ -210,7 +219,7 @@
210 219
         <td rowspan="4">
211 220
           <el-radio-group v-model="tableForm.skill02" :disabled="!isPiLeader">
212 221
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
213
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill02')">
222
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill02', isStaff)">
214 223
                 {{ dict.label }}
215 224
               </el-radio>
216 225
             </div>
@@ -220,7 +229,7 @@
220 229
           <el-radio-group v-model="tableForm.assessment02" :disabled="!isPiLeader">
221 230
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
222 231
               <el-radio :key="dict.value" :label="dict.value"
223
-                @click.native.prevent="cancelSelect(dict.value, 'assessment02')">
232
+                @click.native.prevent="cancelSelect(dict.value, 'assessment02', isStaff)">
224 233
                 {{ dict.label }}
225 234
               </el-radio>
226 235
             </div>
@@ -255,7 +264,7 @@
255 264
           <el-input v-if="isStaff" v-model="tableForm.f0204"></el-input>
256 265
         </td>
257 266
       </tr>
258
-<!--  -->
267
+      <!--  -->
259 268
 
260 269
       <tr>
261 270
         <td rowspan="13">质量检查</td>
@@ -267,21 +276,21 @@
267 276
         </td>
268 277
         <td rowspan="13">
269 278
           <el-radio-group v-model="tableForm.familiar03" :disabled="!isStaff">
270
-            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar03',!isStaff)">生疏</el-radio></div>
271
-            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar03',!isStaff)">熟练</el-radio></div>
272
-            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar03',!isStaff)">精通</el-radio></div>
279
+            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar03', !isStaff)">生疏</el-radio></div>
280
+            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar03', !isStaff)">熟练</el-radio></div>
281
+            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar03', !isStaff)">精通</el-radio></div>
273 282
           </el-radio-group>
274 283
         </td>
275 284
         <td rowspan="13">
276 285
           <div v-if="!isStaff">{{ tableForm.remark03 }}</div>
277
-          <el-input v-if="isStaff" v-model="tableForm.remark03"  type="textarea" :rows="4"></el-input>
286
+          <el-input v-if="isStaff" v-model="tableForm.remark03" type="textarea" :rows="4"></el-input>
278 287
         </td>
279 288
         <!-- 工作量 -->
280 289
         <td rowspan="13">
281 290
           <el-radio-group v-model="tableForm.workload03" :disabled="!isPiLeader">
282 291
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
283 292
               <el-radio :key="dict.value" :label="dict.value"
284
-                @click.native.prevent="cancelSelect(dict.value, 'workload05')">
293
+                @click.native.prevent="cancelSelect(dict.value, 'workload03', isStaff)">
285 294
                 {{ dict.label }}
286 295
               </el-radio>
287 296
             </div>
@@ -290,7 +299,7 @@
290 299
         <td rowspan="13">
291 300
           <el-radio-group v-model="tableForm.skill03" :disabled="!isPiLeader">
292 301
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
293
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill03')">
302
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill03', isStaff)">
294 303
                 {{ dict.label }}
295 304
               </el-radio>
296 305
             </div>
@@ -300,7 +309,7 @@
300 309
           <el-radio-group v-model="tableForm.assessment03" :disabled="!isPiLeader">
301 310
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
302 311
               <el-radio :key="dict.value" :label="dict.value"
303
-                @click.native.prevent="cancelSelect(dict.value, 'assessment03')">
312
+                @click.native.prevent="cancelSelect(dict.value, 'assessment03', isStaff)">
304 313
                 {{ dict.label }}
305 314
               </el-radio>
306 315
             </div>
@@ -420,21 +429,21 @@
420 429
         </td>
421 430
         <td rowspan="5">
422 431
           <el-radio-group v-model="tableForm.familiar04" :disabled="!isStaff">
423
-            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar04',!isStaff)">生疏</el-radio></div>
424
-            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar04',!isStaff)">熟练</el-radio></div>
425
-            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar04',!isStaff)">精通</el-radio></div>
432
+            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar04', !isStaff)">生疏</el-radio></div>
433
+            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar04', !isStaff)">熟练</el-radio></div>
434
+            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar04', !isStaff)">精通</el-radio></div>
426 435
           </el-radio-group>
427 436
         </td>
428 437
         <td rowspan="5">
429 438
           <div v-if="!isStaff">{{ tableForm.remark04 }}</div>
430
-          <el-input v-if="isStaff" v-model="tableForm.remark04"  type="textarea" :rows="4"></el-input>
439
+          <el-input v-if="isStaff" v-model="tableForm.remark04" type="textarea" :rows="4"></el-input>
431 440
         </td>
432 441
         <!-- 工作量 -->
433 442
         <td rowspan="5">
434 443
           <el-radio-group v-model="tableForm.workload04" :disabled="!isPiLeader">
435 444
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
436 445
               <el-radio :key="dict.value" :label="dict.value"
437
-                @click.native.prevent="cancelSelect(dict.value, 'workload04')">
446
+                @click.native.prevent="cancelSelect(dict.value, 'workload04', isStaff)">
438 447
                 {{ dict.label }}
439 448
               </el-radio>
440 449
             </div>
@@ -443,7 +452,7 @@
443 452
         <td rowspan="5">
444 453
           <el-radio-group v-model="tableForm.skill04" :disabled="!isPiLeader">
445 454
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
446
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill04')">
455
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill04', isStaff)">
447 456
                 {{ dict.label }}
448 457
               </el-radio>
449 458
             </div>
@@ -453,7 +462,7 @@
453 462
           <el-radio-group v-model="tableForm.assessment04" :disabled="!isPiLeader">
454 463
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
455 464
               <el-radio :key="dict.value" :label="dict.value"
456
-                @click.native.prevent="cancelSelect(dict.value, 'assessment04')">
465
+                @click.native.prevent="cancelSelect(dict.value, 'assessment04', isStaff)">
457 466
                 {{ dict.label }}
458 467
               </el-radio>
459 468
             </div>
@@ -509,21 +518,21 @@
509 518
         </td>
510 519
         <td rowspan="3">
511 520
           <el-radio-group v-model="tableForm.familiar05" :disabled="!isStaff">
512
-            <div><el-radio :label="0" @click.native.prevent="cancelSelect(3, 'familiar05',!isStaff)">生疏</el-radio></div>
513
-            <div><el-radio :label="2" @click.native.prevent="cancelSelect(3, 'familiar05',!isStaff)">熟练</el-radio></div>
514
-            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar05',!isStaff)">精通</el-radio></div>
521
+            <div><el-radio :label="0" @click.native.prevent="cancelSelect(3, 'familiar05', !isStaff)">生疏</el-radio></div>
522
+            <div><el-radio :label="2" @click.native.prevent="cancelSelect(3, 'familiar05', !isStaff)">熟练</el-radio></div>
523
+            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar05', !isStaff)">精通</el-radio></div>
515 524
           </el-radio-group>
516 525
         </td>
517 526
         <td rowspan="3">
518 527
           <div v-if="!isStaff">{{ tableForm.remark05 }}</div>
519
-          <el-input v-if="isStaff" v-model="tableForm.remark05"  type="textarea" :rows="4"></el-input>
528
+          <el-input v-if="isStaff" v-model="tableForm.remark05" type="textarea" :rows="4"></el-input>
520 529
         </td>
521 530
         <!-- 工作量 -->
522 531
         <td rowspan="3">
523 532
           <el-radio-group v-model="tableForm.workload05" :disabled="!isPiLeader">
524 533
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
525 534
               <el-radio :key="dict.value" :label="dict.value"
526
-                @click.native.prevent="cancelSelect(dict.value, 'workload05')">
535
+                @click.native.prevent="cancelSelect(dict.value, 'workload05', isStaff)">
527 536
                 {{ dict.label }}
528 537
               </el-radio>
529 538
             </div>
@@ -532,7 +541,7 @@
532 541
         <td rowspan="3">
533 542
           <el-radio-group v-model="tableForm.skill05" :disabled="!isPiLeader">
534 543
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
535
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill05')">
544
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill05', isStaff)">
536 545
                 {{ dict.label }}
537 546
               </el-radio>
538 547
             </div>
@@ -542,7 +551,7 @@
542 551
           <el-radio-group v-model="tableForm.assessment05" :disabled="!isPiLeader">
543 552
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
544 553
               <el-radio :key="dict.value" :label="dict.value"
545
-                @click.native.prevent="cancelSelect(dict.value, 'assessment05')">
554
+                @click.native.prevent="cancelSelect(dict.value, 'assessment05', isStaff)">
546 555
                 {{ dict.label }}
547 556
               </el-radio>
548 557
             </div>
@@ -599,7 +608,7 @@
599 608
 import { JYContent } from '@/assets/datas/JYContent'
600 609
 import { getDicts as getDicts } from '@/api/system/dict/data'
601 610
 export default {
602
-  dicts: ['cmc_role', 'cmc_skill', 'cmc_accessment','cmc_workload'],
611
+  dicts: ['cmc_role', 'cmc_skill', 'cmc_accessment', 'cmc_workload'],
603 612
   props: {
604 613
     tableForm: {
605 614
       type: Object,
@@ -645,7 +654,7 @@ export default {
645 654
         this.isDeptLeader = true;
646 655
         this.isManager = false;
647 656
         this.isStaff = false;
648
-      } else if (this.tableForm.taskName == '分管领导审核') {
657
+      } else if (this.tableForm.taskName == '分管审核') {
649 658
         this.isPiLeader = false;
650 659
         this.isDeptLeader = false;
651 660
         this.isManager = true;
@@ -658,13 +667,14 @@ export default {
658 667
       }
659 668
     },
660 669
     submit() {
661
-      this.formValidate(this.tableForm)
662
-      this.$emit('submit', this.tableForm);
670
+      let flag = this.formValidate(this.tableForm)
671
+      if (flag)
672
+        this.$emit('submit', this.tableForm);
663 673
     },
664 674
     formValidate(form) {
665 675
       let flag = [];
666 676
       for (let f in form) {
667
-        
677
+
668 678
         if (f.startsWith('familiar') && form[f] != null) {
669 679
           flag.push(f.slice(-2));
670 680
         } else if (f.length == 5 && f.startsWith('f')) {
@@ -675,11 +685,15 @@ export default {
675 685
       let isF = false;
676 686
       if (flag.length == 0) {
677 687
         this.$modal.msgError("表格未填写,请填写表格");
678
-        return
688
+      }else{
689
+        isF = true
679 690
       }
691
+      return isF
680 692
     },
681 693
     cancelSelect(value, name, disabled) {
682
-      
694
+      if(disabled){
695
+        return
696
+      }
683 697
       if (this.isStaff) {
684 698
         if (this.tableForm[name] == value) {
685 699
           this.tableForm[name] = null
@@ -692,9 +706,6 @@ export default {
692 706
         }
693 707
       }
694 708
       if (this.isPiLeader) {
695
-        if (disabled) {
696
-          return
697
-        }
698 709
         if (this.tableForm[name] == value) {
699 710
           this.tableForm[name] = null
700 711
         } else {
@@ -714,7 +725,17 @@ export default {
714 725
 }
715 726
 
716 727
 .table-title {
717
-  background-color: #dad4d4;
728
+  background-color: #90d6f1;
729
+  font-weight: bold;
730
+}
731
+
732
+.table-fillin {
733
+  background-color: #bfee93;
734
+  font-weight: bold;
735
+}
736
+
737
+.table-fzr {
738
+  background-color: #eead93;
718 739
   font-weight: bold;
719 740
 }
720 741
 
@@ -726,8 +747,8 @@ td {
726 747
 }
727 748
 
728 749
 td {
729
-  height: 24px;
730
-  width: 100px;
750
+  height: 50px;
751
+  // width: 100px;
731 752
 }
732 753
 
733 754
 .head {
@@ -778,5 +799,4 @@ td {
778 799
   transform: rotate(-45deg);
779 800
   border-radius: 0px;
780 801
   background: none;
781
-}
782
-</style>
802
+}</style>

+ 82
- 67
oa-ui/src/views/flowable/form/jyTable.vue 查看文件

@@ -2,21 +2,14 @@
2 2
   <div style="padding:10px">
3 3
     <h2 style="text-align: center;">经营发展部考核表</h2>
4 4
     <table class="table" ref="tableDatas">
5
-      <tr>
6
-        <td class="table-title">项目编号</td>
7
-        <td colspan="1" style="text-align:left;padding-left:10px;">
8
-          {{ tableForm.projectNumber }}
9
-        </td>
10
-        <td class="table-title">项目名称</td>
11
-        <td colspan="9" style="text-align:left;padding-left:10px;">
12
-          {{ tableForm.projectName }}
13
-        </td>
14
-      </tr>
15 5
       <tr>
16 6
         <td class="table-title">姓名</td>
17 7
         <td style="text-align:left;padding-left:10px;">{{ tableForm.nickName }}</td>
18
-        <td class="table-title">考核年度</td>
19
-        <td> {{ tableForm.assessTime }}</td>
8
+        <td class="table-title" style="width:50px">考核时间</td>
9
+        <td>
10
+          <el-date-picker v-model="tableForm.assessTime" type="month" placeholder="选择日期">
11
+          </el-date-picker>
12
+        </td>
20 13
         <td colspan="3" class="table-title">部门负责人考核意见</td>
21 14
         <td colspan="3" class="table-title" style="width:300px;">分管领导考核意见</td>
22 15
       </tr>
@@ -42,19 +35,25 @@
42 35
         <td class="table-title">部门职务</td>
43 36
         <td colspan="3" style="text-align:left;padding-left:10px;">{{ tableForm.postGroup }}</td>
44 37
         <td colspan="3" rowspan="3">
45
-          <el-input type="textarea" :rows="4" placeholder="请输入考核意见" v-model="tableForm.deptAdvice" :disabled="!isDeptLeader">
38
+          <el-input type="textarea" :rows="4" placeholder="请输入考核意见" v-model="tableForm.deptAdvice"
39
+            :disabled="!isDeptLeader">
46 40
           </el-input>
47 41
           <el-row justify="center" type="flex">
48
-            <el-col :span="12">考核人:<el-input v-model="tableForm.deptAssesser" style="width:150px;" placeholder="请输入考核人" :disabled="!isDeptLeader"></el-input> </el-col>
49
-            <el-col :span="12">日期:<el-date-picker type="date"  placeholder="请选择考核日期" v-model="tableForm.deptTime" style="width:150px;" :disabled="!isDeptLeader"></el-date-picker> </el-col>
42
+            <el-col :span="12">考核人:<el-input v-model="tableForm.deptAssesser" style="width:150px;" placeholder="请输入考核人"
43
+                :disabled="!isDeptLeader"></el-input> </el-col>
44
+            <el-col :span="12">日期:<el-date-picker type="date" placeholder="请选择考核日期" v-model="tableForm.deptTime"
45
+                style="width:150px;" :disabled="!isDeptLeader"></el-date-picker> </el-col>
50 46
           </el-row>
51 47
         </td>
52 48
         <td colspan="3" rowspan="3">
53
-          <el-input type="textarea" :rows="4" placeholder="请输入考核意见" v-model="tableForm.managerAdvice" :disabled="!isManager">
49
+          <el-input type="textarea" :rows="4" placeholder="请输入考核意见" v-model="tableForm.managerAdvice"
50
+            :disabled="!isManager">
54 51
           </el-input>
55 52
           <el-row justify="center">
56
-            <el-col :span="12">考核人:<el-input v-model="tableForm.managerAssesser" style="width:150px;" placeholder="请输入考核人" :disabled="!isManager"></el-input></el-col>
57
-            <el-col :span="12">日期:<el-date-picker type="date"  placeholder="请选择考核日期" v-model="tableForm.managerTime" style="width:150px;" :disabled="!isManager"></el-date-picker></el-col>
53
+            <el-col :span="12">考核人:<el-input v-model="tableForm.managerAssesser" style="width:150px;" placeholder="请输入考核人"
54
+                :disabled="!isManager"></el-input></el-col>
55
+            <el-col :span="12">日期:<el-date-picker type="date" placeholder="请选择考核日期" v-model="tableForm.managerTime"
56
+                style="width:150px;" :disabled="!isManager"></el-date-picker></el-col>
58 57
           </el-row>
59 58
         </td>
60 59
       </tr>
@@ -70,18 +69,18 @@
70 69
       </tr>
71 70
       <tr>
72 71
         <td rowspan="2" class="table-title">考核内容</td>
73
-        <td colspan="5" class="table-title">被考核人填写</td>
74
-        <td colspan="3" class="table-title">项目负责人考核</td>
72
+        <td colspan="5" class="table-fillin">被考核人填写</td>
73
+        <td colspan="3" class="table-fzr">负责人考核</td>
75 74
       </tr>
76 75
       <tr>
77
-        <td class="table-title">等级、比例尺等</td>
78
-        <td class="table-title">单位</td>
79
-        <td class="table-title">工作量</td>
80
-        <td class="table-title">熟练程度</td>
81
-        <td class="table-title">备注</td>
82
-        <td class="table-title">工作量</td>
83
-        <td class="table-title">岗位综合表现</td>
84
-        <td class="table-title">考核建议</td>
76
+        <td class="table-fillin">等级、比例尺等</td>
77
+        <td class="table-fillin">单位</td>
78
+        <td class="table-fillin">工作量</td>
79
+        <td class="table-fillin">熟练程度</td>
80
+        <td class="table-fillin">备注</td>
81
+        <td class="table-fzr">工作量</td>
82
+        <td class="table-fzr">岗位综合表现</td>
83
+        <td class="table-fzr">考核建议</td>
85 84
       </tr>
86 85
       <tr>
87 86
         <td rowspan="6">参与生产</td>
@@ -93,36 +92,37 @@
93 92
         </td>
94 93
         <td rowspan="6">
95 94
           <el-radio-group v-model="tableForm.familiar01" :disabled="!isStaff">
96
-            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar01',!isStaff)">生疏</el-radio></div>
97
-            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar01',!isStaff)">熟练</el-radio></div>
98
-            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar01',!isStaff)">精通</el-radio></div>
95
+            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar01', !isStaff)">生疏</el-radio></div>
96
+            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar01', !isStaff)">熟练</el-radio></div>
97
+            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar01', !isStaff)">精通</el-radio></div>
99 98
           </el-radio-group>
100 99
         </td>
101
-        
100
+
102 101
         <td rowspan="6">
103 102
           <div v-if="!isStaff">{{ tableForm.remark01 }}</div>
104
-          <el-input v-if="isStaff" v-model="tableForm.remark01"  type="textarea" :rows="4"></el-input>
103
+          <el-input v-if="isStaff" v-model="tableForm.remark01" type="textarea" :rows="4"></el-input>
105 104
         </td>
106 105
         <td rowspan="6">
107 106
           <el-radio-group v-model="tableForm.workload01" :disabled="!isPiLeader">
108 107
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
109
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload01')">
108
+              <el-radio :key="dict.value" :label="dict.value"
109
+                @click.native.prevent="cancelSelect(dict.value, 'workload01', isStaff)">
110 110
                 {{ dict.label }}
111 111
               </el-radio>
112 112
             </div>
113 113
           </el-radio-group>
114 114
         </td>
115 115
         <td rowspan="6">
116
-          <el-radio-group v-model="tableForm.accessment01" :disabled="!isPiLeader">
116
+          <el-radio-group v-model="tableForm.assessment01" :disabled="!isPiLeader">
117 117
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
118 118
               <el-radio :key="dict.value" :label="dict.value"
119
-                @click.native.prevent="cancelSelect(dict.value, 'accessment01')">
119
+                @click.native.prevent="cancelSelect(dict.value, 'assessment01', isStaff)">
120 120
                 {{ dict.label }}
121 121
               </el-radio>
122 122
             </div>
123 123
           </el-radio-group>
124 124
         </td>
125
-        <td rowspan="6" >
125
+        <td rowspan="6">
126 126
           <el-input type="textarea" :rows="4" v-model="tableForm.advice01" :disabled="!isPiLeader">
127 127
           </el-input>
128 128
         </td>
@@ -178,29 +178,30 @@
178 178
         </td>
179 179
         <td rowspan="3">
180 180
           <el-radio-group v-model="tableForm.familiar02" :disabled="!isStaff">
181
-            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar02',!isStaff)">生疏</el-radio></div>
182
-            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar02',!isStaff)">熟练</el-radio></div>
183
-            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar02',!isStaff)">精通</el-radio></div>
181
+            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar02', !isStaff)">生疏</el-radio></div>
182
+            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar02', !isStaff)">熟练</el-radio></div>
183
+            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar02', !isStaff)">精通</el-radio></div>
184 184
           </el-radio-group>
185 185
         </td>
186 186
         <td rowspan="3">
187 187
           <div v-if="!isStaff">{{ tableForm.remark02 }}</div>
188
-          <el-input v-if="isStaff" v-model="tableForm.remark02"  type="textarea" :rows="4"></el-input>
188
+          <el-input v-if="isStaff" v-model="tableForm.remark02" type="textarea" :rows="4"></el-input>
189 189
         </td>
190 190
         <td rowspan="3">
191 191
           <el-radio-group v-model="tableForm.workload02" :disabled="!isPiLeader">
192 192
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
193
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload02')">
193
+              <el-radio :key="dict.value" :label="dict.value"
194
+                @click.native.prevent="cancelSelect(dict.value, 'workload02', isStaff)">
194 195
                 {{ dict.label }}
195 196
               </el-radio>
196 197
             </div>
197 198
           </el-radio-group>
198 199
         </td>
199 200
         <td rowspan="3">
200
-          <el-radio-group v-model="tableForm.accessment02" :disabled="!isPiLeader">
201
+          <el-radio-group v-model="tableForm.assessment02" :disabled="!isPiLeader">
201 202
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
202 203
               <el-radio :key="dict.value" :label="dict.value"
203
-                @click.native.prevent="cancelSelect(dict.value, 'accessment02')">
204
+                @click.native.prevent="cancelSelect(dict.value, 'assessment02', isStaff)">
204 205
                 {{ dict.label }}
205 206
               </el-radio>
206 207
             </div>
@@ -237,29 +238,30 @@
237 238
         </td>
238 239
         <td rowspan="3">
239 240
           <el-radio-group v-model="tableForm.familiar03" :disabled="!isStaff">
240
-            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar03',!isStaff)">生疏</el-radio></div>
241
-            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar03',!isStaff)">熟练</el-radio></div>
242
-            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar03',!isStaff)">精通</el-radio></div>
241
+            <div><el-radio :label="0" @click.native.prevent="cancelSelect(0, 'familiar03', !isStaff)">生疏</el-radio></div>
242
+            <div><el-radio :label="2" @click.native.prevent="cancelSelect(2, 'familiar03', !isStaff)">熟练</el-radio></div>
243
+            <div><el-radio :label="3" @click.native.prevent="cancelSelect(3, 'familiar03', !isStaff)">精通</el-radio></div>
243 244
           </el-radio-group>
244 245
         </td>
245 246
         <td rowspan="3">
246 247
           <div v-if="!isStaff">{{ tableForm.remark03 }}</div>
247
-          <el-input v-if="isStaff" v-model="tableForm.remark03"  type="textarea" :rows="4"></el-input>
248
+          <el-input v-if="isStaff" v-model="tableForm.remark03" type="textarea" :rows="4"></el-input>
248 249
         </td>
249 250
         <td rowspan="3">
250 251
           <el-radio-group v-model="tableForm.workload03" :disabled="!isPiLeader">
251 252
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
252
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload03')">
253
+              <el-radio :key="dict.value" :label="dict.value"
254
+                @click.native.prevent="cancelSelect(dict.value, 'workload03', isStaff)">
253 255
                 {{ dict.label }}
254 256
               </el-radio>
255 257
             </div>
256 258
           </el-radio-group>
257 259
         </td>
258 260
         <td rowspan="3">
259
-          <el-radio-group v-model="tableForm.accessment03" :disabled="!isPiLeader">
261
+          <el-radio-group v-model="tableForm.assessment03" :disabled="!isPiLeader">
260 262
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
261 263
               <el-radio :key="dict.value" :label="dict.value"
262
-                @click.native.prevent="cancelSelect(dict.value, 'accessment03')">
264
+                @click.native.prevent="cancelSelect(dict.value, 'assessment03', isStaff)">
263 265
                 {{ dict.label }}
264 266
               </el-radio>
265 267
             </div>
@@ -314,7 +316,7 @@
314 316
 import { JYContent } from '@/assets/datas/JYContent'
315 317
 import { getDicts as getDicts } from '@/api/system/dict/data'
316 318
 export default {
317
-  dicts: ['cmc_role', 'cmc_skill', 'cmc_accessment','cmc_workload'],
319
+  dicts: ['cmc_role', 'cmc_skill', 'cmc_accessment', 'cmc_workload'],
318 320
   props: {
319 321
     tableForm: {
320 322
       type: Object,
@@ -347,7 +349,7 @@ export default {
347 349
   },
348 350
   methods: {
349 351
     initForm() {
350
-
352
+      console.log(this.tableForm);
351 353
     },
352 354
     formatForm() {
353 355
       if (this.tableForm.taskName == '负责人审核') {
@@ -360,7 +362,7 @@ export default {
360 362
         this.isDeptLeader = true;
361 363
         this.isManager = false;
362 364
         this.isStaff = false;
363
-      } else if (this.tableForm.taskName == '分管领导审核') {
365
+      } else if (this.tableForm.taskName == '分管审核') {
364 366
         this.isPiLeader = false;
365 367
         this.isDeptLeader = false;
366 368
         this.isManager = true;
@@ -373,13 +375,14 @@ export default {
373 375
       }
374 376
     },
375 377
     submit() {
376
-      this.formValidate(this.tableForm)
377
-      this.$emit('submit', this.tableForm);
378
+      let flag = this.formValidate(this.tableForm)
379
+      if (flag)
380
+        this.$emit('submit', this.tableForm);
378 381
     },
379 382
     formValidate(form) {
380 383
       let flag = [];
381 384
       for (let f in form) {
382
-        
385
+
383 386
         if (f.startsWith('familiar') && form[f] != null) {
384 387
           flag.push(f.slice(-2));
385 388
         } else if (f.length == 5 && f.startsWith('f')) {
@@ -390,11 +393,15 @@ export default {
390 393
       let isF = false;
391 394
       if (flag.length == 0) {
392 395
         this.$modal.msgError("表格未填写,请填写表格");
393
-        return
396
+      }else{
397
+        isF = true
394 398
       }
399
+      return isF
395 400
     },
396 401
     cancelSelect(value, name, disabled) {
397
-      
402
+      if(disabled){
403
+        return
404
+      }
398 405
       if (this.isStaff) {
399 406
         if (this.tableForm[name] == value) {
400 407
           this.tableForm[name] = null
@@ -407,9 +414,6 @@ export default {
407 414
         }
408 415
       }
409 416
       if (this.isPiLeader) {
410
-        if (disabled) {
411
-          return
412
-        }
413 417
         if (this.tableForm[name] == value) {
414 418
           this.tableForm[name] = null
415 419
         } else {
@@ -429,9 +433,21 @@ export default {
429 433
 }
430 434
 
431 435
 .table-title {
432
-  background-color: #dad4d4;
436
+  background-color: #90d6f1;
437
+  font-weight: bold;
433 438
 }
434 439
 
440
+.table-fillin {
441
+  background-color: #bfee93;
442
+  font-weight: bold;
443
+}
444
+
445
+.table-fzr {
446
+  background-color: #eead93;
447
+  font-weight: bold;
448
+}
449
+
450
+
435 451
 .table,
436 452
 th,
437 453
 td {
@@ -440,8 +456,8 @@ td {
440 456
 }
441 457
 
442 458
 td {
443
-  height: 24px;
444
-  width: 100px;
459
+  height: 50px;
460
+  // width: 100px;
445 461
 }
446 462
 
447 463
 .head {
@@ -492,5 +508,4 @@ td {
492 508
   transform: rotate(-45deg);
493 509
   border-radius: 0px;
494 510
   background: none;
495
-}
496
-</style>
511
+}</style>

+ 79
- 61
oa-ui/src/views/flowable/form/scTable.vue 查看文件

@@ -23,8 +23,11 @@
23 23
       <tr>
24 24
         <td class="table-title">姓名</td>
25 25
         <td style="text-align:left;padding-left:10px;">{{ tableForm.nickName }}</td>
26
-        <td class="table-title">考核年度</td>
27
-        <td> {{ tableForm.assessTime }}</td>
26
+        <td class="table-title" style="width:50px">考核时间</td>
27
+        <td>
28
+          <el-date-picker v-model="tableForm.assessTime" type="month" placeholder="选择日期">
29
+          </el-date-picker>
30
+        </td>
28 31
         <td colspan="3" class="table-title">部门负责人考核意见</td>
29 32
         <td colspan="3" class="table-title">分管领导考核意见</td>
30 33
       </tr>
@@ -91,20 +94,20 @@
91 94
         <td style="text-align:left;padding-left:10px;">{{ tableForm.age }}</td>
92 95
       </tr>
93 96
       <tr>
94
-        <td rowspan="2" class="table-title">考核内容</td>
95
-        <td colspan="6" class="table-title">被考核人填写</td>
96
-        <td colspan="3" class="table-title">项目负责人考核</td>
97
+        <td rowspan="2" class="table-title" style="width:100px">考核内容</td>
98
+        <td colspan="6" class="table-fillin">被考核人填写</td>
99
+        <td colspan="3" class="table-fzr">项目负责人考核</td>
97 100
       </tr>
98 101
       <tr>
99
-        <td class="table-title">等级、比例尺等</td>
100
-        <td class="table-title">单位</td>
101
-        <td class="table-title">工作量</td>
102
-        <td class="table-title">熟练程度</td>
103
-        <td class="table-title">承担角色</td>
104
-        <td class="table-title">备注</td>
105
-        <td class="table-title">产品质量</td>
106
-        <td class="table-title">技能掌握</td>
107
-        <td class="table-title">考核建议</td>
102
+        <td class="table-fillin">等级、比例尺等</td>
103
+        <td class="table-fillin">单位</td>
104
+        <td class="table-fillin">工作量</td>
105
+        <td class="table-fillin">熟练程度</td>
106
+        <td class="table-fillin">承担角色</td>
107
+        <td class="table-fillin">备注</td>
108
+        <td class="table-fzr">产品质量</td>
109
+        <td class="table-fzr">技能掌握</td>
110
+        <td class="table-fzr">考核建议</td>
108 111
       </tr>
109 112
       <tr>
110 113
         <td rowspan="5">项目负责</td>
@@ -137,7 +140,7 @@
137 140
           <el-radio-group v-model="tableForm.quality01" :disabled="!isPiLeader">
138 141
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
139 142
               <el-radio :key="dict.value" :label="dict.value"
140
-                @click.native.prevent="cancelSelect(dict.value, 'quality01')">
143
+                @click.native.prevent="cancelSelect(dict.value, 'quality01', isStaff)">
141 144
                 {{ dict.label }}
142 145
               </el-radio>
143 146
             </div>
@@ -146,7 +149,7 @@
146 149
         <td rowspan="5">
147 150
           <el-radio-group v-model="tableForm.skill01" :disabled="!isPiLeader">
148 151
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
149
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill01')">
152
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill01', isStaff)">
150 153
                 {{ dict.label }}
151 154
               </el-radio>
152 155
             </div>
@@ -224,7 +227,7 @@
224 227
           <el-radio-group v-model="tableForm.quality02" :disabled="!isPiLeader">
225 228
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
226 229
               <el-radio :key="dict.value" :label="dict.value"
227
-                @click.native.prevent="cancelSelect(dict.value, 'quality02')">
230
+                @click.native.prevent="cancelSelect(dict.value, 'quality02', isStaff)">
228 231
                 {{ dict.label }}
229 232
               </el-radio>
230 233
             </div>
@@ -233,7 +236,7 @@
233 236
         <td rowspan="10">
234 237
           <el-radio-group v-model="tableForm.skill02" :disabled="!isPiLeader">
235 238
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
236
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill02')">
239
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill02', isStaff)">
237 240
                 {{ dict.label }}
238 241
               </el-radio>
239 242
             </div>
@@ -348,7 +351,7 @@
348 351
           <el-radio-group v-model="tableForm.quality03" :disabled="!isPiLeader">
349 352
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
350 353
               <el-radio :key="dict.value" :label="dict.value"
351
-                @click.native.prevent="cancelSelect(dict.value, 'quality03')">
354
+                @click.native.prevent="cancelSelect(dict.value, 'quality03', isStaff)">
352 355
                 {{ dict.label }}
353 356
               </el-radio>
354 357
             </div>
@@ -357,7 +360,7 @@
357 360
         <td rowspan="5">
358 361
           <el-radio-group v-model="tableForm.skill03" :disabled="!isPiLeader">
359 362
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
360
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill03')">
363
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill03', isStaff)">
361 364
                 {{ dict.label }}
362 365
               </el-radio>
363 366
             </div>
@@ -432,7 +435,7 @@
432 435
           <el-radio-group v-model="tableForm.quality04" :disabled="!isPiLeader">
433 436
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
434 437
               <el-radio :key="dict.value" :label="dict.value"
435
-                @click.native.prevent="cancelSelect(dict.value, 'quality04')">
438
+                @click.native.prevent="cancelSelect(dict.value, 'quality04', isStaff)">
436 439
                 {{ dict.label }}
437 440
               </el-radio>
438 441
             </div>
@@ -441,7 +444,7 @@
441 444
         <td rowspan="4">
442 445
           <el-radio-group v-model="tableForm.skill04" :disabled="!isPiLeader">
443 446
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
444
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill04')">
447
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill04', isStaff)">
445 448
                 {{ dict.label }}
446 449
               </el-radio>
447 450
             </div>
@@ -505,7 +508,7 @@
505 508
           <el-radio-group v-model="tableForm.quality05" :disabled="!isPiLeader">
506 509
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
507 510
               <el-radio :key="dict.value" :label="dict.value"
508
-                @click.native.prevent="cancelSelect(dict.value, 'quality05')">
511
+                @click.native.prevent="cancelSelect(dict.value, 'quality05', isStaff)">
509 512
                 {{ dict.label }}
510 513
               </el-radio>
511 514
             </div>
@@ -514,7 +517,7 @@
514 517
         <td rowspan="6">
515 518
           <el-radio-group v-model="tableForm.skill05" :disabled="!isPiLeader">
516 519
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
517
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill05')">
520
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill05', isStaff)">
518 521
                 {{ dict.label }}
519 522
               </el-radio>
520 523
             </div>
@@ -593,7 +596,7 @@
593 596
           <el-radio-group v-model="tableForm.quality06" :disabled="!isPiLeader">
594 597
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
595 598
               <el-radio :key="dict.value" :label="dict.value"
596
-                @click.native.prevent="cancelSelect(dict.value, 'quality06')">
599
+                @click.native.prevent="cancelSelect(dict.value, 'quality06', isStaff)">
597 600
                 {{ dict.label }}
598 601
               </el-radio>
599 602
             </div>
@@ -602,7 +605,7 @@
602 605
         <td rowspan="6">
603 606
           <el-radio-group v-model="tableForm.skill06" :disabled="!isPiLeader">
604 607
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
605
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill06')">
608
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill06', isStaff)">
606 609
                 {{ dict.label }}
607 610
               </el-radio>
608 611
             </div>
@@ -681,7 +684,7 @@
681 684
           <el-radio-group v-model="tableForm.quality07" :disabled="!isPiLeader">
682 685
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
683 686
               <el-radio :key="dict.value" :label="dict.value"
684
-                @click.native.prevent="cancelSelect(dict.value, 'quality07')">
687
+                @click.native.prevent="cancelSelect(dict.value, 'quality07', isStaff)">
685 688
                 {{ dict.label }}
686 689
               </el-radio>
687 690
             </div>
@@ -690,7 +693,7 @@
690 693
         <td rowspan="4">
691 694
           <el-radio-group v-model="tableForm.skill07" :disabled="!isPiLeader">
692 695
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
693
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill07')">
696
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill07', isStaff)">
694 697
                 {{ dict.label }}
695 698
               </el-radio>
696 699
             </div>
@@ -754,7 +757,7 @@
754 757
           <el-radio-group v-model="tableForm.quality08" :disabled="!isPiLeader">
755 758
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
756 759
               <el-radio :key="dict.value" :label="dict.value"
757
-                @click.native.prevent="cancelSelect(dict.value, 'quality08')">
760
+                @click.native.prevent="cancelSelect(dict.value, 'quality08', isStaff)">
758 761
                 {{ dict.label }}
759 762
               </el-radio>
760 763
             </div>
@@ -763,7 +766,7 @@
763 766
         <td rowspan="3">
764 767
           <el-radio-group v-model="tableForm.skill08" :disabled="!isPiLeader">
765 768
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
766
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill08')">
769
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill08', isStaff)">
767 770
                 {{ dict.label }}
768 771
               </el-radio>
769 772
             </div>
@@ -820,7 +823,7 @@
820 823
           <el-radio-group v-model="tableForm.quality09" :disabled="!isPiLeader">
821 824
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
822 825
               <el-radio :key="dict.value" :label="dict.value"
823
-                @click.native.prevent="cancelSelect(dict.value, 'quality09')">
826
+                @click.native.prevent="cancelSelect(dict.value, 'quality09', isStaff)">
824 827
                 {{ dict.label }}
825 828
               </el-radio>
826 829
             </div>
@@ -829,7 +832,7 @@
829 832
         <td rowspan="6">
830 833
           <el-radio-group v-model="tableForm.skill09" :disabled="!isPiLeader">
831 834
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
832
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill09')">
835
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill09', isStaff)">
833 836
                 {{ dict.label }}
834 837
               </el-radio>
835 838
             </div>
@@ -909,7 +912,7 @@
909 912
           <el-radio-group v-model="tableForm.quality10" :disabled="!isPiLeader">
910 913
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
911 914
               <el-radio :key="dict.value" :label="dict.value"
912
-                @click.native.prevent="cancelSelect(dict.value, 'quality10')">
915
+                @click.native.prevent="cancelSelect(dict.value, 'quality10', isStaff)">
913 916
                 {{ dict.label }}
914 917
               </el-radio>
915 918
             </div>
@@ -918,7 +921,7 @@
918 921
         <td rowspan="5">
919 922
           <el-radio-group v-model="tableForm.skill10" :disabled="!isPiLeader">
920 923
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
921
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill10')">
924
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill10', isStaff)">
922 925
                 {{ dict.label }}
923 926
               </el-radio>
924 927
             </div>
@@ -990,7 +993,7 @@
990 993
           <el-radio-group v-model="tableForm.quality11" :disabled="!isPiLeader">
991 994
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
992 995
               <el-radio :key="dict.value" :label="dict.value"
993
-                @click.native.prevent="cancelSelect(dict.value, 'quality11')">
996
+                @click.native.prevent="cancelSelect(dict.value, 'quality11', isStaff)">
994 997
                 {{ dict.label }}
995 998
               </el-radio>
996 999
             </div>
@@ -999,7 +1002,7 @@
999 1002
         <td rowspan="6">
1000 1003
           <el-radio-group v-model="tableForm.skill11" :disabled="!isPiLeader">
1001 1004
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
1002
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill11')">
1005
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill11', isStaff)">
1003 1006
                 {{ dict.label }}
1004 1007
               </el-radio>
1005 1008
             </div>
@@ -1079,7 +1082,7 @@
1079 1082
           <el-radio-group v-model="tableForm.quality12" :disabled="!isPiLeader">
1080 1083
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
1081 1084
               <el-radio :key="dict.value" :label="dict.value"
1082
-                @click.native.prevent="cancelSelect(dict.value, 'quality12')">
1085
+                @click.native.prevent="cancelSelect(dict.value, 'quality12', isStaff)">
1083 1086
                 {{ dict.label }}
1084 1087
               </el-radio>
1085 1088
             </div>
@@ -1088,7 +1091,7 @@
1088 1091
         <td rowspan="5">
1089 1092
           <el-radio-group v-model="tableForm.skill12" :disabled="!isPiLeader">
1090 1093
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
1091
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill12')">
1094
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill12', isStaff)">
1092 1095
                 {{ dict.label }}
1093 1096
               </el-radio>
1094 1097
             </div>
@@ -1160,7 +1163,7 @@
1160 1163
           <el-radio-group v-model="tableForm.quality13" :disabled="!isPiLeader">
1161 1164
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
1162 1165
               <el-radio :key="dict.value" :label="dict.value"
1163
-                @click.native.prevent="cancelSelect(dict.value, 'quality13')">
1166
+                @click.native.prevent="cancelSelect(dict.value, 'quality13', isStaff)">
1164 1167
                 {{ dict.label }}
1165 1168
               </el-radio>
1166 1169
             </div>
@@ -1169,7 +1172,7 @@
1169 1172
         <td rowspan="6">
1170 1173
           <el-radio-group v-model="tableForm.skill13" :disabled="!isPiLeader">
1171 1174
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
1172
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill13')">
1175
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill13', isStaff)">
1173 1176
                 {{ dict.label }}
1174 1177
               </el-radio>
1175 1178
             </div>
@@ -1249,7 +1252,7 @@
1249 1252
           <el-radio-group v-model="tableForm.quality14" :disabled="!isPiLeader">
1250 1253
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
1251 1254
               <el-radio :key="dict.value" :label="dict.value"
1252
-                @click.native.prevent="cancelSelect(dict.value, 'quality14')">
1255
+                @click.native.prevent="cancelSelect(dict.value, 'quality14', isStaff)">
1253 1256
                 {{ dict.label }}
1254 1257
               </el-radio>
1255 1258
             </div>
@@ -1258,7 +1261,7 @@
1258 1261
         <td rowspan="6">
1259 1262
           <el-radio-group v-model="tableForm.skill14" :disabled="!isPiLeader">
1260 1263
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
1261
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill14')">
1264
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill14', isStaff)">
1262 1265
                 {{ dict.label }}
1263 1266
               </el-radio>
1264 1267
             </div>
@@ -1338,7 +1341,7 @@
1338 1341
           <el-radio-group v-model="tableForm.quality15" :disabled="!isPiLeader">
1339 1342
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
1340 1343
               <el-radio :key="dict.value" :label="dict.value"
1341
-                @click.native.prevent="cancelSelect(dict.value, 'quality15')">
1344
+                @click.native.prevent="cancelSelect(dict.value, 'quality15', isStaff)">
1342 1345
                 {{ dict.label }}
1343 1346
               </el-radio>
1344 1347
             </div>
@@ -1347,7 +1350,7 @@
1347 1350
         <td rowspan="6">
1348 1351
           <el-radio-group v-model="tableForm.skill15" :disabled="!isPiLeader">
1349 1352
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
1350
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill15')">
1353
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill15', isStaff)">
1351 1354
                 {{ dict.label }}
1352 1355
               </el-radio>
1353 1356
             </div>
@@ -1427,7 +1430,7 @@
1427 1430
           <el-radio-group v-model="tableForm.quality16" :disabled="!isPiLeader">
1428 1431
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
1429 1432
               <el-radio :key="dict.value" :label="dict.value"
1430
-                @click.native.prevent="cancelSelect(dict.value, 'quality16')">
1433
+                @click.native.prevent="cancelSelect(dict.value, 'quality16', isStaff)">
1431 1434
                 {{ dict.label }}
1432 1435
               </el-radio>
1433 1436
             </div>
@@ -1436,7 +1439,7 @@
1436 1439
         <td rowspan="4">
1437 1440
           <el-radio-group v-model="tableForm.skill16" :disabled="!isPiLeader">
1438 1441
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
1439
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill16')">
1442
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill16', isStaff)">
1440 1443
                 {{ dict.label }}
1441 1444
               </el-radio>
1442 1445
             </div>
@@ -1499,7 +1502,7 @@
1499 1502
           <el-radio-group v-model="tableForm.quality17" :disabled="!isPiLeader">
1500 1503
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
1501 1504
               <el-radio :key="dict.value" :label="dict.value"
1502
-                @click.native.prevent="cancelSelect(dict.value, 'quality17')">
1505
+                @click.native.prevent="cancelSelect(dict.value, 'quality17', isStaff)">
1503 1506
                 {{ dict.label }}
1504 1507
               </el-radio>
1505 1508
             </div>
@@ -1508,7 +1511,7 @@
1508 1511
         <td rowspan="5">
1509 1512
           <el-radio-group v-model="tableForm.skill17" :disabled="!isPiLeader">
1510 1513
             <div v-for="dict in dict.type.cmc_skill" style="text-align:left">
1511
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill17')">
1514
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'skill17', isStaff)">
1512 1515
                 {{ dict.label }}
1513 1516
               </el-radio>
1514 1517
             </div>
@@ -1669,10 +1672,10 @@ export default {
1669 1672
       }
1670 1673
     },
1671 1674
     // 初始化tableForm,得到承担角色的值
1672
-    initTableFormFromForm(){
1673
-      for(let f in this.form){
1674
-        if(this.form[f] != "" && this.form[f] != undefined && this.form[f] != null){
1675
-          this.tableForm[f]  = this.form[f];
1675
+    initTableFormFromForm() {
1676
+      for (let f in this.form) {
1677
+        if (this.form[f] != "" && this.form[f] != undefined && this.form[f] != null) {
1678
+          this.tableForm[f] = this.form[f];
1676 1679
         }
1677 1680
       }
1678 1681
     },
@@ -1686,11 +1689,14 @@ export default {
1686 1689
       })
1687 1690
     },
1688 1691
     submit() {
1689
-        this.formValidate(this.tableForm)
1692
+      let flag = this.formValidate(this.tableForm)
1693
+      if (flag) {
1690 1694
         this.assignmentToTableForm();
1691 1695
         this.initTableFormFromForm();
1692 1696
         console.log(this.tableForm);
1693 1697
         this.$emit('submit', this.tableForm);
1698
+      }
1699
+
1694 1700
     },
1695 1701
     formValidate(form) {
1696 1702
       let flag = [];
@@ -1705,11 +1711,15 @@ export default {
1705 1711
       let isF = false;
1706 1712
       if (flag.length == 0) {
1707 1713
         this.$modal.msgError("表格未填写,请填写表格");
1708
-        return
1714
+      } else {
1715
+        isF = true
1709 1716
       }
1717
+      return isF
1710 1718
     },
1711 1719
     cancelSelect(value, name, disabled) {
1712
-      
1720
+      if(disabled){
1721
+        return
1722
+      }
1713 1723
       if (this.isStaff) {
1714 1724
         if (this.tableForm[name] == value) {
1715 1725
           this.tableForm[name] = null
@@ -1722,9 +1732,6 @@ export default {
1722 1732
         }
1723 1733
       }
1724 1734
       if (this.isPiLeader) {
1725
-        if (disabled) {
1726
-          return
1727
-        }
1728 1735
         if (this.tableForm[name] == value) {
1729 1736
           this.tableForm[name] = null
1730 1737
         } else {
@@ -1744,7 +1751,18 @@ export default {
1744 1751
 }
1745 1752
 
1746 1753
 .table-title {
1747
-  background-color: #dad4d4;
1754
+  background-color: #90d6f1;
1755
+  font-weight: bold;
1756
+}
1757
+
1758
+.table-fillin {
1759
+  background-color: #bfee93;
1760
+  font-weight: bold;
1761
+}
1762
+
1763
+.table-fzr {
1764
+  background-color: #eead93;
1765
+  font-weight: bold;
1748 1766
 }
1749 1767
 
1750 1768
 .table,
@@ -1755,8 +1773,8 @@ td {
1755 1773
 }
1756 1774
 
1757 1775
 td {
1758
-  height: 24px;
1759
-  width: 100px;
1776
+  height: 50px;
1777
+  // width: 100px;
1760 1778
 }
1761 1779
 
1762 1780
 .head {

+ 100
- 50
oa-ui/src/views/flowable/form/xmTable.vue 查看文件

@@ -5,8 +5,11 @@
5 5
       <tr>
6 6
         <td class="table-title">姓名</td>
7 7
         <td style="text-align:left;padding-left:10px;">{{ tableForm.nickName }}</td>
8
-        <td class="table-title">考核年度</td>
9
-        <td> {{ tableForm.assessTime }}</td>
8
+        <td class="table-title" style="width:50px">考核时间</td>
9
+        <td>
10
+          <el-date-picker v-model="tableForm.assessTime" type="month" placeholder="选择日期">
11
+          </el-date-picker>
12
+        </td>
10 13
         <td colspan="3" class="table-title">部门负责人考核意见</td>
11 14
         <td colspan="3" class="table-title" style="width:300px;">分管领导考核意见</td>
12 15
       </tr>
@@ -32,19 +35,25 @@
32 35
         <td class="table-title">部门职务</td>
33 36
         <td colspan="3" style="text-align:left;padding-left:10px;">{{ tableForm.postGroup }}</td>
34 37
         <td colspan="3" rowspan="3">
35
-          <el-input type="textarea" :rows="4" placeholder="请输入考核意见" v-model="tableForm.deptAdvice" :disabled="!isDeptLeader">
38
+          <el-input type="textarea" :rows="4" placeholder="请输入考核意见" v-model="tableForm.deptAdvice"
39
+            :disabled="!isDeptLeader">
36 40
           </el-input>
37 41
           <el-row justify="center" type="flex">
38
-            <el-col :span="12">考核人:<el-input v-model="tableForm.deptAssesser" style="width:150px;" placeholder="请输入考核人" :disabled="!isDeptLeader"></el-input> </el-col>
39
-            <el-col :span="12">日期:<el-date-picker type="date"  placeholder="请选择考核日期" v-model="tableForm.deptTime" style="width:150px;" :disabled="!isDeptLeader"></el-date-picker> </el-col>
42
+            <el-col :span="12">考核人:<el-input v-model="tableForm.deptAssesser" style="width:150px;" placeholder="请输入考核人"
43
+                :disabled="!isDeptLeader"></el-input> </el-col>
44
+            <el-col :span="12">日期:<el-date-picker type="date" placeholder="请选择考核日期" v-model="tableForm.deptTime"
45
+                style="width:150px;" :disabled="!isDeptLeader"></el-date-picker> </el-col>
40 46
           </el-row>
41 47
         </td>
42 48
         <td colspan="3" rowspan="3">
43
-          <el-input type="textarea" :rows="4" placeholder="请输入考核意见" v-model="tableForm.managerAdvice" :disabled="!isManager">
49
+          <el-input type="textarea" :rows="4" placeholder="请输入考核意见" v-model="tableForm.managerAdvice"
50
+            :disabled="!isManager">
44 51
           </el-input>
45 52
           <el-row justify="center">
46
-            <el-col :span="12">考核人:<el-input v-model="tableForm.managerAssesser" style="width:150px;" placeholder="请输入考核人" :disabled="!isManager"></el-input></el-col>
47
-            <el-col :span="12">日期:<el-date-picker type="date"  placeholder="请选择考核日期" v-model="tableForm.managerTime" style="width:150px;" :disabled="!isManager"></el-date-picker></el-col>
53
+            <el-col :span="12">考核人:<el-input v-model="tableForm.managerAssesser" style="width:150px;" placeholder="请输入考核人"
54
+                :disabled="!isManager"></el-input></el-col>
55
+            <el-col :span="12">日期:<el-date-picker type="date" placeholder="请选择考核日期" v-model="tableForm.managerTime"
56
+                style="width:150px;" :disabled="!isManager"></el-date-picker></el-col>
48 57
           </el-row>
49 58
         </td>
50 59
       </tr>
@@ -60,18 +69,18 @@
60 69
       </tr>
61 70
       <tr>
62 71
         <td rowspan="2" class="table-title">考核内容</td>
63
-        <td colspan="5" class="table-title">被考核人填写</td>
64
-        <td colspan="3" class="table-title" style="width:300px;">项目负责人考核</td>
72
+        <td colspan="5" class="table-fillin">被考核人填写</td>
73
+        <td colspan="3" class="table-fzr" style="width:300px;">负责人考核</td>
65 74
       </tr>
66 75
       <tr>
67
-        <td class="table-title">工作内容</td>
68
-        <td class="table-title">单位</td>
69
-        <td class="table-title">工作量</td>
70
-        <td class="table-title">熟练程度</td>
71
-        <td class="table-title">备注</td>
72
-        <td class="table-title">工作量</td>
73
-        <td class="table-title">岗位综合表现</td>
74
-        <td class="table-title">考核建议</td>
76
+        <td class="table-fillin">工作内容</td>
77
+        <td class="table-fillin">单位</td>
78
+        <td class="table-fillin">工作量</td>
79
+        <td class="table-fillin">熟练程度</td>
80
+        <td class="table-fillin">备注</td>
81
+        <td class="table-fzr">工作量</td>
82
+        <td class="table-fzr">岗位综合表现</td>
83
+        <td class="table-fzr">考核建议</td>
75 84
       </tr>
76 85
       <tr>
77 86
         <td rowspan="6">参与生产</td>
@@ -88,16 +97,16 @@
88 97
             <div><el-radio :label="3">精通</el-radio></div>
89 98
           </el-radio-group>
90 99
         </td>
91
-        
100
+
92 101
         <td rowspan="6">
93 102
           <div>{{ tableForm.remark01 }}</div>
94
-          <el-input v-if="isStaff" v-model="tableForm.remark01"  type="textarea" :rows="4"></el-input>
103
+          <el-input v-if="isStaff" v-model="tableForm.remark01" type="textarea" :rows="4"></el-input>
95 104
         </td>
96 105
         <td rowspan="6">
97 106
           <el-radio-group v-model="tableForm.workload01" :disabled="!isPiLeader">
98 107
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
99 108
               <el-radio :key="dict.value" :label="dict.value"
100
-                @click.native.prevent="cancelSelect(dict.value, 'workload01')">
109
+                @click.native.prevent="cancelSelect(dict.value, 'workload01', isStaff)">
101 110
                 {{ dict.label }}
102 111
               </el-radio>
103 112
             </div>
@@ -106,13 +115,14 @@
106 115
         <td rowspan="6">
107 116
           <el-radio-group v-model="tableForm.assessment01" :disabled="!isPiLeader">
108 117
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
109
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'assessment01')">
118
+              <el-radio :key="dict.value" :label="dict.value"
119
+                @click.native.prevent="cancelSelect(dict.value, 'assessment01', isStaff)">
110 120
                 {{ dict.label }}
111 121
               </el-radio>
112 122
             </div>
113 123
           </el-radio-group>
114 124
         </td>
115
-        <td rowspan="6" >
125
+        <td rowspan="6">
116 126
           <el-input type="textarea" :rows="4" v-model="tableForm.advice01" :disabled="!isPiLeader">
117 127
           </el-input>
118 128
         </td>
@@ -177,13 +187,13 @@
177 187
         </td>
178 188
         <td rowspan="6">
179 189
           <div>{{ tableForm.remark02 }}</div>
180
-          <el-input v-if="isStaff" v-model="tableForm.remark02"  type="textarea" :rows="4"></el-input>
190
+          <el-input v-if="isStaff" v-model="tableForm.remark02" type="textarea" :rows="4"></el-input>
181 191
         </td>
182 192
         <td rowspan="6">
183 193
           <el-radio-group v-model="tableForm.workload02" :disabled="!isPiLeader">
184 194
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
185 195
               <el-radio :key="dict.value" :label="dict.value"
186
-                @click.native.prevent="cancelSelect(dict.value, 'workload02')">
196
+                @click.native.prevent="cancelSelect(dict.value, 'workload02', isStaff)">
187 197
                 {{ dict.label }}
188 198
               </el-radio>
189 199
             </div>
@@ -192,7 +202,8 @@
192 202
         <td rowspan="6">
193 203
           <el-radio-group v-model="tableForm.assessment02" :disabled="!isPiLeader">
194 204
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
195
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'assessment02')">
205
+              <el-radio :key="dict.value" :label="dict.value"
206
+                @click.native.prevent="cancelSelect(dict.value, 'assessment02', isStaff)">
196 207
                 {{ dict.label }}
197 208
               </el-radio>
198 209
             </div>
@@ -264,13 +275,13 @@
264 275
         </td>
265 276
         <td rowspan="3">
266 277
           <div>{{ tableForm.remark03 }}</div>
267
-          <el-input v-if="isStaff" v-model="tableForm.remark03"  type="textarea" :rows="4"></el-input>
278
+          <el-input v-if="isStaff" v-model="tableForm.remark03" type="textarea" :rows="4"></el-input>
268 279
         </td>
269 280
         <td rowspan="3">
270 281
           <el-radio-group v-model="tableForm.workload03" :disabled="!isPiLeader">
271 282
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
272 283
               <el-radio :key="dict.value" :label="dict.value"
273
-                @click.native.prevent="cancelSelect(dict.value, 'workload03')">
284
+                @click.native.prevent="cancelSelect(dict.value, 'workload03', isStaff)">
274 285
                 {{ dict.label }}
275 286
               </el-radio>
276 287
             </div>
@@ -279,7 +290,8 @@
279 290
         <td rowspan="3">
280 291
           <el-radio-group v-model="tableForm.assessment03" :disabled="!isPiLeader">
281 292
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
282
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'assessment03')">
293
+              <el-radio :key="dict.value" :label="dict.value"
294
+                @click.native.prevent="cancelSelect(dict.value, 'assessment03', isStaff)">
283 295
                 {{ dict.label }}
284 296
               </el-radio>
285 297
             </div>
@@ -306,7 +318,7 @@
306 318
           <el-input v-if="isStaff" v-model="tableForm.f0303"></el-input>
307 319
         </td>
308 320
       </tr>
309
-<!--  -->
321
+      <!--  -->
310 322
       <tr style="height:90px;">
311 323
         <td>其他工作</td>
312 324
         <td colspan="9">
@@ -334,7 +346,7 @@
334 346
 import { XMContent } from '@/assets/datas/XMContent'
335 347
 import { getDicts as getDicts } from '@/api/system/dict/data'
336 348
 export default {
337
-  dicts: ['cmc_role', 'cmc_skill', 'cmc_accessment','cmc_workload'],
349
+  dicts: ['cmc_role', 'cmc_skill', 'cmc_accessment', 'cmc_workload'],
338 350
   props: {
339 351
     tableForm: {
340 352
       type: Object,
@@ -380,7 +392,7 @@ export default {
380 392
         this.isDeptLeader = true;
381 393
         this.isManager = false;
382 394
         this.isStaff = false;
383
-      } else if (this.tableForm.taskName == '分管领导审核') {
395
+      } else if (this.tableForm.taskName == '分管审核') {
384 396
         this.isPiLeader = false;
385 397
         this.isDeptLeader = false;
386 398
         this.isManager = true;
@@ -393,24 +405,51 @@ export default {
393 405
       }
394 406
     },
395 407
     submit() {
396
-      if(!this.isStaff){
397
-        this.$emit('submit', this.tableForm);
398
-      }else{
408
+      let flag = this.formValidate(this.tableForm)
409
+      if (flag)
399 410
         this.$emit('submit', this.tableForm);
411
+    },
412
+    formValidate(form) {
413
+      let flag = [];
414
+      for (let f in form) {
415
+
416
+        if (f.startsWith('familiar') && form[f] != null) {
417
+          flag.push(f.slice(-2));
418
+        } else if (f.length == 5 && f.startsWith('f')) {
419
+          if (form[f] != "" && form[f] != undefined && form[f] != null)
420
+            flag.push(f.substring(1, 3));
421
+        }
400 422
       }
401
-      
423
+      let isF = false;
424
+      if (flag.length == 0) {
425
+        this.$modal.msgError("表格未填写,请填写表格");
426
+      } else {
427
+        isF = true
428
+      }
429
+      return isF
402 430
     },
403
-    cancelSelect(value, name) {
404
-      
405
-      if (!this.isPiLeader) {
431
+    cancelSelect(value, name, disabled) {
432
+      if(disabled){
406 433
         return
407 434
       }
408
-      if (this.tableForm[name] == value) {
409
-        this.tableForm[name] = null
410
-      } else {
411
-
412
-        if (this.tableForm[name] !== undefined)
413
-          this.tableForm[name] = value
435
+      if (this.isStaff) {
436
+        if (this.tableForm[name] == value) {
437
+          this.tableForm[name] = null
438
+        } else {
439
+          if (this.tableForm[name] !== undefined)
440
+            this.tableForm[name] = value
441
+          else {
442
+            this.$set(this.tableForm, name, value)
443
+          }
444
+        }
445
+      }
446
+      if (this.isPiLeader) {
447
+        if (this.tableForm[name] == value) {
448
+          this.tableForm[name] = null
449
+        } else {
450
+          if (this.tableForm[name] !== undefined)
451
+            this.tableForm[name] = value
452
+        }
414 453
       }
415 454
     }
416 455
   },
@@ -424,9 +463,21 @@ export default {
424 463
 }
425 464
 
426 465
 .table-title {
427
-  background-color: #dad4d4;
466
+  background-color: #90d6f1;
467
+  font-weight: bold;
428 468
 }
429 469
 
470
+.table-fillin {
471
+  background-color: #bfee93;
472
+  font-weight: bold;
473
+}
474
+
475
+.table-fzr {
476
+  background-color: #eead93;
477
+  font-weight: bold;
478
+}
479
+
480
+
430 481
 .table,
431 482
 th,
432 483
 td {
@@ -435,8 +486,8 @@ td {
435 486
 }
436 487
 
437 488
 td {
438
-  height: 24px;
439
-  width: 100px;
489
+  height: 50px;
490
+  // width: 100px;
440 491
 }
441 492
 
442 493
 .head {
@@ -487,5 +538,4 @@ td {
487 538
   transform: rotate(-45deg);
488 539
   border-radius: 0px;
489 540
   background: none;
490
-}
491
-</style>
541
+}</style>

+ 83
- 43
oa-ui/src/views/flowable/form/zhTable.vue 查看文件

@@ -5,8 +5,11 @@
5 5
       <tr>
6 6
         <td class="table-title">姓名</td>
7 7
         <td style="text-align:left;padding-left:10px;">{{ tableForm.nickName }}</td>
8
-        <td class="table-title">考核年度</td>
9
-        <td> {{ tableForm.assessTime }}</td>
8
+        <td class="table-title" style="width:50px">考核时间</td>
9
+        <td>
10
+          <el-date-picker v-model="tableForm.assessTime" type="month" placeholder="选择日期">
11
+          </el-date-picker>
12
+        </td>
10 13
         <td colspan="3" class="table-title">部门负责人考核意见</td>
11 14
         <td colspan="3" class="table-title" style="width:300px">分管领导考核意见</td>
12 15
       </tr>
@@ -66,18 +69,18 @@
66 69
       </tr>
67 70
       <tr>
68 71
         <td rowspan="2" class="table-title">考核内容</td>
69
-        <td colspan="5" class="table-title">被考核人填写</td>
70
-        <td colspan="3" class="table-title" style="width:300px;">项目负责人考核</td>
72
+        <td colspan="5" class="table-fillin">被考核人填写</td>
73
+        <td colspan="3" class="table-fzr" style="width:300px;">负责人考核</td>
71 74
       </tr>
72 75
       <tr>
73
-        <td class="table-title">工作内容</td>
74
-        <td class="table-title">单位</td>
75
-        <td class="table-title">工作量</td>
76
-        <td class="table-title">参与情况</td>
77
-        <td class="table-title">备注</td>
78
-        <td class="table-title">工作量</td>
79
-        <td class="table-title">岗位综合表现</td>
80
-        <td class="table-title">考核建议</td>
76
+        <td class="table-fillin">工作内容</td>
77
+        <td class="table-fillin">单位</td>
78
+        <td class="table-fillin">工作量</td>
79
+        <td class="table-fillin">参与情况</td>
80
+        <td class="table-fillin">备注</td>
81
+        <td class="table-fzr">工作量</td>
82
+        <td class="table-fzr">岗位综合表现</td>
83
+        <td class="table-fzr">考核建议</td>
81 84
       </tr>
82 85
       <tr>
83 86
         <td rowspan="9">劳动组织</td>
@@ -102,7 +105,7 @@
102 105
         <td rowspan="9">
103 106
           <el-radio-group v-model="tableForm.workload01" :disabled="!isPiLeader">
104 107
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
105
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload01')">
108
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload01', isStaff)">
106 109
                 {{ dict.label }}
107 110
               </el-radio>
108 111
             </div>
@@ -112,7 +115,7 @@
112 115
           <el-radio-group v-model="tableForm.assessment01" :disabled="!isPiLeader">
113 116
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
114 117
               <el-radio :key="dict.value" :label="dict.value"
115
-                @click.native.prevent="cancelSelect(dict.value, 'assessment01')">
118
+                @click.native.prevent="cancelSelect(dict.value, 'assessment01', isStaff)">
116 119
                 {{ dict.label }}
117 120
               </el-radio>
118 121
             </div>
@@ -216,7 +219,7 @@
216 219
         <td rowspan="8">
217 220
           <el-radio-group v-model="tableForm.workload02" :disabled="!isPiLeader">
218 221
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
219
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload02')">
222
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload02', isStaff)">
220 223
                 {{ dict.label }}
221 224
               </el-radio>
222 225
             </div>
@@ -226,7 +229,7 @@
226 229
           <el-radio-group v-model="tableForm.assessment02" :disabled="!isPiLeader">
227 230
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
228 231
               <el-radio :key="dict.value" :label="dict.value"
229
-                @click.native.prevent="cancelSelect(dict.value, 'assessment02')">
232
+                @click.native.prevent="cancelSelect(dict.value, 'assessment02', isStaff)">
230 233
                 {{ dict.label }}
231 234
               </el-radio>
232 235
             </div>
@@ -318,7 +321,7 @@
318 321
         <td rowspan="5">
319 322
           <el-radio-group v-model="tableForm.workload03" :disabled="!isPiLeader">
320 323
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
321
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload03')">
324
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload03', isStaff)">
322 325
                 {{ dict.label }}
323 326
               </el-radio>
324 327
             </div>
@@ -328,7 +331,7 @@
328 331
           <el-radio-group v-model="tableForm.assessment03" :disabled="!isPiLeader">
329 332
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
330 333
               <el-radio :key="dict.value" :label="dict.value"
331
-                @click.native.prevent="cancelSelect(dict.value, 'assessment03')">
334
+                @click.native.prevent="cancelSelect(dict.value, 'assessment03', isStaff)">
332 335
                 {{ dict.label }}
333 336
               </el-radio>
334 337
             </div>
@@ -395,7 +398,7 @@
395 398
         <td rowspan="7">
396 399
           <el-radio-group v-model="tableForm.workload04" :disabled="!isPiLeader">
397 400
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
398
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload04')">
401
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload04', isStaff)">
399 402
                 {{ dict.label }}
400 403
               </el-radio>
401 404
             </div>
@@ -405,7 +408,7 @@
405 408
           <el-radio-group v-model="tableForm.assessment04" :disabled="!isPiLeader">
406 409
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
407 410
               <el-radio :key="dict.value" :label="dict.value"
408
-                @click.native.prevent="cancelSelect(dict.value, 'assessment04')">
411
+                @click.native.prevent="cancelSelect(dict.value, 'assessment04', isStaff)">
409 412
                 {{ dict.label }}
410 413
               </el-radio>
411 414
             </div>
@@ -488,7 +491,7 @@
488 491
         <td rowspan="10">
489 492
           <el-radio-group v-model="tableForm.workload05" :disabled="!isPiLeader">
490 493
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
491
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload05')">
494
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload05', isStaff)">
492 495
                 {{ dict.label }}
493 496
               </el-radio>
494 497
             </div>
@@ -498,7 +501,7 @@
498 501
           <el-radio-group v-model="tableForm.assessment05" :disabled="!isPiLeader">
499 502
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
500 503
               <el-radio :key="dict.value" :label="dict.value"
501
-                @click.native.prevent="cancelSelect(dict.value, 'assessment05')">
504
+                @click.native.prevent="cancelSelect(dict.value, 'assessment05', isStaff)">
502 505
                 {{ dict.label }}
503 506
               </el-radio>
504 507
             </div>
@@ -604,7 +607,7 @@
604 607
         <td rowspan="7">
605 608
           <el-radio-group v-model="tableForm.workload06" :disabled="!isPiLeader">
606 609
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
607
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload06')">
610
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload06', isStaff)">
608 611
                 {{ dict.label }}
609 612
               </el-radio>
610 613
             </div>
@@ -614,7 +617,7 @@
614 617
           <el-radio-group v-model="tableForm.assessment06" :disabled="!isPiLeader">
615 618
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
616 619
               <el-radio :key="dict.value" :label="dict.value"
617
-                @click.native.prevent="cancelSelect(dict.value, 'assessment06')">
620
+                @click.native.prevent="cancelSelect(dict.value, 'assessment06', isStaff)">
618 621
                 {{ dict.label }}
619 622
               </el-radio>
620 623
             </div>
@@ -696,7 +699,7 @@
696 699
         <td rowspan="2">
697 700
           <el-radio-group v-model="tableForm.workload07" :disabled="!isPiLeader">
698 701
             <div v-for="dict in dict.type.cmc_workload" style="text-align:left">
699
-              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload07')">
702
+              <el-radio :key="dict.value" :label="dict.value" @click.native.prevent="cancelSelect(dict.value, 'workload07', isStaff)">
700 703
                 {{ dict.label }}
701 704
               </el-radio>
702 705
             </div>
@@ -706,7 +709,7 @@
706 709
           <el-radio-group v-model="tableForm.assessment07" :disabled="!isPiLeader">
707 710
             <div v-for="dict in dict.type.cmc_accessment" style="text-align:left">
708 711
               <el-radio :key="dict.value" :label="dict.value"
709
-                @click.native.prevent="cancelSelect(dict.value, 'assessment07')">
712
+                @click.native.prevent="cancelSelect(dict.value, 'assessment07', isStaff)">
710 713
                 {{ dict.label }}
711 714
               </el-radio>
712 715
             </div>
@@ -800,7 +803,7 @@ export default {
800 803
         this.isDeptLeader = true;
801 804
         this.isManager = false;
802 805
         this.isStaff = false;
803
-      } else if (this.tableForm.taskName == '分管领导审核') {
806
+      } else if (this.tableForm.taskName == '分管审核') {
804 807
         this.isPiLeader = false;
805 808
         this.isDeptLeader = false;
806 809
         this.isManager = true;
@@ -813,24 +816,51 @@ export default {
813 816
       }
814 817
     },
815 818
     submit() {
816
-      if (!this.isStaff) {
817
-        this.$emit('submit', this.tableForm);
818
-      } else {
819
+      let flag = this.formValidate(this.tableForm)
820
+      if (flag)
819 821
         this.$emit('submit', this.tableForm);
820
-      }
822
+    },
823
+    formValidate(form) {
824
+      let flag = [];
825
+      for (let f in form) {
821 826
 
827
+        if (f.startsWith('familiar') && form[f] != null) {
828
+          flag.push(f.slice(-2));
829
+        } else if (f.length == 5 && f.startsWith('f')) {
830
+          if (form[f] != "" && form[f] != undefined && form[f] != null)
831
+            flag.push(f.substring(1, 3));
832
+        }
833
+      }
834
+      let isF = false;
835
+      if (flag.length == 0) {
836
+        this.$modal.msgError("表格未填写,请填写表格");
837
+      }else{
838
+        isF = true
839
+      }
840
+      return isF
822 841
     },
823
-    cancelSelect(value, name) {
824
-      
825
-      if (!this.isPiLeader) {
842
+    cancelSelect(value, name, disabled) {
843
+      if(disabled){
826 844
         return
827 845
       }
828
-      if (this.tableForm[name] == value) {
829
-        this.tableForm[name] = null
830
-      } else {
831
-
832
-        if (this.tableForm[name] !== undefined)
833
-          this.tableForm[name] = value
846
+      if (this.isStaff) {
847
+        if (this.tableForm[name] == value) {
848
+          this.tableForm[name] = null
849
+        } else {
850
+          if (this.tableForm[name] !== undefined)
851
+            this.tableForm[name] = value
852
+          else {
853
+            this.$set(this.tableForm, name, value)
854
+          }
855
+        }
856
+      }
857
+      if (this.isPiLeader) {
858
+        if (this.tableForm[name] == value) {
859
+          this.tableForm[name] = null
860
+        } else {
861
+          if (this.tableForm[name] !== undefined)
862
+            this.tableForm[name] = value
863
+        }
834 864
       }
835 865
     }
836 866
   },
@@ -844,8 +874,18 @@ export default {
844 874
 }
845 875
 
846 876
 .table-title {
847
-  background-color: #dad4d4;
877
+  background-color: #90d6f1;
878
+  font-weight: bold;
848 879
 }
880
+.table-fillin{
881
+  background-color: #bfee93;
882
+  font-weight: bold;
883
+}
884
+.table-fzr{
885
+  background-color: #eead93;
886
+  font-weight: bold;
887
+}
888
+
849 889
 
850 890
 .table,
851 891
 th,
@@ -855,8 +895,8 @@ td {
855 895
 }
856 896
 
857 897
 td {
858
-  height: 24px;
859
-  width: 100px;
898
+  height: 50px;
899
+  // width: 100px;
860 900
 }
861 901
 
862 902
 .head {

+ 59
- 39
oa-ui/src/views/flowable/task/finished/detail/index.vue 查看文件

@@ -1,11 +1,11 @@
1 1
 <template>
2 2
   <div class="app-container">
3
-    <el-card class="box-card" >
3
+    <el-card class="box-card">
4 4
       <div slot="header" class="clearfix">
5 5
         <span class="el-icon-document">已办任务</span>
6 6
         <el-button style="float: right;" size="mini" type="danger" @click="goBack">关闭</el-button>
7 7
       </div>
8
-      <el-tabs  tab-position="top" v-model="activeName" @tab-click="handleClick">
8
+      <el-tabs tab-position="top" v-model="activeName" @tab-click="handleClick">
9 9
         <!--表单信息-->
10 10
         <!-- <el-tab-pane label="表单信息" name="1">
11 11
           <el-col :span="16" :offset="4" v-if="variableOpen">
@@ -15,46 +15,52 @@
15 15
           </el-col>
16 16
         </el-tab-pane> -->
17 17
         <el-tab-pane label="表单信息" name="1">
18
-          <ScTable :tableForm="tableForm"></ScTable>
18
+          <sc-table :tableForm="tableForm" v-if="taskForm.procDefName == '生产部门考核'"></sc-table>
19
+          <jy-table :tableForm="tableForm" v-else-if="taskForm.procDefName == '经营发展部考核'"></jy-table>
20
+          <js-table :tableForm="tableForm" v-else-if="taskForm.procDefName == '技术质量部考核'"></js-table>
21
+          <xm-table :tableForm="tableForm" v-else-if="taskForm.procDefName == '项目管理部考核'"></xm-table>
22
+          <cw-table :tableForm="tableForm" v-else-if="taskForm.procDefName == '财务部考核'"></cw-table>
23
+          <zh-table :tableForm="tableForm" v-else-if="taskForm.procDefName == '综合事务部考核'"></zh-table>
24
+          <el-col :span="16" :offset="4" v-else>
25
+            <div class="test-form">
26
+              <parser :key="new Date().getTime()" :form-conf="variablesData" />
27
+            </div>
28
+          </el-col>
19 29
         </el-tab-pane>
20 30
         <!--流程流转记录-->
21 31
         <el-tab-pane label="流转记录" name="2">
22
-          <el-col :span="16" :offset="4" >
32
+          <el-col :span="16" :offset="4">
23 33
             <div class="block">
24 34
               <el-timeline>
25
-                <el-timeline-item
26
-                  v-for="(item,index ) in flowRecordList"
27
-                  :key="index"
28
-                  :icon="setIcon(item.finishTime)"
29
-                  :color="setColor(item.finishTime)"
30
-                >
31
-                  <p style="font-weight: 700">{{item.taskName}}</p>
35
+                <el-timeline-item v-for="(item, index ) in flowRecordList" :key="index" :icon="setIcon(item.finishTime)"
36
+                  :color="setColor(item.finishTime)">
37
+                  <p style="font-weight: 700">{{ item.taskName }}</p>
32 38
                   <el-card :body-style="{ padding: '10px' }">
33 39
                     <el-descriptions class="margin-top" :column="1" size="small" border>
34 40
                       <el-descriptions-item v-if="item.assigneeName" label-class-name="my-label">
35 41
                         <template slot="label"><i class="el-icon-user"></i>办理人</template>
36
-                        {{item.assigneeName}}
37
-                        <el-tag type="info" size="mini">{{item.deptName}}</el-tag>
42
+                        {{ item.assigneeName }}
43
+                        <el-tag type="info" size="mini">{{ item.deptName }}</el-tag>
38 44
                       </el-descriptions-item>
39 45
                       <el-descriptions-item v-if="item.candidate" label-class-name="my-label">
40 46
                         <template slot="label"><i class="el-icon-user"></i>候选办理</template>
41
-                        {{item.candidate}}
47
+                        {{ item.candidate }}
42 48
                       </el-descriptions-item>
43 49
                       <el-descriptions-item label-class-name="my-label">
44 50
                         <template slot="label"><i class="el-icon-date"></i>接收时间</template>
45
-                        {{item.createTime}}
51
+                        {{ item.createTime }}
46 52
                       </el-descriptions-item>
47 53
                       <el-descriptions-item v-if="item.finishTime" label-class-name="my-label">
48 54
                         <template slot="label"><i class="el-icon-date"></i>处理时间</template>
49
-                        {{item.finishTime}}
55
+                        {{ item.finishTime }}
50 56
                       </el-descriptions-item>
51
-                      <el-descriptions-item v-if="item.duration"  label-class-name="my-label">
57
+                      <el-descriptions-item v-if="item.duration" label-class-name="my-label">
52 58
                         <template slot="label"><i class="el-icon-time"></i>耗时</template>
53
-                        {{item.duration}}
59
+                        {{ item.duration }}
54 60
                       </el-descriptions-item>
55 61
                       <el-descriptions-item v-if="item.comment" label-class-name="my-label">
56 62
                         <template slot="label"><i class="el-icon-tickets"></i>处理意见</template>
57
-                        {{item.comment.comment}}
63
+                        {{ item.comment.comment }}
58 64
                       </el-descriptions-item>
59 65
                     </el-descriptions>
60 66
                   </el-card>
@@ -64,7 +70,7 @@
64 70
           </el-col>
65 71
         </el-tab-pane>
66 72
         <el-tab-pane label="流程图" name="3">
67
-          <flow :flowData="flowData"/>
73
+          <flow :flowData="flowData" />
68 74
         </el-tab-pane>
69 75
       </el-tabs>
70 76
     </el-card>
@@ -72,21 +78,31 @@
72 78
 </template>
73 79
 
74 80
 <script>
75
-import {flowRecord} from "@/api/flowable/finished";
81
+import { flowRecord } from "@/api/flowable/finished";
76 82
 import Parser from '@/components/parser/Parser'
77
-import {getProcessVariables, flowXmlAndNode} from "@/api/flowable/definition";
83
+import { getProcessVariables, flowXmlAndNode } from "@/api/flowable/definition";
78 84
 import flow from '@/views/flowable/task/finished/detail/flow'
79 85
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
80 86
 import ScTable from "../../../form/scTable.vue";
81 87
 import { getAssess, modifyAssess } from '@/api/oa/assess/assess'
88
+import JyTable from "@/views/flowable/form/jyTable.vue";
89
+import ZhTable from "@/views/flowable/form/zhTable.vue";
90
+import JsTable from "@/views/flowable/form/jsTable.vue";
91
+import XmTable from "@/views/flowable/form/xmTable.vue";
92
+import CwTable from "@/views/flowable/form/cwTable.vue";
82 93
 
83 94
 export default {
84 95
   name: "Record",
85 96
   components: {
86 97
     Parser,
87 98
     flow,
88
-    ScTable
89
-},
99
+    ScTable,
100
+    ZhTable,
101
+    JsTable,
102
+    XmTable,
103
+    CwTable,
104
+    JyTable
105
+  },
90 106
   props: {},
91 107
   data() {
92 108
     return {
@@ -108,16 +124,16 @@ export default {
108 124
       flowRecordList: [], // 流程流转数据
109 125
       formConfCopy: {},
110 126
       src: null,
111
-      taskForm:{
127
+      taskForm: {
112 128
         multiple: false,
113
-        comment:"", // 意见内容
129
+        comment: "", // 意见内容
114 130
         procInsId: "", // 流程实例编号
115 131
         instanceId: "", // 流程实例编号
116 132
         deployId: "",  // 流程定义编号
117
-        taskId: "" ,// 流程任务编号
133
+        taskId: "",// 流程任务编号
118 134
         procDefId: "",  // 流程编号
119 135
         vars: "",
120
-        targetKey:""
136
+        targetKey: ""
121 137
       },
122 138
       variables: [], // 流程变量数据
123 139
       variablesData: {}, // 流程变量数据
@@ -128,22 +144,23 @@ export default {
128 144
   },
129 145
   created() {
130 146
     this.taskForm.deployId = this.$route.query && this.$route.query.deployId;
131
-    this.taskForm.taskId  = this.$route.query && this.$route.query.taskId;
147
+    this.taskForm.taskId = this.$route.query && this.$route.query.taskId;
132 148
     this.taskForm.procInsId = this.$route.query && this.$route.query.procInsId;
133 149
     this.taskForm.formId = this.$route.query.formId;
150
+    this.taskForm.procDefName = this.$route.query.procDefName;
134 151
     // 回显流程记录
135 152
     // 流程任务重获取变量表单
136
-    if (this.taskForm.taskId){
137
-      this.processVariables( this.taskForm.taskId)
153
+    if (this.taskForm.taskId) {
154
+      this.processVariables(this.taskForm.taskId)
138 155
       this.getAssessByAssessId(this.taskForm.formId)
139 156
     }
140
-    this.getFlowRecordList( this.taskForm.procInsId, this.taskForm.deployId);
141
-    
157
+    this.getFlowRecordList(this.taskForm.procInsId, this.taskForm.deployId);
158
+
142 159
   },
143 160
   methods: {
144 161
     handleClick(tab, event) {
145 162
       if (tab.name === '3') {
146
-        flowXmlAndNode({procInsId: this.taskForm.procInsId, deployId: this.taskForm.deployId}).then(res => {
163
+        flowXmlAndNode({ procInsId: this.taskForm.procInsId, deployId: this.taskForm.deployId }).then(res => {
147 164
           this.flowData = res.data;
148 165
         })
149 166
       }
@@ -165,7 +182,7 @@ export default {
165 182
     /** 流程流转记录 */
166 183
     getFlowRecordList(procInsId, deployId) {
167 184
       const that = this
168
-      const params = {procInsId: procInsId, deployId: deployId}
185
+      const params = { procInsId: procInsId, deployId: deployId }
169 186
       flowRecord(params).then(res => {
170 187
         that.flowRecordList = res.data.flowList;
171 188
       }).catch(res => {
@@ -185,7 +202,7 @@ export default {
185 202
     /** 返回页面 */
186 203
     goBack() {
187 204
       // 关闭当前标签页并返回上个页面
188
-      const obj = { path: "/task/finished", query: { t: Date.now()} };
205
+      const obj = { path: "/task/finished", query: { t: Date.now() } };
189 206
       this.$tab.closeOpenPage(obj);
190 207
     },
191 208
     // 获取需要处理的表单表格信息
@@ -194,10 +211,12 @@ export default {
194 211
         let data = res.data;
195 212
         for (let d in data) {
196 213
           if (d.includes('role')) {
197
-            data[d] = data[d].split(',')
214
+            if (data[d] != "" && data[d] != undefined && data[d] != null)
215
+              data[d] = data[d].split(',')
198 216
           }
199 217
           if (d.includes('familiar')) {
200
-            data[d] = parseInt(data[d])
218
+            if (data[d] != "" && data[d] != undefined && data[d] != null)
219
+              data[d] = parseInt(data[d])
201 220
           }
202 221
         }
203 222
         this.tableForm = data;
@@ -220,6 +239,7 @@ export default {
220 239
   display: table;
221 240
   content: "";
222 241
 }
242
+
223 243
 .clearfix:after {
224 244
   clear: both
225 245
 }
@@ -229,7 +249,7 @@ export default {
229 249
   margin-bottom: 20px;
230 250
 }
231 251
 
232
-.el-tag + .el-tag {
252
+.el-tag+.el-tag {
233 253
   margin-left: 10px;
234 254
 }
235 255
 

+ 3
- 1
oa-ui/src/views/flowable/task/finished/index.vue 查看文件

@@ -174,6 +174,7 @@ export default {
174 174
     },
175 175
     /** 流程流转记录 */
176 176
     handleFlowRecord(row) {
177
+      console.log(row);
177 178
       getProcessVariables(row.taskId).then(res => {
178 179
         this.$router.push({
179 180
           path: '/flowable/task/finished/detail/index',
@@ -181,7 +182,8 @@ export default {
181 182
             procInsId: row.procInsId,
182 183
             deployId: row.deployId,
183 184
             taskId: row.taskId,
184
-            formId: res.data.formId
185
+            formId: res.data.formId,
186
+            procDefName:row.procDefName
185 187
           }
186 188
         })
187 189
       })

+ 7
- 7
oa-ui/src/views/flowable/task/myProcess/index.vue 查看文件

@@ -19,7 +19,7 @@
19 19
     <el-row :gutter="10" class="mb8">
20 20
       <el-col :span="1.5">
21 21
         <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
22
-          v-hasPermi="['system:deployment:add']">新增流程</el-button>
22
+          v-hasPermi="['system:deployment:add']">发起申请</el-button>
23 23
       </el-col>
24 24
       <el-col :span="1.5">
25 25
         <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
@@ -56,7 +56,7 @@
56 56
       </el-table-column>
57 57
       <el-table-column label="操作" width="150" fixed="right" class-name="small-padding fixed-width">
58 58
         <template slot-scope="scope">
59
-          <el-button @click="handleFlowRecord(scope.row)" type="text" size="small">详情</el-button>
59
+          <el-button @click="handleFlowRecord(scope.row)" type="text" size="small">进度</el-button>
60 60
           <el-button @click="handleStop(scope.row)" type="text" size="small">取消申请</el-button>
61 61
           <el-button @click="handleDelete(scope.row)" type="text" size="small"
62 62
             v-hasPermi="['system:deployment:remove']">删除</el-button>
@@ -81,23 +81,23 @@
81 81
       </el-form>
82 82
       <el-table v-loading="processLoading" fit :data="definitionList" border>
83 83
         <el-table-column label="流程名称" align="center" prop="name" />
84
-        <el-table-column label="流程版本" align="center">
84
+        <!-- <el-table-column label="流程版本" align="center">
85 85
           <template slot-scope="scope">
86 86
             <el-tag size="medium">v{{ scope.row.version }}</el-tag>
87 87
           </template>
88
-        </el-table-column>
88
+        </el-table-column> -->
89 89
         <el-table-column label="流程分类" align="center" prop="category" />
90 90
         <el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width">
91 91
           <template slot-scope="scope">
92 92
             <el-button size="mini" type="text" icon="el-icon-edit-outline"
93
-              @click="handleStartProcess(scope.row)">发起流程</el-button>
93
+              @click="handleStartProcess(scope.row)">发起申请</el-button>
94 94
           </template>
95 95
         </el-table-column>
96 96
       </el-table>
97 97
       <pagination v-show="processTotal > 0" :total="processTotal" :page.sync="queryProcessParams.pageNum"
98 98
         :limit.sync="queryProcessParams.pageSize" @pagination="listDefinition" />
99 99
     </el-dialog>
100
-    <el-dialog title="流程详情" :visible.sync="detailsOpen" append-to-body width="600px">
100
+    <el-dialog title="流程进度" :visible.sync="detailsOpen" append-to-body width="600px">
101 101
       <el-scrollbar style="height: 600px;">
102 102
         <RowDetail :rows="clickRow"></RowDetail>
103 103
       </el-scrollbar>
@@ -252,7 +252,7 @@ export default {
252 252
     /** 新增按钮操作 */
253 253
     handleAdd() {
254 254
       this.open = true;
255
-      this.title = "发起流程";
255
+      this.title = "发起申请";
256 256
       this.listDefinition();
257 257
     },
258 258
     listDefinition() {

+ 1
- 1
oa-ui/src/views/flowable/task/myProcess/send/rowDetail.vue 查看文件

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-01-30 09:56:12
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-02-01 16:33:48
5
+ * @LastEditTime: 2024-02-26 16:13:14
6 6
 -->
7 7
 <template>
8 8
   <div>

+ 1
- 0
oa-ui/src/views/flowable/task/todo/detail/index.vue 查看文件

@@ -420,6 +420,7 @@ export default {
420 420
     },
421 421
     /** 返回页面 */
422 422
     goBack() {
423
+      console.log(this.tableForm);
423 424
       // 关闭当前标签页并返回上个页面
424 425
       const obj = { path: "/task/todo", query: { t: Date.now() } };
425 426
       this.$tab.closeOpenPage(obj);

+ 68
- 22
oa-ui/src/views/index.vue 查看文件

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-01-03 09:23:11
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-02-05 14:56:35
5
+ * @LastEditTime: 2024-02-26 17:01:28
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container home">
@@ -28,7 +28,7 @@
28 28
                   入职时间
29 29
                 </el-row>
30 30
                 <el-row class="userinfo-data">
31
-                  2010
31
+                  {{ user.entryDate }}
32 32
                 </el-row>
33 33
               </el-col>
34 34
               <el-col :span="4">
@@ -36,7 +36,7 @@
36 36
                   工龄
37 37
                 </el-row>
38 38
                 <el-row class="userinfo-data">
39
-                  10年
39
+                  {{ getObtainSeniority(user.entryDate) }}
40 40
                 </el-row>
41 41
               </el-col>
42 42
               <el-col :span="4">
@@ -44,15 +44,15 @@
44 44
                   所在部门
45 45
                 </el-row>
46 46
                 <el-row class="userinfo-data">
47
-                  地理信息中心
47
+                  {{ }}
48 48
                 </el-row>
49 49
               </el-col>
50 50
               <el-col :span="4">
51 51
                 <el-row class="userinfo-item">
52
-                  部门职务
52
+                  岗级
53 53
                 </el-row>
54 54
                 <el-row class="userinfo-data">
55
-                  正职
55
+                  {{ engineerLevel }}
56 56
                 </el-row>
57 57
               </el-col>
58 58
               <el-col :span="4">
@@ -60,7 +60,7 @@
60 60
                   技术职称
61 61
                 </el-row>
62 62
                 <el-row class="userinfo-data">
63
-                  注册测绘师
63
+                  {{ titles }}
64 64
                 </el-row>
65 65
               </el-col>
66 66
             </el-row>
@@ -82,7 +82,7 @@
82 82
             </el-col>
83 83
             <!-- <el-col :span="4" class="item" style="background-color: #40A9FF;padding:3px">
84 84
               <el-row class="item-icon"><i class="el-icon-s-order"></i></el-row>
85
-              <el-row>新建项目</el-row>
85
+              <el-row>已办任务</el-row>
86 86
             </el-col> -->
87 87
           </el-row>
88 88
         </el-col>
@@ -94,7 +94,7 @@
94 94
           <el-row>
95 95
             <el-col :span="6" class="db-item">
96 96
               <el-row class="db-text">考核待审</el-row>
97
-              <el-row class="db-number">10</el-row>
97
+              <el-row class="db-number">{{ detail }}</el-row>
98 98
             </el-col>
99 99
           </el-row>
100 100
         </el-col>
@@ -115,7 +115,7 @@
115 115
             </el-table-column>
116 116
           </el-table>
117 117
         </el-col>
118
-        <el-col :span="8" >
118
+        <el-col :span="8">
119 119
           <el-calendar v-model="times">
120 120
           </el-calendar>
121 121
         </el-col>
@@ -141,22 +141,29 @@
141 141
 <script>
142 142
 import { mapGetters } from "vuex";
143 143
 import { getUserProfile } from "@/api/system/user";
144
+import { todoList } from "@/api/flowable/todo";
145
+import { getDicts as getDicts, getData } from '@/api/system/dict/data'
144 146
 export default {
145 147
   name: "index",
146 148
   computed: {
147 149
     ...mapGetters(["avatar"]),
148 150
   },
151
+  dicts: ['sys_user_engineerlevel', 'sys_user_titles'],
149 152
   data() {
150 153
     return {
151 154
       user: {},
152 155
       weather: {},
153 156
       noticeData: [],
154 157
       projectData: [],
155
-      times: new Date()
158
+      times: new Date(),
159
+      detail: 0,
160
+      engineerLevel: '',
161
+      titles: ''
156 162
     };
157 163
   },
158 164
   created() {
159 165
     this.getUser();
166
+    this.getDetail();
160 167
   },
161 168
   methods: {
162 169
     goTarget(href) {
@@ -165,11 +172,43 @@ export default {
165 172
     getUser() {
166 173
       getUserProfile().then(response => {
167 174
         this.user = response.data;
168
-        console.log(this.user);
175
+        for (let d of this.dict.type.sys_user_engineerlevel) {
176
+          if (d.value == response.data.engineerLevel) {
177
+            console.log(d);
178
+            this.engineerLevel = d.label
179
+          }
180
+        }
181
+        for (let t of this.dict.type.sys_user_titles) {
182
+          if (t.value == response.data.titles) {
183
+            console.log(t);
184
+            this.titles = t.label
185
+          }
186
+        }
187
+      });
188
+    },
189
+    gotoTask() {
190
+      this.$router.push({ path: "/task/process" });
191
+    },
192
+    // 获取考核待办
193
+    getDetail() {
194
+      todoList({
195
+        pageNum: 1,
196
+        pageSize: 10,
197
+        name: null,
198
+        category: 'assess'
199
+      }).then(response => {
200
+        this.detail = response.data.total;
169 201
       });
170 202
     },
171
-    gotoTask(){
172
-      this.$router.push({ path: "/task/process"});
203
+    // 获取工龄
204
+    getObtainSeniority(entryDate) {
205
+      if (entryDate != "" && entryDate != undefined && entryDate != null) {
206
+        let curYear = new Date();
207
+        let e = entryDate.substring(0, 5);
208
+        return curYear - parseInt(e)
209
+      }
210
+
211
+
173 212
     }
174 213
   },
175 214
 };
@@ -217,6 +256,7 @@ export default {
217 256
   .meau {
218 257
     height: 150px;
219 258
     margin-bottom: 20px;
259
+
220 260
     .meau-left {
221 261
       background-color: #fff;
222 262
       padding: 0px 20px 10px;
@@ -227,14 +267,16 @@ export default {
227 267
       background-color: #fff;
228 268
       padding: 0px 20px 10px;
229 269
       margin-left: 20px;
230
-      .db-item{
270
+
271
+      .db-item {
231 272
         text-align: center;
232 273
         background-color: #F5F5F5;
233 274
         padding: 10px 20px;
234 275
         cursor: pointer;
235
-        .db-text{
236
-        }
237
-        .db-number{
276
+
277
+        .db-text {}
278
+
279
+        .db-number {
238 280
           font-weight: bold;
239 281
           color: #e67153;
240 282
           line-height: 30px;
@@ -242,23 +284,27 @@ export default {
242 284
         }
243 285
       }
244 286
     }
245
-    .item{
287
+
288
+    .item {
246 289
       color: #fff;
247 290
       margin: 0 10px;
248 291
       cursor: pointer;
249 292
     }
250
-    .item-icon{
293
+
294
+    .item-icon {
251 295
       width: 100%;
252 296
       height: 100%;
253 297
       text-align: center;
254
-      i{
298
+
299
+      i {
255 300
         display: inline-block;
256 301
         font-size: 40px;
257 302
         color: #fff;
258 303
       }
259 304
     }
260 305
   }
261
-  .notice{
306
+
307
+  .notice {
262 308
     padding: 0px 20px 10px;
263 309
     background-color: #fff;
264 310
   }

正在加载...
取消
保存