From 6ae0fcef149ddbe614746023a58a3885b3ac4bde Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期二, 25 三月 2025 11:31:04 +0800 Subject: [PATCH] Merge branch 'dev' --- 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