浏览代码

修改结算、借款、合同退回,以及审核人错误的问题

余思翰 5 个月前
父节点
当前提交
f5f6d8ca54

+ 0
- 23
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcBorrowController.java 查看文件

154
     @PutMapping
154
     @PutMapping
155
     public AjaxResult edit(@RequestBody CmcBorrow cmcBorrow)
155
     public AjaxResult edit(@RequestBody CmcBorrow cmcBorrow)
156
     {
156
     {
157
-        if (cmcBorrow.getDeptComment() != null && cmcBorrow.getManagerComment() == null) {
158
-            cmcBorrow.setDeptUserId(getLoginUser().getUserId());
159
-            cmcBorrow.setDeptTime(new Date());
160
-        }
161
-        if (cmcBorrow.getManagerComment() != null && cmcBorrow.getZjlComment() == null) {
162
-            cmcBorrow.setManagerUserId(getLoginUser().getUserId());
163
-            cmcBorrow.setManagerTime(new Date());
164
-        }
165
-        if (cmcBorrow.getZjlComment() != null && cmcBorrow.getDszComment() == null && cmcBorrow.getLendTime() == null) {
166
-            cmcBorrow.setZjlUserId(getLoginUser().getUserId());
167
-            cmcBorrow.setZjlTime(new Date());
168
-        }
169
-        if (cmcBorrow.getDszComment() != null && cmcBorrow.getLendTime() == null) {
170
-            cmcBorrow.setDszUserId(getLoginUser().getUserId());
171
-            cmcBorrow.setDszTime(new Date());
172
-        }
173
-        if (cmcBorrow.getUnionComment() != null && cmcBorrow.getLendTime() == null) {
174
-            cmcBorrow.setUnionUserId(getLoginUser().getUserId());
175
-            cmcBorrow.setUnionTime(new Date());
176
-        }
177
-        if (cmcBorrow.getLendTime() != null) {
178
-            cmcBorrow.setCwUserId(getLoginUser().getUserId());
179
-        }
180
         return toAjax(cmcBorrowService.updateCmcBorrow(cmcBorrow));
157
         return toAjax(cmcBorrowService.updateCmcBorrow(cmcBorrow));
181
     }
158
     }
182
 
159
 

+ 0
- 6
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractController.java 查看文件

145
     @PutMapping
145
     @PutMapping
146
     public AjaxResult edit(@RequestBody CmcContract cmcContract)
146
     public AjaxResult edit(@RequestBody CmcContract cmcContract)
147
     {
147
     {
148
-        if (cmcContract.getManagerComment() != null && cmcContract.getGmComment() == null && getLoginUser().getUserId() != 22) {
149
-            cmcContract.setManagerUserId(getLoginUser().getUserId());
150
-        }
151
-        if (cmcContract.getGmComment() != null && cmcContract.getSignDate() == null && getLoginUser().getUserId() != 22) {
152
-            cmcContract.setGmUserId(getLoginUser().getUserId());
153
-        }
154
         return toAjax(cmcContractService.updateCmcContract(cmcContract));
148
         return toAjax(cmcContractService.updateCmcContract(cmcContract));
155
     }
149
     }
156
 
150
 

+ 0
- 6
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcSubContractController.java 查看文件

146
     @PutMapping
146
     @PutMapping
147
     public AjaxResult edit(@RequestBody CmcSubContract cmcSubContract)
147
     public AjaxResult edit(@RequestBody CmcSubContract cmcSubContract)
148
     {
148
     {
149
-        if (cmcSubContract.getManagerComment() != null && cmcSubContract.getGmComment() == null && getLoginUser().getUserId() != 22) {
150
-            cmcSubContract.setManagerUserId(getLoginUser().getUserId());
151
-        }
152
-        if (cmcSubContract.getGmComment() != null && cmcSubContract.getSignDate() == null && getLoginUser().getUserId() != 22) {
153
-            cmcSubContract.setGmUserId(getLoginUser().getUserId());
154
-        }
155
         return toAjax(cmcSubContractService.updateCmcSubContract(cmcSubContract));
149
         return toAjax(cmcSubContractService.updateCmcSubContract(cmcSubContract));
156
     }
150
     }
157
 
151
 

+ 16
- 6
oa-ui/src/views/flowable/form/business/contractForm.vue 查看文件

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-05-10 15:31:57
3
  * @Date: 2024-05-10 15:31:57
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-12-06 16:51:17
5
+ * @LastEditTime: 2024-12-10 17:08:05
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div class="app-container">
8
   <div class="app-container">
356
         </el-form>
356
         </el-form>
357
         <div style="text-align: center;" v-if="taskName">
357
         <div style="text-align: center;" v-if="taskName">
358
           <el-button type="warning" @click="saves()" :disabled="formDisabled" v-if="taskName == '合同拟稿'">保 存</el-button>
358
           <el-button type="warning" @click="saves()" :disabled="formDisabled" v-if="taskName == '合同拟稿'">保 存</el-button>
359
-          <el-button type="primary" @click="submitForm" :disabled="formDisabled">提 交</el-button>
360
           <el-button type="danger" @click="returnOpen = true" :disabled="formDisabled"
359
           <el-button type="danger" @click="returnOpen = true" :disabled="formDisabled"
361
             v-if="taskName == '分管审核' || taskName == '总经理审核'">退
360
             v-if="taskName == '分管审核' || taskName == '总经理审核'">退
