From ef70ce1f8fa30543fbf88627638cc39eb7598f9f Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期六, 22 二月 2025 21:07:16 +0800
Subject: [PATCH] 项目投资及资金来源增设:地方政府专项债券、超长期特别国债
---
src/views/projectManage/progress/progressRecord.vue | 396 +++++++++++++++++++++++++++++++++-----------------------
1 files changed, 234 insertions(+), 162 deletions(-)
diff --git a/src/views/projectManage/progress/progressRecord.vue b/src/views/projectManage/progress/progressRecord.vue
index a7fafb1..0cdb3a4 100644
--- a/src/views/projectManage/progress/progressRecord.vue
+++ b/src/views/projectManage/progress/progressRecord.vue
@@ -32,13 +32,35 @@
<el-table-column fixed="right" label="鎿嶄綔" align="center">
<template slot-scope="scope">
<div v-if="!projectInfoData.managerFlag">
- <el-button type="primary" size="small" v-if="scope.row.progressStatus === 0" @click="handleProgressReport(scope.row)">杩涘害涓婃姤</el-button>
- <el-button type="primary" size="small" v-if="scope.row.progressStatus === 2" @click="handleReportAgain(scope.row)">閲嶆柊涓婃姤</el-button>
- <el-button type="primary" size="small" v-if="scope.row.progressStatus !== 0" @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button>
+ <el-button
+ type="text"
+ size="medium"
+ v-if="scope.row.progressStatus === 0"
+ @click="handleProgressReport(scope.row)">杩涘害涓婃姤</el-button>
+ <el-button
+ type="text"
+ size="medium"
+ v-if="scope.row.progressStatus === 2"
+ @click="handleReportAgain(scope.row)">閲嶆柊涓婃姤</el-button>
+ <el-button
+ type="text"
+ size="medium"
+ icon="el-icon-view"
+ v-if="scope.row.progressStatus !== 0"
+ @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button>
</div>
<div v-if="projectInfoData.managerFlag">
- <el-button type="primary" size="small" v-if="scope.row.progressStatus === 1" @click="handleOpenExamine(scope.row)">瀹℃牳</el-button>
- <el-button type="primary" size="small" v-if="scope.row.progressStatus === 2 || scope.row.progressStatus === 3" @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button>
+ <el-button
+ type="text"
+ size="medium"
+ v-if="scope.row.progressStatus === 1"
+ @click="handleOpenExamine(scope.row)">瀹℃牳</el-button>
+ <el-button
+ type="text"
+ size="medium"
+ icon="el-icon-view"
+ v-if="scope.row.progressStatus === 2 || scope.row.progressStatus === 3"
+ @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button>
</div>
</template>
</el-table-column>
@@ -67,12 +89,29 @@
<el-table-column fixed="right" label="鎿嶄綔" align="center">
<template slot-scope="scope">
<div v-if="!projectInfoData.managerFlag">
- <el-button type="primary" size="small" v-if="scope.row.progressStatus === 0" @click="handleProgressReport(scope.row)">杩涘害涓婃姤</el-button>
- <el-button type="primary" size="small" v-if="scope.row.progressStatus === 2" @click="handleReportAgain(scope.row)">閲嶆柊涓婃姤</el-button>
- <el-button type="primary" size="small" v-if="scope.row.progressStatus !== 0" @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button>
+ <el-button
+ type="text"
+ size="medium"
+ v-if="scope.row.progressStatus === 0"
+ @click="handleProgressReport(scope.row)">杩涘害涓婃姤</el-button>
+ <el-button
+ type="text"
+ size="medium"
+ v-if="scope.row.progressStatus === 2"
+ @click="handleReportAgain(scope.row)">閲嶆柊涓婃姤</el-button>
+ <el-button
+ type="text"
+ size="medium"
+ icon="el-icon-view"
+ v-if="scope.row.progressStatus !== 0"
+ @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button>
</div>
<div v-if="projectInfoData.managerFlag">
- <el-button type="primary" size="small" v-if="scope.row.progressStatus === 1" @click="handleOpenExamine(scope.row)">瀹℃牳</el-button>
+ <el-button
+ type="text"
+ size="medium"
+ v-if="scope.row.progressStatus === 1"
+ @click="handleOpenExamine(scope.row)">瀹℃牳</el-button>
</div>
</template>
</el-table-column>
@@ -101,12 +140,29 @@
<el-table-column fixed="right" label="鎿嶄綔" align="center">
<template slot-scope="scope">
<div v-if="!projectInfoData.managerFlag">
- <el-button type="primary" size="small" v-if="scope.row.progressStatus === 0" @click="handleProgressReport(scope.row)">杩涘害涓婃姤</el-button>
- <el-button type="primary" size="small" v-if="scope.row.progressStatus === 2" @click="handleReportAgain(scope.row)">閲嶆柊涓婃姤</el-button>
- <el-button type="primary" size="small" v-if="scope.row.progressStatus !== 0" @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button>
+ <el-button
+ type="text"
+ size="medium"
+ v-if="scope.row.progressStatus === 0"
+ @click="handleProgressReport(scope.row)">杩涘害涓婃姤</el-button>
+ <el-button
+ type="text"
+ size="medium"
+ v-if="scope.row.progressStatus === 2"
+ @click="handleReportAgain(scope.row)">閲嶆柊涓婃姤</el-button>
+ <el-button
+ type="text"
+ size="medium"
+ icon="el-icon-view"
+ v-if="scope.row.progressStatus !== 0"
+ @click="handleCheckProgress(scope.row)">鏌ョ湅</el-button>
</div>
<div v-if="projectInfoData.managerFlag">
- <el-button type="primary" size="small" v-if="scope.row.progressStatus === 1" @click="handleOpenExamine(scope.row)">瀹℃牳</el-button>
+ <el-button
+ type="text"
+ size="medium"
+ v-if="scope.row.progressStatus === 1"
+ @click="handleOpenExamine(scope.row)">瀹℃牳</el-button>
</div>
</template>
</el-table-column>
@@ -135,150 +191,163 @@
</div>
</el-row>
- <el-dialog :title=" dialogFlag === 1 ? '杩涘害鏌ョ湅' : '杩涘害涓婃姤' " :visible.sync="dialogFormVisible" custom-class="custom-dialog" :close-on-click-modal="false" @close="handleCancel">
+ <el-dialog
+ :title=" dialogFlag === 1 ? '杩涘害鏌ョ湅' : '杩涘害涓婃姤' "
+ :visible.sync="dialogFormVisible"
+ custom-class="custom-dialog"
+ :close-on-click-modal="false"
+ @close="handleCancel">
<el-form :model="progressReportData">
- <el-form-item label="鎶ュ憡鏈燂細" :label-width="formLabelWidth">
- <el-input :value="progressReportData.planTime + (progressReportData.planTimeFlag === 0 ? '鏈堝害' : progressReportData.planTimeFlag === 1 ? '瀛e害' : '骞村害')" readonly />
- </el-form-item>
- <el-form-item label="璁″垝浜嬮」锛�" :label-width="formLabelWidth">
- <el-input v-model="progressReportData.title" readonly />
- </el-form-item>
- <el-form-item label="璁″垝鏃堕棿锛�" :label-width="formLabelWidth">
- <el-date-picker v-model="progressReportData.startTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" readonly/>
- 鑷�
- <el-date-picker v-model="progressReportData.endTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" readonly/>
- </el-form-item>
- <el-form-item label="瀹為檯瀹屾垚鏃堕棿锛�" :label-width="formLabelWidth">
- <el-date-picker
- v-model="progressReportData.actualStartTime"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- size="small"
- style="width: 130px"
- :readonly="projectInfoData.managerFlag || dialogFlag !== 0"/>
- 鑷�
- <el-date-picker
- v-model="progressReportData.actualEndTime"
- type="date"
- placeholder="閫夋嫨鏃ユ湡"
- size="small"
- style="width: 130px"
- :readonly="projectInfoData.managerFlag || dialogFlag !== 0"/>
- </el-form-item>
- <el-form-item label="杩涘害鎯呭喌锛�" :label-width="formLabelWidth">
- <el-input
- type="textarea"
- v-model="progressReportData.progressStatusStr"
- placeholder="璇疯緭鍏�" rows="3"
- :readonly="projectInfoData.managerFlag || dialogFlag !== 0" />
- </el-form-item>
- <el-form-item label="宸ョ▼杩涘害闄勪欢锛�" :label-width="formLabelWidth">
- <file-upload v-model="progressReportData.fileList"
- :fileType="accept"
- :isShowTip="false"/>
- </el-form-item>
- <el-form-item label="鎴鏈姤鍛婂畬鎴愭姇璧勶細" :label-width="formLabelWidth">
- <el-input
- v-model="progressReportData.actualInvest"
- type="number"
- :readonly="projectInfoData.managerFlag || dialogFlag !== 0" />
- </el-form-item>
- <el-form-item label="涓婄骇瀹℃牳锛�" :label-width="formLabelWidth">
- <div v-if="!projectInfoData.managerFlag">
- <el-input
- :value="progressReportData.departmentExamine === 0 ? '鍚屾剰' : progressReportData.departmentExamine === 1 ? '椹冲洖' : '鏈鏍�'"
- readonly />
- </div>
- <div v-if="projectInfoData.managerFlag">
- <el-select
- v-model="progressReportData.departmentExamine"
- placeholder="璇烽�夋嫨"
- size="small"
- :disabled="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
- clearable>
- <el-option label="鍚屾剰" :value="0"></el-option>
- <el-option label="椹冲洖" :value="1"></el-option>
- <el-option label="璇烽�夋嫨" :value="null"></el-option>
- </el-select>
- </div>
- </el-form-item>
- <el-form-item label="涓婄骇鎵瑰锛�" :label-width="formLabelWidth">
- <div v-if="!projectInfoData.managerFlag">
- <el-input v-model="progressReportData.departmentApproval" readonly />
- </div>
- <div v-if="projectInfoData.managerFlag">
- <el-input
- v-model="progressReportData.departmentApproval"
- :readonly="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"/>
- </div>
- </el-form-item>
- <el-form-item label="涓婄骇鎵瑰鍥炲锛�" :label-width="formLabelWidth">
- <div v-if="!projectInfoData.managerFlag">
- <el-input
- type="textarea"
- v-model="progressReportData.departmentApprovalReply"
- :readonly="dialogFlag === 0 || progressReportData.progressStatusInt === 1"
- placeholder="璇疯緭鍏�"
- rows="3" />
- </div>
- <div v-if="projectInfoData.managerFlag">
- <el-input
- type="textarea"
- v-model="progressReportData.departmentApprovalReply"
- placeholder="璇疯緭鍏�"
- rows="3"
- readonly/>
- </div>
- </el-form-item>
- <el-form-item label="涓荤閮ㄩ棬瀹℃牳锛�" :label-width="formLabelWidth">
- <div v-if="!projectInfoData.managerFlag">
- <el-input
- :value="progressReportData.manageExamine === 0 ? '鍚屾剰' : progressReportData.manageExamine === 1 ? '椹冲洖' : '鏈鏍�'"
- readonly />
- </div>
- <div v-if="projectInfoData.managerFlag">
- <el-select
- v-model="progressReportData.manageExamine"
- placeholder="璇烽�夋嫨"
- size="small"
- :disabled="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
- clearable>
- <el-option label="璇烽�夋嫨" :value="null"></el-option>
- <el-option label="鍚屾剰" :value="0"></el-option>
- <el-option label="椹冲洖" :value="1"></el-option>
- </el-select>
- </div>
- </el-form-item>
- <el-form-item label="涓荤閮ㄩ棬鎵瑰锛�" :label-width="formLabelWidth">
- <div v-if="!projectInfoData.managerFlag">
- <el-input
- v-model="progressReportData.manageApproval"
- readonly />
- </div>
- <div v-if="projectInfoData.managerFlag">
- <el-input
- :readonly="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
- v-model="progressReportData.manageApproval" />
- </div>
- </el-form-item>
- <el-form-item label="涓荤閮ㄩ棬鎵瑰鍥炲锛�" :label-width="formLabelWidth">
- <div v-if="!projectInfoData.managerFlag">
- <el-input
- type="textarea"
- v-model="progressReportData.manageApprovalReply"
- :readonly="dialogFlag === 0 || progressReportData.progressStatusInt === 1"
- placeholder="璇疯緭鍏�"
- rows="3" />
- </div>
- <div v-if="projectInfoData.managerFlag">
- <el-input
- type="textarea"
- v-model="progressReportData.manageApprovalReply"
- placeholder="璇疯緭鍏�"
- rows="3"
- readonly/>
- </div>
- </el-form-item>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="鎶ュ憡鏈燂細" :label-width="formLabelWidth">
+ <el-input :value="progressReportData.planTime + (progressReportData.planTimeFlag === 0 ? '鏈堝害' : progressReportData.planTimeFlag === 1 ? '瀛e害' : '骞村害')" readonly />
+ </el-form-item>
+ <el-form-item label="璁″垝浜嬮」锛�" :label-width="formLabelWidth">
+ <el-input v-model="progressReportData.title" readonly />
+ </el-form-item>
+ <el-form-item label="璁″垝鏃堕棿锛�" :label-width="formLabelWidth">
+ <el-date-picker v-model="progressReportData.startTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="medium" style="width: 130px" readonly/>
+ 鑷�
+ <el-date-picker v-model="progressReportData.endTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="medium" style="width: 130px" readonly/>
+ </el-form-item>
+ <el-form-item label="瀹為檯瀹屾垚鏃堕棿锛�" :label-width="formLabelWidth">
+ <el-date-picker
+ v-model="progressReportData.actualStartTime"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ size="medium"
+ style="width: 130px"
+ :readonly="projectInfoData.managerFlag || dialogFlag !== 0"/>
+ 鑷�
+ <el-date-picker
+ v-model="progressReportData.actualEndTime"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ size="medium"
+ style="width: 130px"
+ :readonly="projectInfoData.managerFlag || dialogFlag !== 0"/>
+ </el-form-item>
+ <el-form-item label="杩涘害鎯呭喌锛�" :label-width="formLabelWidth">
+ <el-input
+ type="textarea"
+ v-model="progressReportData.progressStatusStr"
+ placeholder="璇疯緭鍏�" rows="3"
+ :readonly="projectInfoData.managerFlag || dialogFlag !== 0" />
+ </el-form-item>
+ <el-form-item label="宸ョ▼杩涘害闄勪欢锛�" :label-width="formLabelWidth">
+ <file-upload v-model="progressReportData.fileList"
+ :fileType="accept"
+ :isShowTip="false"/>
+ </el-form-item>
+ <el-form-item label="鎴鏈姤鍛婂畬鎴愭姇璧勶細" :label-width="formLabelWidth">
+ <el-input
+ v-model="progressReportData.actualInvest"
+ type="number"
+ :readonly="projectInfoData.managerFlag || dialogFlag !== 0" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="涓婄骇瀹℃牳锛�" :label-width="formLabelWidth">
+ <div v-if="!projectInfoData.managerFlag">
+ <el-input
+ :value="progressReportData.departmentExamine === 0 ? '鍚屾剰' : progressReportData.departmentExamine === 1 ? '椹冲洖' : '鏈鏍�'"
+ readonly />
+ </div>
+ <div v-if="projectInfoData.managerFlag">
+ <el-select
+ v-model="progressReportData.departmentExamine"
+ placeholder="璇烽�夋嫨"
+ size="medium"
+ :disabled="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
+ clearable>
+ <el-option label="鍚屾剰" :value="0"></el-option>
+ <el-option label="椹冲洖" :value="1"></el-option>
+ <el-option label="璇烽�夋嫨" :value="null"></el-option>
+ </el-select>
+ </div>
+ </el-form-item>
+ <el-form-item label="涓婄骇鎵瑰锛�" :label-width="formLabelWidth">
+ <div v-if="!projectInfoData.managerFlag">
+ <el-input v-model="progressReportData.departmentApproval" readonly />
+ </div>
+ <div v-if="projectInfoData.managerFlag">
+ <el-input
+ v-model="progressReportData.departmentApproval"
+ :readonly="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"/>
+ </div>
+ </el-form-item>
+ <el-form-item label="涓婄骇鎵瑰鍥炲锛�" :label-width="formLabelWidth">
+ <div v-if="!projectInfoData.managerFlag">
+ <el-input
+ type="textarea"
+ v-model="progressReportData.departmentApprovalReply"
+ :readonly="dialogFlag === 0 || progressReportData.progressStatusInt === 1"
+ placeholder="璇疯緭鍏�"
+ rows="3" />
+ </div>
+ <div v-if="projectInfoData.managerFlag">
+ <el-input
+ type="textarea"
+ v-model="progressReportData.departmentApprovalReply"
+ placeholder="璇疯緭鍏�"
+ rows="3"
+ readonly/>
+ </div>
+ </el-form-item>
+ <el-form-item label="涓荤閮ㄩ棬瀹℃牳锛�" :label-width="formLabelWidth">
+ <div v-if="!projectInfoData.managerFlag">
+ <el-input
+ :value="progressReportData.manageExamine === 0 ? '鍚屾剰' : progressReportData.manageExamine === 1 ? '椹冲洖' : '鏈鏍�'"
+ readonly />
+ </div>
+ <div v-if="projectInfoData.managerFlag">
+ <el-select
+ v-model="progressReportData.manageExamine"
+ placeholder="璇烽�夋嫨"
+ size="medium"
+ :disabled="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
+ clearable>
+ <el-option label="璇烽�夋嫨" :value="null"></el-option>
+ <el-option label="鍚屾剰" :value="0"></el-option>
+ <el-option label="椹冲洖" :value="1"></el-option>
+ </el-select>
+ </div>
+ </el-form-item>
+ <el-form-item label="涓荤閮ㄩ棬鎵瑰锛�" :label-width="formLabelWidth">
+ <div v-if="!projectInfoData.managerFlag">
+ <el-input
+ v-model="progressReportData.manageApproval"
+ readonly />
+ </div>
+ <div v-if="projectInfoData.managerFlag">
+ <el-input
+ :readonly="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
+ v-model="progressReportData.manageApproval" />
+ </div>
+ </el-form-item>
+ <el-form-item label="涓荤閮ㄩ棬鎵瑰鍥炲锛�" :label-width="formLabelWidth">
+ <div v-if="!projectInfoData.managerFlag">
+ <el-input
+ type="textarea"
+ v-model="progressReportData.manageApprovalReply"
+ :readonly="dialogFlag === 0 || progressReportData.progressStatusInt === 1"
+ placeholder="璇疯緭鍏�"
+ rows="3" />
+ </div>
+ <div v-if="projectInfoData.managerFlag">
+ <el-input
+ type="textarea"
+ v-model="progressReportData.manageApprovalReply"
+ placeholder="璇疯緭鍏�"
+ rows="3"
+ readonly/>
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<div v-if="!projectInfoData.managerFlag">
@@ -339,15 +408,19 @@
accept: ['pdf','jpg','mp4'],
}
},
+ created() {
+ this.getProjectInfoData()
+ },
methods: {
search() {
this.getProjectProgressForm(this.projectInfoData.id);
this.getProgressInfoList(this.projectInfoData.id);
+ this.progressReportData = {};
},
// 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏
getProjectInfoData() {
// 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁
- this.projectInfoData = this.$route.query.data;
+ this.projectInfoData = JSON.parse(this.$route.query.data);
this.search();
},
getProjectProgressForm(id) {
@@ -391,7 +464,7 @@
// 鍥炲
handleReply() {
reply(this.progressReportData).then(res => {
- // this.dialogFormVisible = false;
+ this.dialogFormVisible = false;
this.$message.success('鍥炲鎴愬姛');
this.search();
})
@@ -425,6 +498,7 @@
this.dialogFormVisible = false;
this.isShowReplyBtn = true;
this.dialogFlag = 0;
+ this.progressReportData = {};
},
// 淇濆瓨
handleSave() {
@@ -436,9 +510,7 @@
})
}
},
- created() {
- this.getProjectInfoData()
- },
+
};
</script>
@@ -450,7 +522,7 @@
}
.custom-dialog {
- max-height: 70vh; /* 璁剧疆鏈�澶ч珮搴� */
+ max-height: 60vh; /* 璁剧疆鏈�澶ч珮搴� */
overflow-y: auto; /* 鍏佽鍨傜洿婊氬姩 */
}
</style>
--
Gitblit v1.8.0