Ver código fonte

网页端:工作填报新增工作月份搜索与导出,工作填报流程新增退回按钮

余思翰 21 horas atrás
pai
commit
9521cb3c8a

+ 26
- 6
oa-ui/src/views/flowable/form/work/declareForm.vue Ver arquivo

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-08-16 09:16:36
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2025-07-31 09:48:58
5
+ * @LastEditTime: 2025-09-05 13:59:35
6 6
 -->
7 7
 <template>
8 8
   <div>
@@ -10,6 +10,11 @@
10 10
       <el-col :span="isFlow ? 18 : 24" :xs="24">
11 11
         <h2 class="text-center">项目工作填报表</h2>
12 12
         <el-divider></el-divider>
13
+        <div class="mt20 mb20" v-if="showAlter">
14
+          <el-alert title="任务被退回,请修改后重新提交" type="error" :closable="false">
15
+            <return-comment :taskForm="taskForm" @isReturn="isReturn"></return-comment>
16
+          </el-alert>
17
+        </div>
13 18
         <el-form ref="form" :model="form" :rules="rules" label-width="110px" :disabled="formDisabled">
14 19
           <el-form-item label="是否零星项目:">
15 20
             <el-radio-group v-model="radio" @change="chooseLX" :disabled="taskName != '工作填报'">
@@ -51,8 +56,8 @@
51 56
           </el-form-item>
52 57
           <el-form-item label="工作日期:" prop="dateRange">
53 58
             <el-date-picker v-model="form.dateRange" type="daterange" range-separator="至" start-placeholder="开始日期"
54
-              end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
55
-              :disabled="taskName != '工作填报'" @change="handleDateRangeChange">
59
+              end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd" :disabled="taskName != '工作填报'"
60
+              @change="handleDateRangeChange">
56 61
             </el-date-picker>
57 62
           </el-form-item>
58 63
           <el-form-item label="工天:" prop="workLoad">
@@ -80,6 +85,8 @@
80 85
         </el-form>
81 86
         <el-row class="text-center mt20" v-if="!formDisabled">
82 87
           <el-button type="warning" @click="save" v-if="taskName != '填报人确认'">保 存</el-button>
88
+          <el-button type="danger" @click="returnOpen = true" v-if="taskName != '工作填报' && taskName != '填报人确认'">退
89
+            回</el-button>
83 90
           <el-button type="primary" @click="submitForm" v-if="taskName == '工作填报'">提 交</el-button>
84 91
           <el-button type="success" @click="approveForm"
85 92
             v-if="taskName != '工作填报' && taskName != '填报人确认'">审核通过</el-button>
@@ -98,6 +105,10 @@
98 105
     <el-dialog title="选择项目" :visible.sync="prOpen" :width="deviceWidth" append-to-body>
99 106
       <choose-project @chooseProject="confirmProject"></choose-project>
100 107
     </el-dialog>
108
+
109
+    <el-dialog title="退回" :visible.sync="returnOpen" width="40%" append-to-body>
110
+      <return-btn :taskForm="taskForm" @goBack="$emit('goBack')" @saves="" @cancel="returnOpen = false"></return-btn>
111
+    </el-dialog>
101 112
   </div>
102 113
 </template>
103 114
 
@@ -112,10 +123,14 @@ import { complete, getNextFlowNode } from "@/api/flowable/todo";
112 123
 import chooseProject from '../components/chooseProject.vue';
113 124
 import { parseTime } from "@/utils/ruoyi";
114 125
 import { getUsersDeptLeader, getUsersDeptLeaderByDept, getUsersManageLeaderByDept } from "@/api/system/post.js";
126
+import ReturnComment from "@/views/flowable/form/components/flowBtn/returnComment.vue";
127
+import ReturnBtn from "@/views/flowable/form/components/flowBtn/returnBtn.vue";
115 128
 export default {
116 129
   components: {
117 130
     flow,
118
-    chooseProject
131
+    chooseProject,
132
+    ReturnComment,
133
+    ReturnBtn
119 134
   },
120 135
   computed: {
121 136
     ...mapState({
@@ -192,7 +207,9 @@ export default {
192 207
       workItemList: [],
193 208
       projectList: [],
194 209
       hasForm: false,
195
-      money: 0
210
+      money: 0,
211
+      showAlter: true,
212
+      returnOpen: false
196 213
     }
197 214
   },
198 215
   methods: {
@@ -448,7 +465,10 @@ export default {
448 465
           this.countMoney();
449 466
         }
450 467
       }
451
-    }
468
+    },
469
+    isReturn(val) {
470
+      this.showAlter = val;
471
+    },
452 472
   },