362
             回</el-button>
361
             回</el-button>
362
+          <el-button type="primary" @click="submitForm" :disabled="formDisabled">提 交</el-button>
363
         </div>
363
         </div>
364
       </el-col>
364
       </el-col>
365
       <el-col :span="6" :xs="24" v-if="flowDisabled">
365
       <el-col :span="6" :xs="24" v-if="flowDisabled">
391
       <sub-contract :taskForm="subContractId" :taskName="''" :formDisabled="true" :flowDisabled="false"></sub-contract>
391
       <sub-contract :taskForm="subContractId" :taskName="''" :formDisabled="true" :flowDisabled="false"></sub-contract>
392
     </el-drawer>
392
     </el-drawer>
393
     <el-dialog title="退回" :visible.sync="returnOpen" width="40%" append-to-body>
393
     <el-dialog title="退回" :visible.sync="returnOpen" width="40%" append-to-body>
394
-      <return-btn :taskForm="taskForm" :comment="taskName == '分管审核' ? form.managerComment : form.gmComment" @goBack="$emit('goBack')" @saves="" @cancel="returnOpen = false"></return-btn>
394
+      <return-btn :taskForm="taskForm" :comment="taskName == '分管审核' ? form.managerComment : form.gmComment"
395
+        @goBack="$emit('goBack')" @saves="" @cancel="returnOpen = false"></return-btn>
395
     </el-dialog>
396
     </el-dialog>
396
   </div>
397
   </div>
397
 </template>
398
 </template>
575
     }
576
     }
576
     else if (this.taskName == '分管审核') {
577
     else if (this.taskName == '分管审核') {
577
       this.managerUser = this.$store.getters.name;
578
       this.managerUser = this.$store.getters.name;
579
+      this.form.managerUserId = this.$store.getters.userId;
578
       this.managerTime = parseTime(new Date(), '{y}-{m}-{d}')
580
       this.managerTime = parseTime(new Date(), '{y}-{m}-{d}')
579
     }
581
     }
580
     else if (this.taskName == '总经理审核') {
582
     else if (this.taskName == '总经理审核') {
581
       this.gmUser = this.$store.getters.name;
583
       this.gmUser = this.$store.getters.name;
584
+      this.form.gmUserId = this.$store.getters.userId;
582
       this.gmTime = parseTime(new Date(), '{y}-{m}-{d}')
585
       this.gmTime = parseTime(new Date(), '{y}-{m}-{d}')
583
     }
586
     }
587
+    console.log(this.form);
588
+
584
     this.getProjectList();
589
     this.getProjectList();
585
     this.getPartyAList();
590
     this.getPartyAList();
586
     this.getDeptList();
591
     this.getDeptList();
938
       if (!this.isDocumentValid) {
943
       if (!this.isDocumentValid) {
939
         return;
944
         return;
940
       }
945
       }
941
-      console.log(this.commentList);
942
-      
943
       this.$refs["form"].validate(valid => {
946
       this.$refs["form"].validate(valid => {
944
         if (valid) {
947
         if (valid) {
945
           if (this.formTotal != 0) {
948
           if (this.formTotal != 0) {
949
+            if (this.taskName == '分管审核') {
950
+              this.form.managerUserId = this.$store.getters.userId;
951
+            }
952
+            else if (this.taskName == '总经理审核') {
953
+              this.form.gmUserId = this.$store.getters.userId;
954
+            }
946
             const params = { taskId: this.taskForm.taskId };
955
             const params = { taskId: this.taskForm.taskId };
947
             this.updateContractData();
956
             this.updateContractData();
948
             this.updateRelatedProject();
957
             this.updateRelatedProject();
960
                   });
969
                   });
961
                 })
970
                 })
962
               }
971
               }
