|
@@ -2,10 +2,14 @@
|
2
|
2
|
* @Author: ysh
|
3
|
3
|
* @Date: 2024-04-30 09:03:14
|
4
|
4
|
* @LastEditors: Please set LastEditors
|
5
|
|
- * @LastEditTime: 2024-05-08 17:54:13
|
|
5
|
+ * @LastEditTime: 2024-05-09 16:02:23
|
6
|
6
|
-->
|
7
|
7
|
<template>
|
8
|
8
|
<div class="app-container" v-loading="loading">
|
|
9
|
+ <el-button type="warning" icon="el-icon-printer" @click="printOpen = true">打印</el-button>
|
|
10
|
+ <el-dialog title="打印结算表" :visible.sync="printOpen" width="65%" append-to-body>
|
|
11
|
+ <settle-print :form="form" :chooseProject="chooseProject" :workList="settleWorkList" :settleList="oldSettleSumList"></settle-print>
|
|
12
|
+ </el-dialog>
|
9
|
13
|
<el-row :gutter="20">
|
10
|
14
|
<el-col :span="19" :xs="24">
|
11
|
15
|
<h2 class="text-center">项目结算表</h2>
|
|
@@ -235,8 +239,8 @@
|
235
|
239
|
</el-input>
|
236
|
240
|
</td>
|
237
|
241
|
<td>
|
238
|
|
- <el-input-number :precision="2" style="width: 200px" v-model="dept.amount" clearable
|
239
|
|
- :controls="false" @blur="calculateDeptAmount(index)"></el-input-number>
|
|
242
|
+ <el-input-number :precision="2" style="width: 200px" v-model="dept.amount" clearable :controls="false"
|
|
243
|
+ @blur="calculateDeptAmount(index)"></el-input-number>
|
240
|
244
|
</td>
|
241
|
245
|
<td>
|
242
|
246
|
<el-input v-model="dept.remark" type="textarea" clearable :autosize="{ minRows: 2, maxRows: 10 }">
|
|
@@ -429,10 +433,12 @@ import ChoosePrice from "./components/choosePrice.vue";
|
429
|
433
|
import { getUser } from "@/api/system/user";
|
430
|
434
|
import { complete, getNextFlowNode } from "@/api/flowable/todo";
|
431
|
435
|
import { getUsersDeptLeader, getUsersDeptLeaderByDept, getUsersManageLeaderByDept } from '@/api/system/post.js'
|
|
436
|
+import SettlePrint from './components/settlePrint.vue';
|
432
|
437
|
export default {
|
433
|
438
|
components: {
|
434
|
439
|
flow,
|
435
|
440
|
ChoosePrice,
|
|
441
|
+ SettlePrint,
|
436
|
442
|
},
|
437
|
443
|
props: {
|
438
|
444
|
taskName: {
|
|
@@ -449,10 +455,11 @@ export default {
|
449
|
455
|
}
|
450
|
456
|
},
|
451
|
457
|
watch: {
|
452
|
|
-
|
|
458
|
+
|
453
|
459
|
},
|
454
|
460
|
data() {
|
455
|
461
|
return {
|
|
462
|
+ printOpen: false,
|
456
|
463
|
loading: true,
|
457
|
464
|
drawer: false,
|
458
|
465
|
flag: false,
|
|
@@ -628,7 +635,7 @@ export default {
|
628
|
635
|
this.updateSettleFn();
|
629
|
636
|
this.updateSettleSummaryFn();
|
630
|
637
|
this.updateSettleWorkFn();
|
631
|
|
-
|
|
638
|
+ this.$message.success('保存成功')
|
632
|
639
|
} else {
|
633
|
640
|
this.addSettleFn();
|
634
|
641
|
}
|
|
@@ -798,13 +805,12 @@ export default {
|
798
|
805
|
}
|
799
|
806
|
this.actualSumSettle = Number(this.settleSumTr.amount) - sum;
|
800
|
807
|
},
|
801
|
|
- calculateDeptAmount(index){
|
802
|
|
- debugger
|
|
808
|
+ calculateDeptAmount(index) {
|
803
|
809
|
let num = 0
|
804
|
810
|
let len = this.deptSettleList.length
|
805
|
|
- if (len > 1){
|
806
|
|
- if(index == len - 1){
|
807
|
|
- for(let i = 0; i< index ;i ++){
|
|
811
|
+ if (len > 1) {
|
|
812
|
+ if (index == len - 1) {
|
|
813
|
+ for (let i = 0; i < index; i++) {
|
808
|
814
|
num = num + this.deptSettleList[i].amount
|
809
|
815
|
}
|
810
|
816
|
this.deptSettleList[index].amount = this.actualSumSettle - num
|
|
@@ -835,27 +841,25 @@ export default {
|
835
|
841
|
addSettleFn() {
|
836
|
842
|
let settleId = this.taskForm.formId;
|
837
|
843
|
this.form.settleId = settleId;
|
838
|
|
- getSettle(this.taskForm.formId).then(res=>{
|
839
|
|
- if(res.data){
|
|
844
|
+ getSettle(this.taskForm.formId).then(res => {
|
|
845
|
+ if (res.data) {
|
840
|
846
|
updateSettle(this.form);
|
841
|
847
|
this.addSettleWorkFn(settleId);
|
842
|
848
|
this.addSettleSummaryFn(settleId);
|
843
|
|
- }else{
|
|
849
|
+ } else {
|
844
|
850
|
addSettle(this.form).then(res => {
|
845
|
|
- this.addSettleWorkFn(settleId);
|
846
|
|
- this.addSettleSummaryFn(settleId);
|
847
|
|
- });
|
|
851
|
+ this.addSettleWorkFn(settleId);
|
|
852
|
+ this.addSettleSummaryFn(settleId);
|
|
853
|
+ });
|
848
|
854
|
}
|
849
|
|
-
|
|
855
|
+
|
850
|
856
|
})
|
851
|
|
-
|
|
857
|
+
|
852
|
858
|
},
|
853
|
859
|
addSettleWorkFn(settleId) {
|
854
|
860
|
for (let work of this.settleWorkList) {
|
855
|
861
|
work.settleId = settleId;
|
856
|
|
- setTimeout(() => {
|
857
|
|
- addSettleWork(work);
|
858
|
|
- }, 500)
|
|
862
|
+ addSettleWork(work);
|
859
|
863
|
}
|
860
|
864
|
},
|
861
|
865
|
addSettleSummaryFn(settleId) {
|
|
@@ -863,19 +867,11 @@ export default {
|
863
|
867
|
addSettleSummary(this.settleSumTr);
|
864
|
868
|
for (let item of this.settleSumList) {
|
865
|
869
|
item.settleId = settleId;
|
866
|
|
- setTimeout(() => {
|
867
|
|
- addSettleSummary(item).then(res=>{
|
868
|
|
- console.log(item);
|
869
|
|
- });
|
870
|
|
- }, 1000)
|
|
870
|
+ addSettleSummary(item)
|
871
|
871
|
}
|
872
|
872
|
for (let item of this.deptSettleList) {
|
873
|
873
|
item.settleId = settleId;
|
874
|
|
- setTimeout(() => {
|
875
|
|
- addSettleSummary(item).then(res=>{
|
876
|
|
- console.log(item);
|
877
|
|
- });
|
878
|
|
- }, 1000)
|
|
874
|
+ addSettleSummary(item)
|
879
|
875
|
}
|
880
|
876
|
},
|
881
|
877
|
// 获取数据
|
|
@@ -917,10 +913,7 @@ export default {
|
917
|
913
|
},
|
918
|
914
|
// 更新数据
|
919
|
915
|
updateSettleFn() {
|
920
|
|
- updateSettle(this.form).then(res => {
|
921
|
|
- if (res.code == 200)
|
922
|
|
- this.$message.success('保存成功')
|
923
|
|
- })
|
|
916
|
+ updateSettle(this.form)
|
924
|
917
|
},
|
925
|
918
|
updateSettleWorkFn() {
|
926
|
919
|
delSettleWork([this.taskForm.formId]).then(res => {
|