453 473
 }
454 474
 </script>

+ 19
- 6
oa-ui/src/views/oa/declare/index.vue Ver arquivo

@@ -2,7 +2,7 @@
2 2
  * @Author: wrh
3 3
  * @Date: 2024-08-14 14:24:11
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2025-07-31 10:00:14
5
+ * @LastEditTime: 2025-09-05 13:53:52
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -31,6 +31,12 @@
31 31
           placeholder="请选择填报月份">
32 32
         </el-date-picker>
33 33
       </el-form-item>
34
+
35
+      <el-form-item label="工作月份" prop="workDate">
36
+        <el-date-picker clearable v-model="queryParams.workDate" type="month" value-format="yyyy-MM"
37
+          placeholder="请选择工作月份">
38
+        </el-date-picker>
39
+      </el-form-item>
34 40
       <el-form-item>
35 41
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
36 42
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -54,8 +60,8 @@
54 60
       <el-table-column label="工作类别" align="center" prop="workType" />
55 61
       <el-table-column label="工作项目" align="center" prop="workItem" />
56 62
       <el-table-column label="工作内容" align="center" prop="workContent" width="250px" />
57
-      <el-table-column label="开始日期" align="center" prop="beginDate" width="92px"/>
58
-      <el-table-column label="结束日期" align="center" prop="endDate" width="92px"/>
63
+      <el-table-column label="开始日期" align="center" prop="beginDate" width="92px" />
64
+      <el-table-column label="结束日期" align="center" prop="endDate" width="92px" />
59 65
       <el-table-column label="工天" align="center" prop="workLoad" />
60 66
       <el-table-column label="工天单价" align="center" prop="price" />
61 67
       <el-table-column label="系数" align="center" prop="coefficient" />
@@ -67,17 +73,17 @@
67 73
       <el-table-column label="审核状态" align="center">
68 74
         <template slot-scope="scope">
69 75
           <div>
70
-            <el-tag :type="formatFn(scope.row, 'checkStatus') ? 'success':'warning'" size="mini">一审</el-tag>
76
+            <el-tag :type="formatFn(scope.row, 'checkStatus') ? 'success' : 'warning'" size="mini">一审</el-tag>
71 77
             <i v-if="formatFn(scope.row, 'checkStatus')" class="el-icon-circle-check" style="color:#67C23A"></i>
72 78
             <i v-else class="el-icon-warning-outline" style="color:#E6A23C"></i>
73 79
           </div>
74 80
           <div>
75
-            <el-tag :type="formatFn(scope.row, 'auditStatus') ? 'success':'warning'" size="mini">二审</el-tag>
81
+            <el-tag :type="formatFn(scope.row, 'auditStatus') ? 'success' : 'warning'" size="mini">二审</el-tag>
76 82
             <i v-if="formatFn(scope.row, 'auditStatus')" class="el-icon-circle-check" style="color:#67C23A"></i>
77 83
             <i v-else class="el-icon-warning-outline" style="color:#E6A23C"></i>
78 84
           </div>
79 85
           <div>
80
-            <el-tag :type="formatFn(scope.row, 'confirmStatus') ? 'success':'warning'" size="mini">确认</el-tag>
86
+            <el-tag :type="formatFn(scope.row, 'confirmStatus') ? 'success' : 'warning'" size="mini">确认</el-tag>
81 87
             <i v-if="formatFn(scope.row, 'confirmStatus')" class="el-icon-circle-check" style="color:#67C23A"></i>
82 88
             <i v-else class="el-icon-warning-outline" style="color:#E6A23C"></i>
83 89
           </div>
@@ -271,6 +277,13 @@ export default {
271 277
     /** 搜索按钮操作 */
272 278
     handleQuery() {
273 279
       this.queryParams.pageNum = 1;
280
+      if (this.queryParams.workDate) {
281
+        this.queryParams.beginDate = this.queryParams.workDate;
282
+        this.queryParams.endDate = this.queryParams.workDate;
283
+      } else {
284
+        this.queryParams.beginDate = null;
285
+        this.queryParams.endDate = null;
286
+      }
274 287
       this.getList();
275 288
     },
276 289
     /** 重置按钮操作 */

Carregando…
Cancelar
Salvar