963
-              else if (this.taskName == '线上会审' ) {
972
+              else if (this.taskName == '线上会审') {
964
                 for (let comment of this.commentList) {
973
                 for (let comment of this.commentList) {
965
                   updateContractComment(comment);
974
                   updateContractComment(comment);
966
                 }
975
                 }
1037
     updateContractData() {
1046
     updateContractData() {
1038
       this.workList = this.$refs.workTableRef.workList;
1047
       this.workList = this.$refs.workTableRef.workList;
1039
       this.paymentList = this.$refs.paymentRef.paymentList;
1048
       this.paymentList = this.$refs.paymentRef.paymentList;
1049
+      console.log(this.form);
1040
       updateContract(this.form).then(response => {
1050
       updateContract(this.form).then(response => {
1041
         this.$modal.msgSuccess("保存成功");
1051
         this.$modal.msgSuccess("保存成功");
1042
         this.open = false;
1052
         this.open = false;

+ 13
- 5
oa-ui/src/views/flowable/form/business/subContract.vue 查看文件

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-05-10 15:31:57
3
  * @Date: 2024-05-10 15:31:57
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-12-06 16:50:54
5
+ * @LastEditTime: 2024-12-10 17:11:17
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div class="app-container">
8
   <div class="app-container">
326
         </el-form>
326
         </el-form>
327
         <div style="text-align: center;" v-if="flowDisabled">
327
         <div style="text-align: center;" v-if="flowDisabled">
328
           <el-button type="warning" @click="saves()" :disabled="formDisabled" v-if="taskName == '合同拟稿'">保 存</el-button>
328
           <el-button type="warning" @click="saves()" :disabled="formDisabled" v-if="taskName == '合同拟稿'">保 存</el-button>
329
-          <el-button type="primary" @click="submitForm" :disabled="formDisabled">提 交</el-button>
330
           <el-button type="danger" @click="returnOpen = true" :disabled="formDisabled"
329
           <el-button type="danger" @click="returnOpen = true" :disabled="formDisabled"
331
             v-if="taskName == '分管审核' || taskName == '总经理审核'">退
330
             v-if="taskName == '分管审核' || taskName == '总经理审核'">退
332
             回</el-button>
331
             回</el-button>
332
+          <el-button type="primary" @click="submitForm" :disabled="formDisabled">提 交</el-button>
333
         </div>
333
         </div>
334
       </el-col>
334
       </el-col>
335
       <el-col :span="6" :xs="24" v-if="flowDisabled">
335
       <el-col :span="6" :xs="24" v-if="flowDisabled">
564
     }
564
     }
565
     else if (this.taskName == '分管审核') {
565
     else if (this.taskName == '分管审核') {
566
       this.managerUser = this.$store.getters.name;
566
       this.managerUser = this.$store.getters.name;
567
+      this.form.managerUserId = this.$store.getters.userId;
567
       this.managerTime = parseTime(new Date(), '{y}-{m}-{d}')
568
       this.managerTime = parseTime(new Date(), '{y}-{m}-{d}')
568
     }
569
     }
569
     else if (this.taskName == '总经理审核') {
570
     else if (this.taskName == '总经理审核') {
570
       this.gmUser = this.$store.getters.name;
571
       this.gmUser = this.$store.getters.name;
572
+      this.form.gmUserId = this.$store.getters.userId;
571
       this.gmTime = parseTime(new Date(), '{y}-{m}-{d}')
573
       this.gmTime = parseTime(new Date(), '{y}-{m}-{d}')
572
     }
574
     }
573
     this.getProjectList();
575
     this.getProjectList();
839
         if (this.form.partnerId && this.form.partnerId instanceof Array)
841
         if (this.form.partnerId && this.form.partnerId instanceof Array)
840
           this.form.partnerId = this.form.partnerId.join(',')
842
           this.form.partnerId = this.form.partnerId.join(',')
841
         updateSubContract(this.form).then(response => {
843
         updateSubContract(this.form).then(response => {
842
-          this.$modal.msgSuccess("修改成功");
844
+          this.$modal.msgSuccess("表单修改成功");
843
           this.open = false;
845
           this.open = false;
844
           this.getList();
846
           this.getList();
845
           this.updateChooseProjectList()
847
           this.updateChooseProjectList()
849
         if (this.form.partnerId && this.form.partnerId.length)
851
         if (this.form.partnerId && this.form.partnerId.length)
850
           this.form.partnerId = this.form.partnerId.join(',')
852
           this.form.partnerId = this.form.partnerId.join(',')
851
         addSubContract(this.form).then(response => {
853
         addSubContract(this.form).then(response => {
852
-          this.$modal.msgSuccess("新增成功");
854
+          this.$modal.msgSuccess("表单新增成功");
853
           this.open = false;
855
           this.open = false;
854
           this.getList();
856
           this.getList();
855
           this.initForm();
857
           this.initForm();
893
           if (this.formTotal != 0) {
895
           if (this.formTotal != 0) {
894
             if (this.form.partnerId)
896
             if (this.form.partnerId)
895
               this.form.partnerId = this.form.partnerId.join(',')
897
               this.form.partnerId = this.form.partnerId.join(',')
898
+            if (this.taskName == '分管审核') {
899
+              this.form.managerUserId = this.$store.getters.userId;
900
+            }
901
+            else if (this.taskName == '总经理审核') {
902
+              this.form.gmUserId = this.$store.getters.userId;
903
+            }
896
             updateSubContract(this.form).then(response => {
904
             updateSubContract(this.form).then(response => {
897
-              this.$modal.msgSuccess("修改成功");
905
+              this.$modal.msgSuccess("表单修改成功");
898
               this.open = false;
906
               this.open = false;
899
               this.getList();
907
               this.getList();
900
               this.updateChooseProjectList()
908
               this.updateChooseProjectList()

+ 10
- 0
oa-ui/src/views/flowable/form/finance/borrowForm.vue 查看文件

422
   created() {
422
   created() {
423
     if (this.taskName == '部门审核') {
423
     if (this.taskName == '部门审核') {
424
       this.deptUser = this.$store.getters.name;
424
       this.deptUser = this.$store.getters.name;
425
+      this.form.deptUserId = this.$store.getters.userId;
425
       this.deptTime = parseTime(new Date(), '{y}-{m}-{d}')
426
       this.deptTime = parseTime(new Date(), '{y}-{m}-{d}')
426
     }
427
     }
427
     if (this.taskName == '分管审核') {
428
     if (this.taskName == '分管审核') {
428
       this.managerUser = this.$store.getters.name;
429
       this.managerUser = this.$store.getters.name;
430
+      this.form.managerUserId = this.$store.getters.userId;
429
       this.managerTime = parseTime(new Date(), '{y}-{m}-{d}')
431
       this.managerTime = parseTime(new Date(), '{y}-{m}-{d}')
430
     }
432
     }
431
     if (this.taskName == '总经理审核') {
433
     if (this.taskName == '总经理审核') {
432
       this.zjlUser = this.$store.getters.name;
434
       this.zjlUser = this.$store.getters.name;
435
+      this.form.zjlUserId = this.$store.getters.userId;
433
       this.zjlTime = parseTime(new Date(), '{y}-{m}-{d}')
436
       this.zjlTime = parseTime(new Date(), '{y}-{m}-{d}')
434
     }
437
     }
435
     if (this.taskName == '董事长批准') {
438
     if (this.taskName == '董事长批准') {
436
       this.dszUser = this.$store.getters.name;
439
       this.dszUser = this.$store.getters.name;
440
+      this.form.dszUserId = this.$store.getters.userId;
437
       this.dszTime = parseTime(new Date(), '{y}-{m}-{d}')
441
       this.dszTime = parseTime(new Date(), '{y}-{m}-{d}')
438
     }
442
     }
439
     if (this.taskName == '党工团审核') {
443
     if (this.taskName == '党工团审核') {
440
       this.unionUser = this.$store.getters.name;
444
       this.unionUser = this.$store.getters.name;
445
+      this.form.unionUserId = this.$store.getters.userId;
441
       this.unionTime = parseTime(new Date(), '{y}-{m}-{d}')
446
       this.unionTime = parseTime(new Date(), '{y}-{m}-{d}')
442
     }
447
     }
443
     if (this.taskName == '财务处理') {
448
     if (this.taskName == '财务处理') {
444
       this.cwUser = this.$store.getters.name;
449
       this.cwUser = this.$store.getters.name;
450
+      this.form.cwUserId = this.$store.getters.userId;
445
       this.lendTime = parseTime(new Date(), '{y}-{m}-{d}')
451
       this.lendTime = parseTime(new Date(), '{y}-{m}-{d}')
446
     }
452
     }
447
     this.form.applyDate = new Date();
453
     this.form.applyDate = new Date();
947
     padding: .0625rem;
953
     padding: .0625rem;
948
   }
954
   }
949
 }
955
 }
956
+::v-deep .el-descriptions-item__label.is-bordered-label {
957
+  width: 110px;
958
+}
959
+
950
 </style>
960
 </style>

+ 33
- 3
oa-ui/src/views/flowable/form/settleForm.vue 查看文件

2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-04-30 09:03:14
3
  * @Date: 2024-04-30 09:03:14
4
  * @LastEditors: Please set LastEditors
4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-10-25 14:04:14
5
+ * @LastEditTime: 2024-12-10 13:45:36
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div class="app-container" v-loading="loading">
8
   <div class="app-container" v-loading="loading">
10
       <el-col :span="flowDisabled ? 19 : 24" :xs="24">
10
       <el-col :span="flowDisabled ? 19 : 24" :xs="24">
11
         <el-button type="success" icon="el-icon-printer" @click="printOpen = true">打印</el-button>
11
         <el-button type="success" icon="el-icon-printer" @click="printOpen = true">打印</el-button>
12
         <h2 class="text-center">项目结算表</h2>
12
         <h2 class="text-center">项目结算表</h2>
13
+        <div class="mt20 mb20" v-if="showAlter && flowDisabled">
14
+          <el-alert title="任务被退回,请修改后重新提交" type="error" :closable="false">
15
+            <return-comment :taskForm="taskForm" @isReturn="isReturn"></return-comment>
16
+          </el-alert>
17
+        </div>
13
         <div class="headers">
18
         <div class="headers">
14
           项目信息
19
           项目信息
15
           <div class="line"></div>
20
           <div class="line"></div>
177
                   {{ index + 1 }}
182
                   {{ index + 1 }}
178
                 </td>
183
                 </td>
179
                 <td>
184
                 <td>
180
-              <tr>
185
+              <tr v-if="taskName == '结算发起'">
181
                 <td>
186
                 <td>
182
                   <el-button size="mini" type="primary" icon="el-icon-plus" :disabled="isModify"
187
                   <el-button size="mini" type="primary" icon="el-icon-plus" :disabled="isModify"
183
                     @click="handleChoosePrice(work, index)">选择工作内容</el-button>
188
                     @click="handleChoosePrice(work, index)">选择工作内容</el-button>
455
         <el-button type="success" icon="el-icon-printer" @click="printOpen = true">打印</el-button>
460
         <el-button type="success" icon="el-icon-printer" @click="printOpen = true">打印</el-button>
456
         <div style="text-align: center" v-if="!disabled">
461
         <div style="text-align: center" v-if="!disabled">
457
           <el-button type="warning" @click="preserve">保存</el-button>
462
           <el-button type="warning" @click="preserve">保存</el-button>
463
+          <el-button type="danger" v-if="taskName == '经营发展部校核' || taskName == '分管审核' || taskName == '总经理审批' || taskName == '董事长批准'" @click="returnOpen = true">退 回</el-button>
458
           <el-button type="primary" @click="submitNextFlow" v-if="taskName != '董事长批准'">提交下一个流程</el-button>
464
           <el-button type="primary" @click="submitNextFlow" v-if="taskName != '董事长批准'">提交下一个流程</el-button>
459
           <el-button type="primary" @click="submitNextFlow" v-else>结算批准</el-button>
465
           <el-button type="primary" @click="submitNextFlow" v-else>结算批准</el-button>
460
         </div>
466
         </div>
480
     <el-dialog title="选择项目" :visible.sync="prOpen" width="70%" append-to-body>
486
     <el-dialog title="选择项目" :visible.sync="prOpen" width="70%" append-to-body>
481
       <choose-project @chooseProject="confirmProject"></choose-project>
487
       <choose-project @chooseProject="confirmProject"></choose-project>
482
     </el-dialog>
488
     </el-dialog>
489
+    <el-dialog title="退回" :visible.sync="returnOpen" width="40%" append-to-body>
490
+      <return-btn :taskForm="taskForm" :comment="commentByRole()" @goBack="$emit('goBack')" @saves=""
491
+        @cancel="returnOpen = false"></return-btn>
492
+    </el-dialog>
483
   </div>
493
   </div>
484
 </template>
494
 </template>
485
 
495
 
507
 import { getContract } from "@/api/oa/contract/contract";
517
 import { getContract } from "@/api/oa/contract/contract";
508
 import ChooseProject from "./components/chooseProject.vue";
518
 import ChooseProject from "./components/chooseProject.vue";
509
 import projectContractInfo from "./projectContractInfo.vue";
519
 import projectContractInfo from "./projectContractInfo.vue";
520
+import ReturnComment from '@/views/flowable/form/components/flowBtn/returnComment.vue';
521
+import ReturnBtn from '@/views/flowable/form/components/flowBtn/returnBtn.vue';
510
 export default {
522
 export default {
511
   components: {
523
   components: {
512
     flow,
524
     flow,
513
     ChoosePrice,
525
     ChoosePrice,
514
     SettlePrint,
526
     SettlePrint,
515
     ChooseProject,
527
     ChooseProject,
516
-    projectContractInfo
528
+    projectContractInfo,
529
+    ReturnComment,
530
+    ReturnBtn
517
   },
531
   },
518
   props: {
532
   props: {
519
     taskName: {
533
     taskName: {
607
       exceedAmount: 0,
621
       exceedAmount: 0,
608
       isModify: false, //是否可以修改结算工作量
622
       isModify: false, //是否可以修改结算工作量
609
       projectId: '',
623
       projectId: '',
624
+      showAlter: true,
625
+      returnOpen: false,
610
     };
626
     };
611
   },
627
   },
612
   created() {
628
   created() {
1121
         }
1137
         }
1122
       });
1138
       });
1123
     },
1139
     },
1140
+    isReturn(val) {
1141
+      this.showAlter = val
1142
+    },
1143
+    commentByRole() {
1144
+      if (this.taskName == '经营发展部校核') {
1145
+        return this.form.jyComment
1146
+      } else if (this.taskName == '分管审核') {
1147
+        return this.form.managerComment
1148
+      } else if (this.taskName == '总经理审批') {
1149
+        return this.form.gmComment
1150
+      } else if (this.taskName == '董事长批准') {
1151
+        return this.form.dszComment
1152
+      }
1153
+    }
1124
   },
1154
   },
1125
 };
1155
 };
1126
 </script>
1156
 </script>

+ 40
- 10
oa-ui/src/views/flowable/form/settleOther.vue 查看文件

1
 <!--
1
 <!--
2
  * @Author: ysh
2
  * @Author: ysh
3
  * @Date: 2024-04-30 09:03:14
3
  * @Date: 2024-04-30 09:03:14
4
- * @LastEditors: wrh
5
- * @LastEditTime: 2024-10-22 15:20:14
4
+ * @LastEditors: Please set LastEditors
5
+ * @LastEditTime: 2024-12-10 15:46:32
6
 -->
6
 -->
7
 <template>
7
 <template>
8
   <div class="app-container" v-loading="loading">
8
   <div class="app-container" v-loading="loading">
10
       <el-col :span="flowDisabled ? 19 : 24" :xs="24">
10
       <el-col :span="flowDisabled ? 19 : 24" :xs="24">
11
         <el-button type="success" icon="el-icon-printer" @click="printOpen = true">打印</el-button>
11
         <el-button type="success" icon="el-icon-printer" @click="printOpen = true">打印</el-button>
12
         <h2 class="text-center">其他结算表</h2>
12
         <h2 class="text-center">其他结算表</h2>
13
+        <div class="mt20 mb20" v-if="showAlter && flowDisabled">
14
+          <el-alert title="任务被退回,请修改后重新提交" type="error" :closable="false">
15
+            <return-comment :taskForm="taskForm" @isReturn="isReturn"></return-comment>
16
+          </el-alert>
17
+        </div>
13
         <div class="headers">
18
         <div class="headers">
14
           项目信息
19
           项目信息
15
           <div class="line"></div>
20
           <div class="line"></div>
167
                 <td style="width: 280px">备注</td>
172
                 <td style="width: 280px">备注</td>
168
                 <td style="width: 100px">操作</td>
173
                 <td style="width: 100px">操作</td>
169
               </tr>
174
               </tr>
170
-              <tr v-for="(  work, index  ) in   settleSumList  " :key="index">
175
+              <tr v-for="(  work, index  ) in settleSumList  " :key="index">
171
                 <td>
176
                 <td>
172
                   {{ index + 1 }}
177
                   {{ index + 1 }}
173
                 </td>
178
                 </td>
203
                 <td style="width: 280px">备注</td>
208
                 <td style="width: 280px">备注</td>
204
                 <td style="width: 100px">操作</td>
209
                 <td style="width: 100px">操作</td>
205
               </tr>
210
               </tr>
206
-              <tr v-for="(  dept, index  ) in   deptSettleList  " :key="index">
211
+              <tr v-for="(  dept, index  ) in deptSettleList  " :key="index" v-if="dept.content != '实际结算总金额'">
207
                 <td :rowspan="deptSettleList.length" v-if="index == 0">
212
                 <td :rowspan="deptSettleList.length" v-if="index == 0">
208
                   {{ Number(actualSumSettle).toFixed(2) }}
213
                   {{ Number(actualSumSettle).toFixed(2) }}
209
                 </td>
214
                 </td>
215
                   </el-input> -->
220
                   </el-input> -->
216
                   <el-select v-model="dept.content" placeholder="请选择" filterable clearable style="width:100%;"
221
                   <el-select v-model="dept.content" placeholder="请选择" filterable clearable style="width:100%;"
217
                     :disabled="isModify">
222
                     :disabled="isModify">
218
-                    <el-option v-for="item  in $store.state.user.deptList" :key="item.deptId" :label="item.deptName"
223
+                    <el-option v-for="item in $store.state.user.deptList" :key="item.deptId" :label="item.deptName"
219
                       :value="item.deptName">
224
                       :value="item.deptName">
220
                     </el-option>
225
                     </el-option>
221
                   </el-select>
226
                   </el-select>
260
             <el-row>
265
             <el-row>
261
               <el-col :span="6" :xs="24" :offset="12">
266
               <el-col :span="6" :xs="24" :offset="12">
262
                 <el-form-item label="签名:" label-width="120px">
267
                 <el-form-item label="签名:" label-width="120px">
263
-                  <span class="auditor"> {{ form.managerUserName ? "" : getUserName(form.managerUserId) }} </span>
268
+                  <span class="auditor"> {{ form.managerUserName ? form.managerUserName : getUserName(form.managerUserId) }} </span>
264
                 </el-form-item>
269
                 </el-form-item>
265
               </el-col>
270
               </el-col>
266
               <el-col :span="6">
271
               <el-col :span="6">
277
             <el-row>
282
             <el-row>
278
               <el-col :span="6" :xs="24" :offset="12">
283
               <el-col :span="6" :xs="24" :offset="12">
279
                 <el-form-item label="签名:" label-width="120px">
284
                 <el-form-item label="签名:" label-width="120px">
280
-                  <span class="auditor"> {{ form.gmUserName ? "" : getUserName(form.gmUserId) }} </span>
285
+                  <span class="auditor"> {{ form.gmUserName ? form.gmUserName : getUserName(form.gmUserId) }} </span>
281
                 </el-form-item>
286
                 </el-form-item>
282
               </el-col>
287
               </el-col>
283
               <el-col :span="6">
288
               <el-col :span="6">
292
         <el-button type="success" icon="el-icon-printer" @click="printOpen = true">打印</el-button>
297
         <el-button type="success" icon="el-icon-printer" @click="printOpen = true">打印</el-button>
293
         <div style="text-align: center" v-if="!disabled">
298
         <div style="text-align: center" v-if="!disabled">
294
           <el-button type="warning" @click="preserve">保存</el-button>
299
           <el-button type="warning" @click="preserve">保存</el-button>
300
+          <el-button type="danger" v-if="taskName != '结算发起'" @click="returnOpen = true">退 回</el-button>
295
           <el-button type="primary" @click="submitNextFlow" v-if="taskName != '总经理审批'">提交下一个流程</el-button>
301
           <el-button type="primary" @click="submitNextFlow" v-if="taskName != '总经理审批'">提交下一个流程</el-button>
296
           <el-button type="primary" @click="submitNextFlow" v-else>结算批准</el-button>
302
           <el-button type="primary" @click="submitNextFlow" v-else>结算批准</el-button>
297
         </div>
303
         </div>
314
       <choose-price :row="clickWork" @getPrice="getPrice" @cancel="drawer = false"></choose-price>
320
       <choose-price :row="clickWork" @getPrice="getPrice" @cancel="drawer = false"></choose-price>
315
     </el-drawer>
321
     </el-drawer>
316
 
322
 
323
+    <el-dialog title="退回" :visible.sync="returnOpen" width="40%" append-to-body>
324
+      <return-btn :taskForm="taskForm" :comment="commentByRole()" @goBack="$emit('goBack')" @saves=""
325
+        @cancel="returnOpen = false"></return-btn>
326
+    </el-dialog>
317
   </div>
327
   </div>
318
 </template>
328
 </template>
319
 
329
 
333
 import { complete, getNextFlowNode } from "@/api/flowable/todo";
343
 import { complete, getNextFlowNode } from "@/api/flowable/todo";
334
 import { getUsersDeptLeader, getUsersDeptLeaderByDept, getUsersManageLeaderByDept, } from "@/api/system/post.js";
344
 import { getUsersDeptLeader, getUsersDeptLeaderByDept, getUsersManageLeaderByDept, } from "@/api/system/post.js";
335
 import SettlePrint from "./components/print/settlePrint.vue";
345
 import SettlePrint from "./components/print/settlePrint.vue";
336
-import { getDept } from "@/api/system/dept";
346
+import ReturnComment from '@/views/flowable/form/components/flowBtn/returnComment.vue';
347
+import ReturnBtn from '@/views/flowable/form/components/flowBtn/returnBtn.vue';
337
 export default {
348
 export default {
338
   components: {
349
   components: {
339
     flow,
350
     flow,
340
     ChoosePrice,
351
     ChoosePrice,
341
     SettlePrint,
352
     SettlePrint,
353
+    ReturnComment,
354
+    ReturnBtn
342
   },
355
   },
343
   props: {
356
   props: {
344
     taskName: {
357
     taskName: {
419
       deptId: undefined,
432
       deptId: undefined,
420
       deptList: [],
433
       deptList: [],
421
       isModify: false, //是否可以修改结算工作量
434
       isModify: false, //是否可以修改结算工作量
435
+      showAlter: true,
436
+      returnOpen: false,
422
     };
437
     };
423
   },
438
   },
424
   created() {
439
   created() {
479
           }
494
           }
480
           this.settleSumList = settleSummaryResponse.rows.filter((item) => item.tableNumber == "0");
495
           this.settleSumList = settleSummaryResponse.rows.filter((item) => item.tableNumber == "0");
481
           this.deptSettleList = settleSummaryResponse.rows.filter(
496
           this.deptSettleList = settleSummaryResponse.rows.filter(
482
-            (item) => item.tableNumber == "1"
497
+            (item) => item.tableNumber == "1" && item.content != '实际结算总金额'
483
           );
498
           );
484
           this.calculateActualSumSettle();
499
           this.calculateActualSumSettle();
485
         }
500
         }
493
       } else if (res.total == 0) {
508
       } else if (res.total == 0) {
494
         this.flag = false;
509
         this.flag = false;
495
         if (this.taskName == "结算发起") {
510
         if (this.taskName == "结算发起") {
496
-          this.form.reporter = this.$store.state.user.id;
511
+          this.form.reporter = this.$store.getters.userId;
497
           this.form.reportTime = parseTime(new Date(), "{y}-{m}-{d}");
512
           this.form.reportTime = parseTime(new Date(), "{y}-{m}-{d}");
513
+          this.deptId = this.$store.getters.deptId;
498
         }
514
         }
499
       }
515
       }
500
       this.loading = false;
516
       this.loading = false;
504
     // 获取当前处理人
520
     // 获取当前处理人
505
     getCurrentUser() {
521
     getCurrentUser() {
506
       if (this.taskName == "分管审核") {
522
       if (this.taskName == "分管审核") {
523
+        console.log(this.$store.state.user.name);
524
+        
507
         this.form.managerUserName = this.$store.state.user.name;
525
         this.form.managerUserName = this.$store.state.user.name;
508
         this.form.managerUserId = this.$store.state.user.id;
526
         this.form.managerUserId = this.$store.state.user.id;
509
         this.form.managerTime = parseTime(new Date(), "{y}-{m}-{d}");
527
         this.form.managerTime = parseTime(new Date(), "{y}-{m}-{d}");
734
         item.settleId = settleId;
752
         item.settleId = settleId;
735
         addSettleSummary(item);
753
         addSettleSummary(item);
736
       }
754
       }
755
+      let obj = { settleId: settleId, content: '实际结算总金额', amount: (this.actualSumSettle).toFixed(2), tableNumber: 1 }
756
+      addSettleSummary(obj)
737
     },
757
     },
738
 
758
 
739
     // 更新数据
759
     // 更新数据
788
         }
808
         }
789
       });
809
       });
790
     },
810
     },
