余思翰 4 месяцев назад
Родитель
Сommit
4f22ec5dc5

+ 0
- 15
oa-ui/src/views/flowable/form/budget/budgetDetails.vue Просмотреть файл

@@ -1,15 +0,0 @@
1
-<template>
2
-  <div>
3
-
4
-  </div>
5
-</template>
6
-
7
-<script>
8
-  export default {
9
-    
10
-  }
11
-</script>
12
-
13
-<style lang="scss" scoped>
14
-
15
-</style>

+ 38
- 21
oa-ui/src/views/flowable/form/business/contractForm.vue Просмотреть файл

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-05-10 15:31:57
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-10-09 14:19:38
5
+ * @LastEditTime: 2024-12-06 16:51:17
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -13,6 +13,11 @@
13 13
         <div style="text-align:right;">
14 14
           <el-button type="warning" size="mini" @click="gotoProjectRegister()" icon="el-icon-plus">项目登记、安排生产</el-button>
15 15
         </div>
16
+        <div class="mt20 mb20" v-if="showAlter && flowDisabled">
17
+          <el-alert title="任务被退回,请修改后重新提交" type="error" :closable="false">
18
+            <return-comment :taskForm="taskForm" @isReturn="isReturn"></return-comment>
19
+          </el-alert>
20
+        </div>
16 21
         <el-form ref="form" :model="form" :rules="rules" label-width="130px" :disabled="formDisabled">
17 22
           <el-form-item label="投标项目名称:" prop="tenderId">
18 23
             <el-button type="primary" size="mini" @click="tbOpen = true" v-if="taskName == '合同拟稿'">选择投标项目</el-button>
@@ -352,6 +357,9 @@
352 357
         <div style="text-align: center;" v-if="taskName">
353 358
           <el-button type="warning" @click="saves()" :disabled="formDisabled" v-if="taskName == '合同拟稿'">保 存</el-button>
354 359
           <el-button type="primary" @click="submitForm" :disabled="formDisabled">提 交</el-button>
360
+          <el-button type="danger" @click="returnOpen = true" :disabled="formDisabled"
361
+            v-if="taskName == '分管审核' || taskName == '总经理审核'">退
362
+            回</el-button>
355 363
         </div>
356 364
       </el-col>
357 365
       <el-col :span="6" :xs="24" v-if="flowDisabled">
@@ -382,6 +390,9 @@
382 390
     <el-drawer :visible.sync="subInfoOpen" title="" :size="'55%'" append-to-body>
383 391
       <sub-contract :taskForm="subContractId" :taskName="''" :formDisabled="true" :flowDisabled="false"></sub-contract>
384 392
     </el-drawer>
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>
395
+    </el-dialog>
385 396
   </div>
386 397
 </template>
387 398
 
