|
@@ -2,10 +2,10 @@
|
2
|
2
|
* @Author: ysh
|
3
|
3
|
* @Date: 2024-04-30 09:03:14
|
4
|
4
|
* @LastEditors: Please set LastEditors
|
5
|
|
- * @LastEditTime: 2024-05-06 17:48:28
|
|
5
|
+ * @LastEditTime: 2024-05-07 16:13:01
|
6
|
6
|
-->
|
7
|
7
|
<template>
|
8
|
|
- <div class="app-container">
|
|
8
|
+ <div class="app-container" v-loading="loading">
|
9
|
9
|
<el-row :gutter="20">
|
10
|
10
|
<el-col :span="19" :xs="24">
|
11
|
11
|
<h2 class="text-center">项目结算表</h2>
|
|
@@ -13,7 +13,7 @@
|
13
|
13
|
项目信息
|
14
|
14
|
<div class="line"></div>
|
15
|
15
|
</div>
|
16
|
|
- <el-form ref="form" :model="form" :rules="rules" label-width="160px">
|
|
16
|
+ <el-form ref="settleForm" :model="form" :rules="rules" label-width="160px" :disabled="disabled">
|
17
|
17
|
<el-form-item label="项目编号" prop="projectId">
|
18
|
18
|
<el-select v-model="form.projectId" filterable placeholder="请选择" @change="handleSelectProject"
|
19
|
19
|
:disabled="taskName != '结算发起'" clearable style="width: 100%">
|
|
@@ -35,11 +35,7 @@
|
35
|
35
|
{{ chooseProject.contractNumber }}
|
36
|
36
|
</el-descriptions-item>
|
37
|
37
|
<el-descriptions-item label="项目负责人" label-class-name="my-label">
|
38
|
|
- {{
|
39
|
|
- chooseProject.projectLeaderUser
|
40
|
|
- ? chooseProject.projectLeaderUser.nickName
|
41
|
|
- : ""
|
42
|
|
- }}
|
|
38
|
+ {{ chooseProject.projectLeaderUser ? chooseProject.projectLeaderUser.nickName : "" }}
|
43
|
39
|
</el-descriptions-item>
|
44
|
40
|
<el-descriptions-item label="甲方单位" label-class-name="my-label">
|
45
|
41
|
{{ chooseProject.partyA }}
|
|
@@ -65,7 +61,8 @@
|
65
|
61
|
</el-descriptions>
|
66
|
62
|
</el-form-item>
|
67
|
63
|
<el-form-item label="工作量上报说明" prop="workloadReport">
|
68
|
|
- <el-input v-model="form.workloadReport" type="textarea" placeholder="请输入工作量上报说明" />
|
|
64
|
+ <el-input v-model="form.workloadReport" type="textarea" :disabled="taskName != '结算发起'"
|
|
65
|
+ placeholder="请输入工作量上报说明" />
|
69
|
66
|
</el-form-item>
|
70
|
67
|
<el-row>
|
71
|
68
|
<el-col :span="6" :xs="24" :offset="12">
|
|
@@ -152,8 +149,8 @@
|
152
|
149
|
:controls="false"></el-input-number>
|
153
|
150
|
</td>
|
154
|
151
|
<td>
|
155
|
|
- <el-input-number style="width: 100px" v-model="work.coefficient" clearable @blur="calculateSettle(work)"
|
156
|
|
- :controls="false"></el-input-number>
|
|
152
|
+ <el-input-number style="width: 100px" v-model="work.coefficient" clearable
|
|
153
|
+ @blur="calculateSettle(work)" :controls="false"></el-input-number>
|
157
|
154
|
</td>
|
158
|
155
|
<td>
|
159
|
156
|
<!-- <el-input-number style="width:100px" v-model="work.settle" clearable :controls="false"></el-input-number> -->
|
|
@@ -224,6 +221,14 @@
|
224
|
221
|
:controls="false"></el-input-number>
|
225
|
222
|
</td>
|
226
|
223
|
</tr>
|
|
224
|
+ <tr>
|
|
225
|
+ <td :colspan="2">结算说明</td>
|
|
226
|
+ <td :colspan="3">
|
|
227
|
+ <el-input v-model="form.settleComment" type="textarea" clearable
|
|
228
|
+ :autosize="{ minRows: 2, maxRows: 10 }">
|
|
229
|
+ </el-input>
|
|
230
|
+ </td>
|
|
231
|
+ </tr>
|
227
|
232
|
</table>
|
228
|
233
|
<el-button icon="el-icon-plus" type="primary" plain size="mini" @click="addSumWorkList"></el-button>
|
229
|
234
|
</el-form-item>
|
|
@@ -235,122 +240,129 @@
|
235
|
240
|
<div class="line"></div>
|
236
|
241
|
</div>
|
237
|
242
|
<el-form-item label="综合事务部(设备领用情况)">
|
238
|
|
- <el-input v-model="form.zhComment" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }">
|
|
243
|
+ <el-input v-model="form.zhComment" type="textarea" :disabled="taskName != '综合事务部处理'" clearable
|
|
244
|
+ :autosize="{ minRows: 4, maxRows: 10 }">
|
239
|
245
|
</el-input>
|
240
|
246
|
</el-form-item>
|
241
|
247
|
<el-row>
|
242
|
248
|
<el-col :span="6" :xs="24" :offset="12">
|
243
|
249
|
<el-form-item label="签名:" label-width="120px">
|
244
|
|
- <span class="auditor"> {{}} </span>
|
|
250
|
+ <span class="auditor"> {{ form.zhUserName }} </span>
|
245
|
251
|
</el-form-item>
|
246
|
252
|
</el-col>
|
247
|
253
|
<el-col :span="6">
|
248
|
254
|
<el-form-item label="日期:" label-width="120px">
|
249
|
|
- <span> {{}} </span>
|
|
255
|
+ <span> {{ form.zhTime }} </span>
|
250
|
256
|
</el-form-item>
|
251
|
257
|
</el-col>
|
252
|
258
|
</el-row>
|
253
|
259
|
<el-form-item label="技术质量部(质量及工作量)">
|
254
|
|
- <el-input v-model="form.remark" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }">
|
|
260
|
+ <el-input v-model="form.jsComment" type="textarea" :disabled="taskName != '技术质量部审核'" clearable
|
|
261
|
+ :autosize="{ minRows: 4, maxRows: 10 }">
|
255
|
262
|
</el-input>
|
256
|
263
|
</el-form-item>
|
257
|
264
|
<el-row>
|
258
|
265
|
<el-col :span="6" :xs="24" :offset="12">
|
259
|
266
|
<el-form-item label="签名:" label-width="120px">
|
260
|
|
- <span class="auditor"> {{}} </span>
|
|
267
|
+ <span class="auditor"> {{ form.jsUserName }} </span>
|
261
|
268
|
</el-form-item>
|
262
|
269
|
</el-col>
|
263
|
270
|
<el-col :span="6">
|
264
|
271
|
<el-form-item label="日期:" label-width="120px">
|
265
|
|
- <span> {{}} </span>
|
|
272
|
+ <span> {{ form.jsTime }} </span>
|
266
|
273
|
</el-form-item>
|
267
|
274
|
</el-col>
|
268
|
275
|
</el-row>
|
269
|
276
|
<el-form-item label="项目管理部(结算)">
|
270
|
|
- <el-input v-model="form.remark" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }">
|
|
277
|
+ <el-input v-model="form.xmComment" type="textarea" :disabled="taskName != '项目管理部结算'" clearable
|
|
278
|
+ :autosize="{ minRows: 4, maxRows: 10 }">
|
271
|
279
|
</el-input>
|
272
|
280
|
</el-form-item>
|
273
|
281
|
<el-row>
|
274
|
282
|
<el-col :span="6" :xs="24" :offset="12">
|
275
|
283
|
<el-form-item label="签名:" label-width="120px">
|
276
|
|
- <span class="auditor"> {{}} </span>
|
|
284
|
+ <span class="auditor"> {{ form.xmUserName }} </span>
|
277
|
285
|
</el-form-item>
|
278
|
286
|
</el-col>
|
279
|
287
|
<el-col :span="6">
|
280
|
288
|
<el-form-item label="日期:" label-width="120px">
|
281
|
|
- <span> {{}} </span>
|
|
289
|
+ <span> {{ form.xmTime }} </span>
|
282
|
290
|
</el-form-item>
|
283
|
291
|
</el-col>
|
284
|
292
|
</el-row>
|
285
|
293
|
<el-form-item label="项目承担部门(确认)">
|
286
|
|
- <el-input v-model="form.remark" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }">
|
|
294
|
+ <el-input v-model="form.deptComment" type="textarea" :disabled="taskName != '结算发起人确认'" clearable
|
|
295
|
+ :autosize="{ minRows: 4, maxRows: 10 }">
|
287
|
296
|
</el-input>
|
288
|
297
|
</el-form-item>
|
289
|
298
|
<el-row>
|
290
|
299
|
<el-col :span="6" :xs="24" :offset="12">
|
291
|
300
|
<el-form-item label="签名:" label-width="120px">
|
292
|
|
- <span class="auditor"> {{}} </span>
|
|
301
|
+ <span class="auditor"> {{ form.deptUserName }} </span>
|
293
|
302
|
</el-form-item>
|
294
|
303
|
</el-col>
|
295
|
304
|
<el-col :span="6">
|
296
|
305
|
<el-form-item label="日期:" label-width="120px">
|
297
|
|
- <span> {{}} </span>
|
|
306
|
+ <span> {{ form.deptTime }} </span>
|
298
|
307
|
</el-form-item>
|
299
|
308
|
</el-col>
|
300
|
309
|
</el-row>
|
301
|
310
|
<el-form-item label="经营发展部(校核)">
|
302
|
|
- <el-input v-model="form.remark" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }">
|
|
311
|
+ <el-input v-model="form.jyComment" type="textarea" :disabled="taskName != '经营发展部校核'" clearable
|
|
312
|
+ :autosize="{ minRows: 4, maxRows: 10 }">
|
303
|
313
|
</el-input>
|
304
|
314
|
</el-form-item>
|
305
|
315
|
<el-row>
|
306
|
316
|
<el-col :span="6" :xs="24" :offset="12">
|
307
|
317
|
<el-form-item label="签名:" label-width="120px">
|
308
|
|
- <span class="auditor"> {{}} </span>
|
|
318
|
+ <span class="auditor"> {{ form.jyUserName }} </span>
|
309
|
319
|
</el-form-item>
|
310
|
320
|
</el-col>
|
311
|
321
|
<el-col :span="6">
|
312
|
322
|
<el-form-item label="日期:" label-width="120px">
|
313
|
|
- <span> {{}} </span>
|
|
323
|
+ <span> {{ form.jyTime }} </span>
|
314
|
324
|
</el-form-item>
|
315
|
325
|
</el-col>
|
316
|
326
|
</el-row>
|
317
|
327
|
<el-form-item label="分管领导(审核)">
|
318
|
|
- <el-input v-model="form.remark" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }">
|
|
328
|
+ <el-input v-model="form.managerComment" type="textarea" :disabled="taskName != '分管审核'" clearable
|
|
329
|
+ :autosize="{ minRows: 4, maxRows: 10 }">
|
319
|
330
|
</el-input>
|
320
|
331
|
</el-form-item>
|
321
|
332
|
<el-row>
|
322
|
333
|
<el-col :span="6" :xs="24" :offset="12">
|
323
|
334
|
<el-form-item label="签名:" label-width="120px">
|
324
|
|
- <span class="auditor"> {{}} </span>
|
|
335
|
+ <span class="auditor"> {{ form.managerUserName }} </span>
|
325
|
336
|
</el-form-item>
|
326
|
337
|
</el-col>
|
327
|
338
|
<el-col :span="6">
|
328
|
339
|
<el-form-item label="日期:" label-width="120px">
|
329
|
|
- <span> {{}} </span>
|
|
340
|
+ <span> {{ form.managerTime }} </span>
|
330
|
341
|
</el-form-item>
|
331
|
342
|
</el-col>
|
332
|
343
|
</el-row>
|
333
|
344
|
<el-form-item label="总经理(审批)">
|
334
|
|
- <el-input v-model="form.remark" type="textarea" clearable :autosize="{ minRows: 4, maxRows: 10 }">
|
|
345
|
+ <el-input v-model="form.gmComment" type="textarea" :disabled="taskName != '总经理审批'" clearable
|
|
346
|
+ :autosize="{ minRows: 4, maxRows: 10 }">
|
335
|
347
|
</el-input>
|
336
|
348
|
</el-form-item>
|
337
|
349
|
<el-row>
|
338
|
350
|
<el-col :span="6" :xs="24" :offset="12">
|
339
|
351
|
<el-form-item label="签名:" label-width="120px">
|
340
|
|
- <span class="auditor"> {{}} </span>
|
|
352
|
+ <span class="auditor"> {{ form.gmUserName }} </span>
|
341
|
353
|
</el-form-item>
|
342
|
354
|
</el-col>
|
343
|
355
|
<el-col :span="6">
|
344
|
356
|
<el-form-item label="日期:" label-width="120px">
|
345
|
|
- <span> {{}} </span>
|
|
357
|
+ <span> {{ form.gmTime }} </span>
|
346
|
358
|
</el-form-item>
|
347
|
359
|
</el-col>
|
348
|
360
|
</el-row>
|
349
|
361
|
</div>
|
350
|
362
|
</el-form>
|
351
|
|
- <div style="text-align: center">
|
|
363
|
+ <div style="text-align: center" v-if="!disabled">
|
352
|
364
|
<el-button type="warning" @click="preserve">保存</el-button>
|
353
|
|
- <el-button type="primary">提交下一个流程</el-button>
|
|
365
|
+ <el-button type="primary" @click="submitNextFlow">提交下一个流程</el-button>
|
354
|
366
|
</div>
|
355
|
367
|
</el-col>
|
356
|
368
|
<el-col :span="5" :xs="24">
|
|
@@ -375,33 +387,15 @@ import { flowXmlAndNode } from "@/api/flowable/definition";
|
375
|
387
|
import { parseTime } from "@/utils/ruoyi";
|
376
|
388
|
import { listProject, getProject } from "@/api/oa/project/project";
|
377
|
389
|
import { deepClone } from '@/utils'
|
378
|
|
-import {
|
379
|
|
- listSettle,
|
380
|
|
- getSettle,
|
381
|
|
- delSettle,
|
382
|
|
- addSettle,
|
383
|
|
- updateSettle,
|
384
|
|
-} from "@/api/oa/settle/settle";
|
385
|
|
-import {
|
386
|
|
- listSettleSummary,
|
387
|
|
- getSettleSummary,
|
388
|
|
- addSettleSummary,
|
389
|
|
- delSettleSummary,
|
390
|
|
- updateSettleSummary,
|
391
|
|
-} from "@/api/oa/settle/settleSummary";
|
392
|
|
-import {
|
393
|
|
- listSettleWork,
|
394
|
|
- getSettleWork,
|
395
|
|
- addSettleWork,
|
396
|
|
- updateSettleWork,
|
397
|
|
- delSettleWork,
|
398
|
|
-} from "@/api/oa/settle/settleWork";
|
399
|
|
-import {
|
400
|
|
- listProjectContract,
|
401
|
|
- addProjectContract,
|
402
|
|
-} from "@/api/oa/contract/projectContract";
|
|
390
|
+import { listSettle, getSettle, delSettle, addSettle, updateSettle } from "@/api/oa/settle/settle";
|
|
391
|
+import { listSettleSummary, getSettleSummary, addSettleSummary, delSettleSummary, updateSettleSummary } from "@/api/oa/settle/settleSummary";
|
|
392
|
+import { listSettleWork, getSettleWork, addSettleWork, updateSettleWork, delSettleWork } from "@/api/oa/settle/settleWork";
|
|
393
|
+import { listProjectContract, addProjectContract, } from "@/api/oa/contract/projectContract";
|
403
|
394
|
import { getPrice } from "@/api/oa/price/price";
|
404
|
395
|
import ChoosePrice from "./components/choosePrice.vue";
|
|
396
|
+import { getUser } from "@/api/system/user";
|
|
397
|
+import { complete, getNextFlowNode } from "@/api/flowable/todo";
|
|
398
|
+import { getUsersDeptLeader, getUsersDeptLeaderByDept, getUsersManageLeaderByDept } from '@/api/system/post.js'
|
405
|
399
|
export default {
|
406
|
400
|
components: {
|
407
|
401
|
flow,
|
|
@@ -416,14 +410,22 @@ export default {
|
416
|
410
|
type: Object,
|
417
|
411
|
required: true,
|
418
|
412
|
},
|
|
413
|
+ disabled: {
|
|
414
|
+ type: Boolean,
|
|
415
|
+ default: false
|
|
416
|
+ }
|
419
|
417
|
},
|
420
|
418
|
data() {
|
421
|
419
|
return {
|
|
420
|
+ loading: true,
|
422
|
421
|
drawer: false,
|
423
|
422
|
flag: false,
|
424
|
423
|
flowData: {},
|
425
|
424
|
form: {},
|
426
|
|
- rules: {},
|
|
425
|
+ rules: {
|
|
426
|
+ projectId: [
|
|
427
|
+ { required: true, trigger: "change", message: "请选择项目编号" }]
|
|
428
|
+ },
|
427
|
429
|
projectList: [],
|
428
|
430
|
isSelect: false,
|
429
|
431
|
chooseProject: {},
|
|
@@ -458,6 +460,7 @@ export default {
|
458
|
460
|
oldSettleSumList: [],
|
459
|
461
|
actualSumSettle: "",
|
460
|
462
|
clickWork: {},
|
|
463
|
+ deptId: undefined
|
461
|
464
|
};
|
462
|
465
|
},
|
463
|
466
|
created() {
|
|
@@ -477,13 +480,20 @@ export default {
|
477
|
480
|
methods: {
|
478
|
481
|
initForm() {
|
479
|
482
|
listSettle({ settleId: this.taskForm.formId }).then(res => {
|
480
|
|
- console.log(res);
|
481
|
483
|
if (res.total == 1) {
|
482
|
484
|
this.form = res.rows[0];
|
483
|
485
|
this.flag = true;
|
484
|
486
|
this.handleSelectProject(res.rows[0].projectId);
|
485
|
487
|
this.listSettleWorkFn();
|
486
|
488
|
this.listSettleSummaryFn();
|
|
489
|
+ getUser(this.form.reporter).then(res => {
|
|
490
|
+ if (res.data) {
|
|
491
|
+ console.log(res.data);
|
|
492
|
+ this.form.reporterName = res.data.nickName;
|
|
493
|
+ this.deptId = res.data.deptId
|
|
494
|
+ }
|
|
495
|
+ })
|
|
496
|
+ this.getCurrentUser();
|
487
|
497
|
} else if (res.total == 0) {
|
488
|
498
|
this.flag = false;
|
489
|
499
|
if (this.taskName == "结算发起") {
|
|
@@ -492,8 +502,145 @@ export default {
|
492
|
502
|
this.form.reportTime = parseTime(new Date(), "{y}-{m}-{d}");
|
493
|
503
|
}
|
494
|
504
|
}
|
|
505
|
+ setTimeout(() => {
|
|
506
|
+ this.loading = false
|
|
507
|
+ }, 500);
|
|
508
|
+
|
495
|
509
|
});
|
496
|
510
|
},
|
|
511
|
+ getCurrentUser() {
|
|
512
|
+ if (this.taskName == '综合事务部处理') {
|
|
513
|
+ this.form.zhUserName = this.$store.state.user.name;
|
|
514
|
+ this.form.zhUserId = this.$store.state.user.id;
|
|
515
|
+ this.form.zhTime = parseTime(new Date(), "{y}-{m}-{d}");
|
|
516
|
+ } else if (this.taskName == '技术质量部审核') {
|
|
517
|
+ this.form.jsUserName = this.$store.state.user.name;
|
|
518
|
+ this.form.jsUserId = this.$store.state.user.id;
|
|
519
|
+ this.form.jsTime = parseTime(new Date(), "{y}-{m}-{d}");
|
|
520
|
+ } else if (this.taskName == '项目管理部结算') {
|
|
521
|
+ this.form.xmUserName = this.$store.state.user.name;
|
|
522
|
+ this.form.xmUserId = this.$store.state.user.id;
|
|
523
|
+ this.form.xmTime = parseTime(new Date(), "{y}-{m}-{d}");
|
|
524
|
+ } else if (this.taskName == '结算发起人确认') {
|
|
525
|
+ this.form.deptUserName = this.$store.state.user.name;
|
|
526
|
+ this.form.deptUserId = this.$store.state.user.id;
|
|
527
|
+ this.form.deptTime = parseTime(new Date(), "{y}-{m}-{d}");
|
|
528
|
+ } else if (this.taskName == '经营发展部校核') {
|
|
529
|
+ this.form.jyUserName = this.$store.state.user.name;
|
|
530
|
+ this.form.jyUserId = this.$store.state.user.id;
|
|
531
|
+ this.form.jyTime = parseTime(new Date(), "{y}-{m}-{d}");
|
|
532
|
+ } else if (this.taskName == '分管审核') {
|
|
533
|
+ this.form.managerUserName = this.$store.state.user.name;
|
|
534
|
+ this.form.managerUserId = this.$store.state.user.id;
|
|
535
|
+ this.form.managerTime = parseTime(new Date(), "{y}-{m}-{d}");
|
|
536
|
+ } else if (this.taskName == '总经理审批') {
|
|
537
|
+ this.form.gmUserName = this.$store.state.user.name;
|
|
538
|
+ this.form.gmUserId = this.$store.state.user.id;
|
|
539
|
+ this.form.gmTime = parseTime(new Date(), "{y}-{m}-{d}");
|
|
540
|
+ }
|
|
541
|
+ this.getReviewerName();
|
|
542
|
+ },
|
|
543
|
+ getReviewerName() {
|
|
544
|
+ if (this.form.zhUserId) {
|
|
545
|
+ getUser(this.form.zhUserId).then(res => {
|
|
546
|
+ this.form.zhUserName = res.data.nickName;;
|
|
547
|
+ })
|
|
548
|
+ }
|
|
549
|
+ if (this.form.jsUserId) {
|
|
550
|
+ getUser(this.form.jsUserId).then(res => {
|
|
551
|
+ this.form.jsUserName = res.data.nickName;;
|
|
552
|
+ })
|
|
553
|
+ }
|
|
554
|
+ if (this.form.xmUserId) {
|
|
555
|
+ getUser(this.form.xmUserId).then(res => {
|
|
556
|
+ this.form.xmUserName = res.data.nickName;;
|
|
557
|
+ })
|
|
558
|
+ }
|
|
559
|
+ if (this.form.deptUserId) {
|
|
560
|
+ getUser(this.form.deptUserId).then(res => {
|
|
561
|
+ this.form.deptUserName = res.data.nickName;;
|
|
562
|
+ })
|
|
563
|
+ }
|
|
564
|
+ if (this.form.jyUserId) {
|
|
565
|
+ getUser(this.form.jyUserId).then(res => {
|
|
566
|
+ this.form.jyUserName = res.data.nickName;;
|
|
567
|
+ })
|
|
568
|
+ }
|
|
569
|
+ if (this.form.managerUserId) {
|
|
570
|
+ getUser(this.form.managerUserId).then(res => {
|
|
571
|
+ this.form.managerUserName = res.data.nickName;;
|
|
572
|
+ })
|
|
573
|
+ }
|
|
574
|
+ if (this.form.gmUserId) {
|
|
575
|
+ getUser(this.form.gmUserId).then(res => {
|
|
576
|
+ this.form.gmUserName = res.data.nickName;;
|
|
577
|
+ })
|
|
578
|
+ }
|
|
579
|
+ },
|
|
580
|
+ // 保存按钮
|
|
581
|
+ preserve() {
|
|
582
|
+ if (this.flag) {
|
|
583
|
+ this.updateSettleFn();
|
|
584
|
+ this.updateSettleSummaryFn();
|
|
585
|
+ this.updateSettleWorkFn();
|
|
586
|
+
|
|
587
|
+ } else {
|
|
588
|
+ this.addSettleFn();
|
|
589
|
+ }
|
|
590
|
+ },
|
|
591
|
+ submitNextFlow() {
|
|
592
|
+ this.$refs["settleForm"].validate(vaild => {
|
|
593
|
+ if (vaild) {
|
|
594
|
+ this.preserve();
|
|
595
|
+ debugger
|
|
596
|
+ if (this.taskName == '结算发起') {
|
|
597
|
+ this.getNextFlowNodeFn(17);
|
|
598
|
+ } else if (this.taskName == '综合事务部处理') {
|
|
599
|
+ this.getNextFlowNodeFn(52);
|
|
600
|
+ } else if (this.taskName == '技术质量部审核') {
|
|
601
|
+ this.getNextFlowNodeFn(32);
|
|
602
|
+ } else if (this.taskName == '项目管理部结算') {
|
|
603
|
+ this.getNextFlowNodeFn();
|
|
604
|
+ } else if (this.taskName == '结算发起人确认') {
|
|
605
|
+ this.getNextFlowNodeFn(13);
|
|
606
|
+ } else if (this.taskName == '经营发展部校核') {
|
|
607
|
+ this.getNextFlowNodeFn(null, this.deptId);
|
|
608
|
+ } else if (this.taskName == '分管审核') {
|
|
609
|
+ this.getNextFlowNodeFn();
|
|
610
|
+ } else if (this.taskName == '总经理审批') {
|
|
611
|
+ this.getNextFlowNodeFn();
|
|
612
|
+ }
|
|
613
|
+ }
|
|
614
|
+ })
|
|
615
|
+ },
|
|
616
|
+ getNextFlowNodeFn(userId, deptId) {
|
|
617
|
+ const params = { taskId: this.taskForm.taskId };
|
|
618
|
+ getNextFlowNode(params).then(res => {
|
|
619
|
+ if (userId) {
|
|
620
|
+ this.$set(this.taskForm.variables, "approval", userId);
|
|
621
|
+ complete(this.taskForm).then(response => {
|
|
622
|
+ this.$modal.msgSuccess(response.msg);
|
|
623
|
+ this.$emit('goBack');
|
|
624
|
+ });
|
|
625
|
+ } else {
|
|
626
|
+ if (deptId) {
|
|
627
|
+ getUsersManageLeaderByDept({ deptId }).then(res => {
|
|
628
|
+ let id = res.data.userId;
|
|
629
|
+ this.$set(this.taskForm.variables, "approval", id);
|
|
630
|
+ complete(this.taskForm).then(response => {
|
|
631
|
+ this.$modal.msgSuccess(response.msg);
|
|
632
|
+ this.$emit('goBack');
|
|
633
|
+ });
|
|
634
|
+ })
|
|
635
|
+ } else {
|
|
636
|
+ complete(this.taskForm).then(response => {
|
|
637
|
+ this.$modal.msgSuccess(response.msg);
|
|
638
|
+ this.$emit('goBack');
|
|
639
|
+ });
|
|
640
|
+ }
|
|
641
|
+ }
|
|
642
|
+ })
|
|
643
|
+ },
|
497
|
644
|
// 查询项目列表
|
498
|
645
|
getProjectList() {
|
499
|
646
|
listProject({
|
|
@@ -582,7 +729,6 @@ export default {
|
582
|
729
|
this.calculateSumSettle();
|
583
|
730
|
},
|
584
|
731
|
calculateSumSettle() {
|
585
|
|
- debugger;
|
586
|
732
|
let sum = 0;
|
587
|
733
|
let arr = this.settleWorkList;
|
588
|
734
|
for (let a of arr) {
|
|
@@ -616,17 +762,8 @@ export default {
|
616
|
762
|
setValue(key, name, val) {
|
617
|
763
|
this.$set(key, name, val);
|
618
|
764
|
},
|
619
|
|
- // 保存按钮
|
620
|
|
- preserve() {
|
621
|
|
- if (this.flag) {
|
622
|
|
- this.updateSettleSummaryFn();
|
623
|
|
- } else {
|
624
|
|
- console.log(this.form);
|
625
|
|
- console.log(this.settleWorkList);
|
626
|
|
- console.log(this.settleSumList);
|
627
|
|
- this.addSettleFn();
|
628
|
|
- }
|
629
|
|
- },
|
|
765
|
+
|
|
766
|
+ // 增加数据
|
630
|
767
|
addSettleFn() {
|
631
|
768
|
let settleId = this.taskForm.formId;
|
632
|
769
|
this.form.settleId = settleId;
|
|
@@ -638,16 +775,22 @@ export default {
|
638
|
775
|
addSettleWorkFn(settleId) {
|
639
|
776
|
for (let work of this.settleWorkList) {
|
640
|
777
|
work.settleId = settleId;
|
641
|
|
- addSettleWork(work);
|
|
778
|
+ setTimeout(() => {
|
|
779
|
+ addSettleWork(work);
|
|
780
|
+ }, 500)
|
642
|
781
|
}
|
643
|
782
|
},
|
644
|
783
|
addSettleSummaryFn(settleId) {
|
|
784
|
+ this.settleSumTr.settleId = settleId
|
645
|
785
|
addSettleSummary(this.settleSumTr);
|
646
|
786
|
for (let item of this.settleSumList) {
|
647
|
787
|
item.settleId = settleId;
|
648
|
|
- addSettleSummary(item);
|
|
788
|
+ setTimeout(() => {
|
|
789
|
+ addSettleSummary(item);
|
|
790
|
+ }, 500)
|
649
|
791
|
}
|
650
|
792
|
},
|
|
793
|
+ // 获取数据
|
651
|
794
|
listSettleWorkFn() {
|
652
|
795
|
listSettleWork({ settleId: this.taskForm.formId }).then(res => {
|
653
|
796
|
this.settleWorkList = res.rows;
|
|
@@ -668,7 +811,6 @@ export default {
|
668
|
811
|
},
|
669
|
812
|
listSettleSummaryFn() {
|
670
|
813
|
listSettleSummary({ settleId: this.taskForm.formId }).then(res => {
|
671
|
|
- console.log(res);
|
672
|
814
|
this.settleSumList = res.rows;
|
673
|
815
|
this.oldSettleSumList = res.rows;
|
674
|
816
|
for (let s of this.settleSumList) {
|
|
@@ -683,10 +825,17 @@ export default {
|
683
|
825
|
this.calculateActualSumSettle();
|
684
|
826
|
});
|
685
|
827
|
},
|
|
828
|
+ // 更新数据
|
686
|
829
|
updateSettleFn() {
|
|
830
|
+ updateSettle(this.form).then(res => {
|
|
831
|
+ if (res.code == 200)
|
|
832
|
+ this.$message.success('保存成功')
|
|
833
|
+ })
|
687
|
834
|
},
|
688
|
835
|
updateSettleWorkFn() {
|
689
|
|
-
|
|
836
|
+ delSettleWork([this.taskForm.formId]).then(res => {
|
|
837
|
+ this.addSettleWorkFn(this.taskForm.formId);
|
|
838
|
+ })
|
690
|
839
|
},
|
691
|
840
|
updateSettleSummaryFn() {
|
692
|
841
|
delSettleSummary([this.taskForm.formId]).then(res => {
|