811
+    isReturn(val) {
812
+      this.showAlter = val
813
+    },
814
+    commentByRole() {
815
+      if (this.taskName == '分管审核') {
816
+        return this.form.managerComment
817
+      } else if (this.taskName == '总经理审批') {
818
+        return this.form.gmComment
819
+      }
820
+    }
791
   },
821
   },
792
 };
822
 };
793
 </script>
823
 </script>

+ 41
- 17
oa-ui/src/views/oa/contract/components/edit.vue 查看文件

107
 
107
 
108
       <el-divider></el-divider>
108
       <el-divider></el-divider>
109
 
109
 
110
-      <el-form-item label="拟稿日期" prop="draftTime">
111
-        <el-date-picker clearable v-model="form.draftTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择拟稿日期">
112
-        </el-date-picker>
113
-      </el-form-item>
114
-      <el-form-item label="分管审批日期" prop="managerTime">
115
-        <el-date-picker clearable v-model="form.managerTime" type="date" value-format="yyyy-MM-dd"
116
-          placeholder="请选择分管审批日期">
117
-        </el-date-picker>
118
-      </el-form-item>
119
-      <el-form-item label="总经理审批日期" prop="gmTime">
120
-        <el-date-picker clearable v-model="form.gmTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择总经理审批日期">
121
-        </el-date-picker>
122
-      </el-form-item>
123
-      <el-form-item label="签订日期" prop="signDate">
124
-        <el-date-picker clearable v-model="form.signDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择签订日期">
125
-        </el-date-picker>
126
-      </el-form-item>
110
+      <el-row>
111
+          <el-form-item label="拟稿日期" prop="draftTime">
112
+          <el-date-picker clearable v-model="form.draftTime" type="date" value-format="yyyy-MM-dd"
113
+            placeholder="请选择拟稿日期">
114
+          </el-date-picker>
115
+        </el-form-item>
116
+      </el-row>
117
+      <el-row>
118
+        <el-col :span="12">
119
+          <el-form-item label="分管审批日期" prop="managerTime">
120
+            <el-date-picker clearable v-model="form.managerTime" type="date" value-format="yyyy-MM-dd"
121
+              placeholder="请选择分管审批日期">
122
+            </el-date-picker>
123
+          </el-form-item>
124
+        </el-col>
125
+        <el-col :span="12">
126
+          <el-form-item label="分管审核意见" prop="managerComment">
127
+            <el-input type="textarea" v-model="form.managerComment" disabled></el-input>
128
+          </el-form-item>
129
+        </el-col>
130
+      </el-row>
131
+      <el-row>
132
+        <el-col :span="12">
133
+          <el-form-item label="总经理审批日期" prop="gmTime">
134
+            <el-date-picker clearable v-model="form.gmTime" type="date" value-format="yyyy-MM-dd"
135
+              placeholder="请选择总经理审批日期">
136
+            </el-date-picker>
137
+          </el-form-item>
138
+        </el-col>
139
+        <el-col :span="12">
140
+          <el-form-item label="总经理审批意见" prop="gmComment">
141
+            <el-input type="textarea" v-model="form.gmComment" disabled></el-input>
142
+          </el-form-item>
143
+        </el-col>
144
+      </el-row>
145
+      <el-row>
146
+        <el-form-item label="签订日期" prop="signDate">
147
+          <el-date-picker clearable v-model="form.signDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择签订日期">
148
+          </el-date-picker>
149
+        </el-form-item>
150
+      </el-row>
127
       <el-form-item label="评审方式">