@@ -402,31 +413,30 @@ import { getUsersDeptLeader, getUsersManageLeader, getUsersDeptLeaderByDept, get
402 413
 import { listSubContract, getSubContract, delSubContract, addSubContract, updateSubContract } from "@/api/oa/contract/subContract";
403 414
 import { listContractSubcontract, delContractSubcontract, addContractSubcontract } from "@/api/oa/contract/contractSubcontract"
404 415
 import flow from '@/views/flowable/task/todo/detail/flow'
405
-import { definitionStart,flowXmlAndNode } from "@/api/flowable/definition";
406
-import ChooseProject from '../components/chooseProject.vue';
407
-import ChooseTender from '../components/chooseTender.vue';
416
+import { definitionStart, flowXmlAndNode } from "@/api/flowable/definition";
408 417
 import { listPartyA } from "@/api/oa/partyA/partyA";
409
-import FileItem from './fileItem.vue';
410 418
 import { mapGetters } from "vuex";
411
-import ChoosePartyA from '@/views/flowable/form/components/choosePartyA.vue';
412
-import workTable from './components/workTable.vue';
413
-import paymentTable from './components/paymentTable.vue';
414 419
 import projectInfo from '@/views/oa/project/info'
415
-import ChooseSubcontract from '@/views/flowable/form/components/chooseSubcontract.vue';
416
-import subContract from '@/views/flowable/form/business/subContract.vue';
417 420
 import { listDefinition } from "@/api/flowable/definition";
418 421
 import { Snowflake } from '@/utils/snowFlake.js'
419 422
 import { todoList, getNextFlowNodeByStart } from "@/api/flowable/todo";
423
+
424
+import FileItem from './fileItem.vue';
425
+import ChooseProject from '../components/chooseProject.vue';
426
+import ChooseTender from '../components/chooseTender.vue';
427
+import workTable from './components/workTable.vue';
428
+import paymentTable from './components/paymentTable.vue';
429
+import subContract from '@/views/flowable/form/business/subContract.vue';
430
+import ChoosePartyA from '@/views/flowable/form/components/choosePartyA.vue';
431
+import ChooseSubcontract from '@/views/flowable/form/components/chooseSubcontract.vue';
432
+import ReturnComment from '@/views/flowable/form/components/flowBtn/returnComment.vue';
433
+import ReturnBtn from '@/views/flowable/form/components/flowBtn/returnBtn.vue';
434
+
420 435
 export default {
421 436
   dicts: ['cmc_scale_grade', 'cmc_unit'],
422 437
   components: {
423
-    flow,
424
-    ChooseProject,
425
-    ChooseTender,
426
-    FileItem,
427
-    ChoosePartyA,
428
-    workTable,
429
-    paymentTable, projectInfo, ChooseSubcontract, subContract
438
+    flow, ChooseProject, ChooseTender, FileItem, ChoosePartyA, workTable, paymentTable,
439
+    projectInfo, ChooseSubcontract, subContract, ReturnComment, ReturnBtn
430 440
   },
431 441
   props: {
432 442
     taskName: {
@@ -549,7 +559,9 @@ export default {
549 559
       clickTd: {},
550 560
       subContractId: {
551 561
         formId: ''
552
-      }
562
+      },
563
+      showAlter: true,
564
+      returnOpen: false,
553 565
     };
554 566
   },
555 567
   created() {
@@ -926,6 +938,8 @@ export default {
926 938
       if (!this.isDocumentValid) {
927 939
         return;
928 940
       }
941
+      console.log(this.commentList);
942
+      
929 943
       this.$refs["form"].validate(valid => {
930 944
         if (valid) {
931 945
           if (this.formTotal != 0) {
@@ -946,7 +960,7 @@ export default {
946 960
                   });
947 961
                 })
948 962
               }
949
-              else if (this.taskName == '线上会审') {
963
+              else if (this.taskName == '线上会审' ) {
950 964
                 for (let comment of this.commentList) {
951 965
                   updateContractComment(comment);
952 966
                 }
@@ -1078,7 +1092,7 @@ export default {
1078 1092
           let approvalList = [];
1079 1093
           for (let comment of this.commentList) {
1080 1094
             comment.contractId = this.form.contractId
1081
-            addContractComment(comment);
1095
+            if (!this.showAlter) { addContractComment(comment); }
1082 1096
             approvalList.push(comment.userId)
1083 1097
           }
1084 1098
           this.$set(this.taskForm.variables, "approvalList", approvalList);
@@ -1221,7 +1235,7 @@ export default {
1221 1235
           variables.variables = formData;
1222 1236
           let routePath = this.getRoutePath(row);
1223 1237
           this.$emit('goBack');
1224
-          this.$cache.local.set('contractId',`${this.taskForm.formId}`)
1238
+          this.$cache.local.set('contractId', `${this.taskForm.formId}`)
1225 1239
           definitionStart(row.id, JSON.stringify(variables)).then(res => {
1226 1240
             this.$modal.msgSuccess(res.msg);
1227 1241
             let procInstanceId = res.data;
@@ -1263,6 +1277,9 @@ export default {
1263 1277
       }
1264 1278
       return path
1265 1279
     },
1280
+    isReturn(val) {
1281
+      this.showAlter = val
1282
+    }
1266 1283
   }
1267 1284
 }
1268 1285
 </script>

+ 28
- 28
oa-ui/src/views/flowable/form/business/subContract.vue Просмотреть файл

@@ -2,13 +2,18 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-05-10 15:31:57
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-10-08 09:29:11
5
+ * @LastEditTime: 2024-12-06 16:50:54
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
9 9
     <el-row :gutter="20">
10 10
       <el-col :span="flowDisabled ? 18 : 24" :xs="24">
11 11
         <h2 class="text-center">分包合同评审表</h2>
12
+        <div class="mt20 mb20" v-if="showAlter && flowDisabled">
13
+          <el-alert title="任务被退回,请修改后重新提交" type="error" :closable="false">
14
+            <return-comment :taskForm="taskForm" @isReturn="isReturn"></return-comment>
15
+          </el-alert>
16
+        </div>
12 17
         <el-form ref="form" :model="form" :rules="rules" label-width="130px" :formDisabled="formDisabled">
13 18
           <el-divider></el-divider>
14 19
           <el-form-item label="分包合同名称" prop="subContractName">
@@ -322,6 +327,9 @@
322 327
         <div style="text-align: center;" v-if="flowDisabled">
323 328
           <el-button type="warning" @click="saves()" :disabled="formDisabled" v-if="taskName == '合同拟稿'">保 存</el-button>
324 329
           <el-button type="primary" @click="submitForm" :disabled="formDisabled">提 交</el-button>
330
+          <el-button type="danger" @click="returnOpen = true" :disabled="formDisabled"
331
+            v-if="taskName == '分管审核' || taskName == '总经理审核'">退
332
+            回</el-button>
325 333
         </div>
326 334
       </el-col>
327 335
       <el-col :span="6" :xs="24" v-if="flowDisabled">
@@ -346,6 +354,10 @@
346 354
     <el-drawer :visible.sync="formOpen" title="" :size="'55%'" append-to-body>
347 355
       <contract-form :taskForm="contractId" :taskName="''" :formDisabled="true" :flowDisabled="false"></contract-form>
348 356
     </el-drawer>
357
+    <el-dialog title="退回" :visible.sync="returnOpen" width="40%" append-to-body>
358
+      <return-btn :taskForm="taskForm" :comment="taskName == '分管审核' ? form.managerComment : form.gmComment"
359
+        @goBack="$emit('goBack')" @saves="" @cancel="returnOpen = false"></return-btn>
360
+    </el-dialog>
349 361
   </div>
350 362
 </template>
351 363
 
@@ -368,14 +380,17 @@ import { getUsersDeptLeader, getUsersManageLeader, getUsersDeptLeaderByDept, get
368 380
 import flow from '@/views/flowable/task/todo/detail/flow'
369 381
 import { flowXmlAndNode } from "@/api/flowable/definition";
370 382
 import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
371
-import projectChoose from '../components/chooseProject.vue';
372
-import FileItem from './fileItem.vue';
373 383
 import { mapGetters } from "vuex";
374
-import ChoosePartner from '../components/choosePartner.vue';
384
+
385
+import projectInfo from '@/views/oa/project/info'
386
+import FileItem from './fileItem.vue';
375 387
 import workTable from './components/workTable.vue';
376 388
 import paymentTable from './components/paymentTable.vue';
389
+import projectChoose from '../components/chooseProject.vue';
390
+import ChoosePartner from '../components/choosePartner.vue';
377 391
 import contractForm from '@/views/flowable/form/business/contractForm.vue';
378
-import projectInfo from '@/views/oa/project/info'
392
+import ReturnBtn from '@/views/flowable/form/components/flowBtn/returnBtn.vue';
393
+import ReturnComment from '@/views/flowable/form/components/flowBtn/returnComment.vue';
379 394
 export default {
380 395
   dicts: ['cmc_scale_grade', 'cmc_unit'],
381 396
   components: {
@@ -387,6 +402,8 @@ export default {
387 402
     paymentTable,
388 403
     contractForm,
389 404
     projectInfo,
405
+    ReturnComment,
406
+    ReturnBtn
390 407
   },
391 408
   props: {
392 409
     taskName: {
@@ -532,6 +549,8 @@ export default {
532 549
         formId: ''
533 550
       },
534 551
       drawerOpen: false,
552
+      showAlter: true,
553
+      returnOpen: false,
535 554
     };
536 555
   },
537 556
   created() {
@@ -971,7 +990,7 @@ export default {
971 990
         let approvalList = [];
972 991
         for (let comment of this.commentList) {
973 992
           comment.contractId = this.form.subContractId
974
-          addContractComment(comment);
993
+          if (!this.showAlter) { addContractComment(comment); }
975 994
           approvalList.push(comment.userId)
976 995
         }
977 996
         this.$set(this.taskForm.variables, "approvalList", approvalList);
@@ -989,28 +1008,6 @@ export default {
989 1008
         handleComplete(this.taskForm);
990 1009
       }
991 1010
     },
992
-    // updateChooseProjectList() {
993
-    //   this.workList = this.$refs.workTableRef.workList;
994
-    //   this.paymentList = this.$refs.paymentRef.paymentList;
995
-    //   const subContractId = this.taskForm.formId
996
-    //   delProjectSubcontract(subContractId).then(() => {
997
-    //     this.chooseProjectList.forEach(item => {
998
-    //       addProjectSubcontract({ subContractId: subContractId, projectId: item.projectId })
999
-    //     })
1000
-    //   })
1001
-    //   delContractWork(subContractId).then(() => {
1002
-    //     for (let work of this.workList) {
1003
-    //       work.contractId = subContractId;
1004
-    //       addContractWork(work);
1005
-    //     }
1006
-    //   })
1007
-    //   delContractPayment(subContractId).then(() => {
1008
-    //     for (let payment of this.paymentList) {
1009
-    //       payment.contractId = subContractId;
1010
-    //       addContractPayment(payment);
1011
-    //     }
1012
-    //   })
1013
-    // },
1014 1011
     async updateChooseProjectList() {
1015 1012
       this.workList = this.$refs.workTableRef.workList;
1016 1013
       this.paymentList = this.$refs.paymentRef.paymentList;
@@ -1172,6 +1169,9 @@ export default {
1172 1169
       this.$router.replace({ query: { ...this.$route.query, projectId: row.projectId } });
1173 1170
       this.drawerOpen = true;
1174 1171
     },
1172
+    isReturn(val) {
1173
+      this.showAlter = val
1174
+    }
1175 1175
   }
1176 1176
 };
1177 1177
 </script>

+ 15
- 5
oa-ui/src/views/flowable/form/components/flowBtn/returnBtn.vue Просмотреть файл

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-09-27 15:19:36
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-10-15 15:30:48
5
+ * @LastEditTime: 2024-12-06 15:25:39
6 6
 -->
7 7
 <template>
8 8
   <div>
@@ -14,7 +14,7 @@
14 14
         </el-radio-group>
15 15
       </el-form-item>
16 16
       <el-form-item label="退回意见" prop="comment">
17
-        <el-input  type="textarea" v-model="taskForm.comment" placeholder="请输入意见" />
17
+        <el-input type="textarea" v-model="taskForm.comment" placeholder="请输入意见" />
18 18
       </el-form-item>
19 19
     </el-form>
20 20
     <div class="text-center">
@@ -31,21 +31,31 @@ export default {
31 31
     taskForm: {
32 32
       type: Object,
33 33
       require: true
34
+    },
35
+    comment: {
36
+      type: String,
37
+      default: ''
34 38
     }
35 39
   },
36 40
   data() {
37 41
     return {
38 42
       form: {},
39 43
       returnTaskList: [],
40
-      rules:{
41
-        targetKey:[{ required: true, message: '请选择退回节点', trigger: 'change' }],
42
-        comment:[{ required: true, message: '请输入意见', trigger: 'blur' }],
44
+      rules: {
45
+        targetKey: [{ required: true, message: '请选择退回节点', trigger: 'change' }],
46
+        comment: [{ required: true, message: '请输入意见', trigger: 'blur' }],
43 47
       }
44 48
     }
45 49
   },
46 50
   created() {
47 51
     this.handleReturn();
48 52
   },
53
+  mounted() {
54
+    debugger
55
+    if(this.comment != ''){
56
+      this.taskForm.comment = this.comment
57
+    }
58
+  },
49 59
   methods: {
50 60
     /** 可退回任务列表 */
51 61
     handleReturn() {

+ 0
- 1
oa-ui/src/views/oa/contract/components/subEdit.vue Просмотреть файл

@@ -311,7 +311,6 @@ export default {
311 311
             for (let comment of this.commentList) {
312 312
               updateContractComment(comment);
313 313
             }
314
-            debugger
315 314
             if (this.form.partnerId)
316 315
               this.form.partnerId = this.form.partnerId.join(',')
317 316
             this.updateSubContractFn()

+ 3
- 3
oa-ui/src/views/oa/contract/index.vue Просмотреть файл

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-06-21 18:52:00
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-09-25 17:05:16
5
+ * @LastEditTime: 2024-12-06 16:19:55
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -47,8 +47,8 @@
47 47
       <el-table-column label="合同名称" align="center" prop="contractName" width="220px" />
48 48
       <el-table-column label="合同金额" align="center" prop="amount" />
49 49
       <el-table-column label="甲方单位" align="center" prop="partyA.partyAName" width="220px" />
50
-      <el-table-column label="合同编码" align="center" prop="contractCode" />
51
-      <el-table-column label="合同编号" align="center" prop="contractNumber" />
50
+      <el-table-column label="合同编码(公司)" align="center" prop="contractCode" />
51
+      <el-table-column label="合同编号(业主)" align="center" prop="contractNumber" />
52 52
       <!-- <el-table-column label="履约保证金" align="center" prop="deposit" /> -->
53 53
       <el-table-column label="合同文件" align="center" prop="contractDocument" show-overflow-tooltip>
54 54
         <template slot-scope="scope">

+ 1
- 2
oa-ui/src/views/oa/staff/participate.vue Просмотреть файл

@@ -2,7 +2,7 @@
2 2
  * @Author: wrh
3 3
  * @Date: 2024-03-25 17:38:39
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-10-25 15:25:30
5
+ * @LastEditTime: 2024-10-25 17:01:50
6 6
 -->
7 7
 <template>
8 8
   <div>
@@ -38,7 +38,6 @@
38 38
 <script>
39 39
 import { listProject } from "@/api/oa/project/project";
40 40
 import { listDeclare } from "@/api/oa/declare/declare"
41
-import { getDeclare } from "../../../api/oa/declare/declare";
42 41
 export default {
43 42
   data() {
44 43
     return {

+ 2
- 2
oa-ui/src/views/statistics/components/borrowStatistics.vue Просмотреть файл

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-10-18 11:17:48
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-10-24 15:53:13
5
+ * @LastEditTime: 2024-10-25 17:20:59
6 6
 -->
7 7
 <template>
8 8
   <div style="width:100%;" v-loading="loading">
@@ -99,7 +99,7 @@ export default {
99 99
     initBorrowYearBar() {
100 100
       let option = {
101 101
         title: {
102
-          text: '各年借款申请次数',
102
+          text: '各年借款次数',
103 103
           subtext: '共计借款次数:' + Object.values(this.borrowYear).reduce((accumulator, currentValue) => accumulator + currentValue, 0) + '次'
104 104
         },
105 105
         grid: {

+ 2
- 2
oa-ui/src/views/statistics/components/settleStatistics.vue Просмотреть файл

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-10-18 11:17:48
4 4
  * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-10-24 16:00:44
5
+ * @LastEditTime: 2024-10-25 17:20:49
6 6
 -->
7 7
 <template>
8 8
   <div style="width:100%;" v-loading="loading">
@@ -105,7 +105,7 @@ export default {
105 105
     initSettleYearBar() {
106 106
       let option = {
107 107
         title: {
108
-          text: '各年结算申请次数',
108
+          text: '各年结算次数',
109 109
           subtext: '共计结算次数:' + Object.values(this.settleYear).reduce((accumulator, currentValue) => accumulator + currentValue, 0) + '次'
110 110
         },
111 111
         grid: {

+ 2
- 2
oa-ui/src/views/statistics/components/topHead.vue Просмотреть файл

@@ -47,7 +47,7 @@
47 47
       </div>
48 48
       <div class="four item-box" @click="$emit('handleClick', 'borrow')">
49 49
         <div class="data-left">
50
-          <div class="data-title">{{ thisYear }}借款申请次数</div>
50
+          <div class="data-title">{{ thisYear }}借款次数</div>
51 51
           <div class="number">{{ borrowNum.toLocaleString('en-US') }}</div>
52 52
           <div>
53 53
             <span class="text-1">较去年</span>
@@ -62,7 +62,7 @@
62 62
 
63 63
       <div class="five item-box" @click="$emit('handleClick', 'settle')">
64 64
         <div class="data-left">
65
-          <div class="data-title">{{ thisYear }}结算申请次数</div>
65
+          <div class="data-title">{{ thisYear }}结算次数</div>
66 66
           <div class="number">{{ settleNum.toLocaleString('en-US') }}</div>
67 67
           <div>
68 68
             <span class="text-1">较去年</span>

Загрузка…
Отмена
Сохранить