|
@@ -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>
|