|
@@ -2,7 +2,7 @@
|
2
|
2
|
* @Author: ysh
|
3
|
3
|
* @Date: 2024-04-30 09:03:14
|
4
|
4
|
* @LastEditors: Please set LastEditors
|
5
|
|
- * @LastEditTime: 2024-05-27 17:25:35
|
|
5
|
+ * @LastEditTime: 2024-05-28 19:08:56
|
6
|
6
|
-->
|
7
|
7
|
<template>
|
8
|
8
|
<div class="app-container" v-loading="loading">
|
|
@@ -20,12 +20,13 @@
|
20
|
20
|
</div>
|
21
|
21
|
<el-form ref="settleForm" :model="form" :rules="rules" label-width="160px" :disabled="disabled">
|
22
|
22
|
<el-form-item label="项目编号" prop="projectId">
|
23
|
|
- <el-select v-model="form.projectId" filterable placeholder="请选择" @change="handleSelectProject"
|
|
23
|
+ <el-button icon="el-icon-plus" size="mini" type="primary" @click="prOpen = true">选择项目</el-button>
|
|
24
|
+ <!-- <el-select v-model="form.projectId" filterable placeholder="请选择" @change="handleSelectProject"
|
24
|
25
|
:disabled="taskName != '结算发起'" clearable style="width: 100%">
|
25
|
26
|
<el-option v-for="item in projectList" :key="item.value"
|
26
|
27
|
:label="item.projectNumber + '-' + item.projectName" :value="item.projectId">
|
27
|
28
|
</el-option>
|
28
|
|
- </el-select>
|
|
29
|
+ </el-select> -->
|
29
|
30
|
<el-descriptions border v-if="isSelect" style="margin-top: 10px" :column="2">
|
30
|
31
|
<el-descriptions-item label="项目编号" label-class-name="my-label">
|
31
|
32
|
{{ chooseProject.projectNumber }}
|
|
@@ -84,30 +85,37 @@
|
84
|
85
|
</el-col>
|
85
|
86
|
</el-row>
|
86
|
87
|
<el-form-item label="原始上报数据" prop="">
|
87
|
|
- <FileUpload v-if="taskName == '结算发起'" ref="jssh" :limit="1" :filePathName="'项目结算'"
|
88
|
|
- :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="getYuanShi"></FileUpload>
|
89
|
|
- <el-link v-if="taskName != '结算发起'" :href="`${baseUrl}${'/profile/upload' + form.modifyDocument}`"
|
90
|
|
- :underline="false" target="_blank">
|
91
|
|
- <span class="el-icon-document"> {{ getFileName(form.modifyDocument) }} </span>
|
92
|
|
- </el-link>
|
|
88
|
+ <FileUpload v-if="taskName == '结算发起'" :limit="1" :filePathName="'项目结算/原始数据'"
|
|
89
|
+ :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="setSettleDocument">
|
|
90
|
+ </FileUpload>
|
|
91
|
+ <div v-if="taskName != '结算发起'" class="upload-list">
|
|
92
|
+ <el-link :href="`${baseUrl}${'/profile/upload' + form.settleDocument}`" :underline="false"
|
|
93
|
+ target="_blank">
|
|
94
|
+ <span class="el-icon-document" style="color:#00f;"> {{ getFileName(form.settleDocument) }} </span>
|
|
95
|
+ </el-link>
|
|
96
|
+ </div>
|
93
|
97
|
</el-form-item>
|
94
|
98
|
<el-form-item label="项目管理部审核结算单" prop="">
|
95
|
|
- <el-upload class="upload-demo" ref="upload" :file-list="fileList" action="" :auto-upload="false">
|
96
|
|
- <el-button slot="trigger" size="mini" type="primary" icon="el-icon-upload"
|
97
|
|
- :disabled="taskName != '项目管理部结算'">选取文件</el-button>
|
98
|
|
- <div slot="tip" class="el-upload__tip">
|
99
|
|
- 只能上传docx/doc文件,且不超过500kb
|
100
|
|
- </div>
|
101
|
|
- </el-upload>
|
|
99
|
+ <FileUpload v-if="taskName == '项目管理部结算'" :limit="1" :filePathName="'项目结算/项目管理部审核结算单'"
|
|
100
|
+ :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="setModifyDocument">
|
|
101
|
+ </FileUpload>
|
|
102
|
+ <div v-if="taskName != '项目管理部结算' && form.modifyDocument" class="upload-list">
|
|
103
|
+ <el-link :href="`${baseUrl}${'/profile/upload' + form.modifyDocument}`" :underline="false"
|
|
104
|
+ target="_blank">
|
|
105
|
+ <span class="el-icon-document" style="color:#00f;"> {{ getFileName(form.modifyDocument) }} </span>
|
|
106
|
+ </el-link>
|
|
107
|
+ </div>
|
102
|
108
|
</el-form-item>
|
103
|
109
|
<el-form-item label="分管领导审核结算单" prop="">
|
104
|
|
- <el-upload class="upload-demo" ref="upload" :file-list="fileList" action="" :auto-upload="false">
|
105
|
|
- <el-button slot="trigger" size="mini" type="primary" icon="el-icon-upload"
|
106
|
|
- :disabled="taskName != '分管审核'">选取文件</el-button>
|
107
|
|
- <div slot="tip" class="el-upload__tip">
|
108
|
|
- 只能上传docx/doc文件,且不超过500kb
|
109
|
|
- </div>
|
110
|
|
- </el-upload>
|
|
110
|
+ <FileUpload v-if="taskName == '分管审核'" :limit="1" :filePathName="'项目结算/分管领导审核结算单'"
|
|
111
|
+ :fileType="['doc', 'docx', 'xls', 'xlsx', 'pdf']" @input="setFinalDocument">
|
|
112
|
+ </FileUpload>
|
|
113
|
+ <div v-if="taskName != '分管审核' && form.finalDocument" class="upload-list">
|
|
114
|
+ <el-link :href="`${baseUrl}${'/profile/upload' + form.finalDocument}`" :underline="false"
|
|
115
|
+ target="_blank">
|
|
116
|
+ <span class="el-icon-document" style="color:#00f;"> {{ getFileName(form.finalDocument) }} </span>
|
|
117
|
+ </el-link>
|
|
118
|
+ </div>
|
111
|
119
|
</el-form-item>
|
112
|
120
|
<div class="headers">
|
113
|
121
|
项目完成工作量及经费计算
|
|
@@ -415,6 +423,10 @@
|
415
|
423
|
<el-drawer title="选择单价" :visible.sync="drawer" direction="rtl">
|
416
|
424
|
<choose-price :row="clickWork" @getPrice="getPrice" @cancel="drawer = false"></choose-price>
|
417
|
425
|
</el-drawer>
|
|
426
|
+
|
|
427
|
+ <el-dialog title="选择项目" :visible.sync="prOpen" width="70%" append-to-body>
|
|
428
|
+ <choose-project @chooseProject="confirmProject"></choose-project>
|
|
429
|
+ </el-dialog>
|
418
|
430
|
</div>
|
419
|
431
|
</template>
|
420
|
432
|
|
|
@@ -437,11 +449,13 @@ import { complete, getNextFlowNode } from "@/api/flowable/todo";
|
437
|
449
|
import { getUsersDeptLeader, getUsersDeptLeaderByDept, getUsersManageLeaderByDept } from '@/api/system/post.js'
|
438
|
450
|
import SettlePrint from './components/settlePrint.vue';
|
439
|
451
|
import { getDept } from "@/api/system/dept"
|
|
452
|
+import ChooseProject from './components/chooseProject.vue';
|
440
|
453
|
export default {
|
441
|
454
|
components: {
|
442
|
455
|
flow,
|
443
|
456
|
ChoosePrice,
|
444
|
457
|
SettlePrint,
|
|
458
|
+ ChooseProject
|
445
|
459
|
},
|
446
|
460
|
props: {
|
447
|
461
|
taskName: {
|
|
@@ -462,9 +476,11 @@ export default {
|
462
|
476
|
},
|
463
|
477
|
data() {
|
464
|
478
|
return {
|
|
479
|
+ baseUrl:process.env.VUE_APP_BASE_API,
|
465
|
480
|
printOpen: false,
|
466
|
481
|
loading: true,
|
467
|
482
|
drawer: false,
|
|
483
|
+ prOpen: false,
|
468
|
484
|
flag: false,
|
469
|
485
|
flowData: {},
|
470
|
486
|
form: {},
|
|
@@ -708,7 +724,7 @@ export default {
|
708
|
724
|
});
|
709
|
725
|
})
|
710
|
726
|
} else if (deptId && !isList) {
|
711
|
|
- getUsersManageLeaderByDept({ deptId }).then(res => {
|
|
727
|
+ getUsersDeptLeaderByDept({ deptId }).then(res => {
|
712
|
728
|
this.$set(this.taskForm.variables, "approval", res.data.userId);
|
713
|
729
|
complete(this.taskForm).then(response => {
|
714
|
730
|
this.$modal.msgSuccess(response.msg);
|
|
@@ -979,8 +995,14 @@ export default {
|
979
|
995
|
return arr[arr.length - 1];
|
980
|
996
|
}
|
981
|
997
|
},
|
982
|
|
- getYuanShi(val) {
|
983
|
|
- this.getDoc()
|
|
998
|
+ setSettleDocument(val) {
|
|
999
|
+ this.getDoc(val,'settleDocument')
|
|
1000
|
+ },
|
|
1001
|
+ setModifyDocument(val) {
|
|
1002
|
+ this.getDoc(val,'modifyDocument')
|
|
1003
|
+ },
|
|
1004
|
+ setFinalDocument(val) {
|
|
1005
|
+ this.getDoc(val,'finalDocument')
|
984
|
1006
|
},
|
985
|
1007
|
getDoc(val, name) {
|
986
|
1008
|
if (val) {
|
|
@@ -991,6 +1013,19 @@ export default {
|
991
|
1013
|
}
|
992
|
1014
|
}
|
993
|
1015
|
},
|
|
1016
|
+ confirmProject(val) {
|
|
1017
|
+ console.log(val);
|
|
1018
|
+ if (val.length == 1) {
|
|
1019
|
+ this.prOpen = false
|
|
1020
|
+ this.chooseProject = val[0]
|
|
1021
|
+ this.form.projectId = val[0].projectId
|
|
1022
|
+ this.isSelect = true
|
|
1023
|
+ } else {
|
|
1024
|
+ this.$message.error('项目只能选择一个!')
|
|
1025
|
+ return
|
|
1026
|
+ }
|
|
1027
|
+
|
|
1028
|
+ }
|
994
|
1029
|
},
|
995
|
1030
|
};
|
996
|
1031
|
</script>
|