151
       <el-form-item label="评审方式">
128
         <el-tag :type="form.commentType == '2' ? 'success' : 'warning'">
152
         <el-tag :type="form.commentType == '2' ? 'success' : 'warning'">
129
           {{ getCommentType(form.commentType) }}</el-tag>
153
           {{ getCommentType(form.commentType) }}</el-tag>

+ 41
- 17
oa-ui/src/views/oa/contract/components/subEdit.vue 查看文件

82
 
82
 
83
 
83
 
84
       <el-divider></el-divider>
84
       <el-divider></el-divider>
85
-      <el-form-item label="拟稿日期" prop="draftTime">
86
-        <el-date-picker clearable v-model="form.draftTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择拟稿日期">
87
-        </el-date-picker>
88
-      </el-form-item>
89
-      <el-form-item label="分管审批日期" prop="managerTime">
90
-        <el-date-picker clearable v-model="form.managerTime" type="date" value-format="yyyy-MM-dd"
91
-          placeholder="请选择分管审批日期">
92
-        </el-date-picker>
93
-      </el-form-item>
94
-      <el-form-item label="总经理审批日期" prop="gmTime">
95
-        <el-date-picker clearable v-model="form.gmTime" type="date" value-format="yyyy-MM-dd" placeholder="请选择总经理审批日期">
96
-        </el-date-picker>
97
-      </el-form-item>
98
-      <el-form-item label="签订日期" prop="signDate">
99
-        <el-date-picker clearable v-model="form.signDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择签订日期">
100
-        </el-date-picker>
101
-      </el-form-item>
85
+      <el-row>
86
+          <el-form-item label="拟稿日期" prop="draftTime">
87
+          <el-date-picker clearable v-model="form.draftTime" type="date" value-format="yyyy-MM-dd"
88
+            placeholder="请选择拟稿日期">
89
+          </el-date-picker>
90
+        </el-form-item>
91
+      </el-row>
92
+      <el-row>
93
+        <el-col :span="12">
94
+          <el-form-item label="分管审批日期" prop="managerTime">
95
+            <el-date-picker clearable v-model="form.managerTime" type="date" value-format="yyyy-MM-dd"
96
+              placeholder="请选择分管审批日期">
97
+            </el-date-picker>
98
+          </el-form-item>
99
+        </el-col>
100
+        <el-col :span="12">
101
+          <el-form-item label="分管审核意见" prop="managerComment">
102
+            <el-input type="textarea" v-model="form.managerComment" disabled></el-input>
103
+          </el-form-item>
104
+        </el-col>
105
+      </el-row>
106
+      <el-row>
107
+        <el-col :span="12">
108
+          <el-form-item label="总经理审批日期" prop="gmTime">
109
+            <el-date-picker clearable v-model="form.gmTime" type="date" value-format="yyyy-MM-dd"
110
+              placeholder="请选择总经理审批日期">
111
+            </el-date-picker>
112
+          </el-form-item>
113
+        </el-col>
114
+        <el-col :span="12">
115
+          <el-form-item label="总经理审批意见" prop="gmComment">
116
+            <el-input type="textarea" v-model="form.gmComment" disabled></el-input>
117
+          </el-form-item>
118
+        </el-col>
119
+      </el-row>
120
+      <el-row>
121
+        <el-form-item label="签订日期" prop="signDate">
122
+          <el-date-picker clearable v-model="form.signDate" type="date" value-format="yyyy-MM-dd" placeholder="请选择签订日期">
123
+          </el-date-picker>
124
+        </el-form-item>
125
+      </el-row>
102
       <el-form-item label="评审方式">
126
       <el-form-item label="评审方式">
103
         <el-tag :type="form.commentType == '2' ? 'success' : 'warning'">
127
         <el-tag :type="form.commentType == '2' ? 'success' : 'warning'">
104
           {{ getCommentType(form.commentType) }}</el-tag>
128
           {{ getCommentType(form.commentType) }}</el-tag>

正在加载...
取消
保存