From 3328c5049848d4e53d6dd4c33156bfd75920a35a Mon Sep 17 00:00:00 2001 From: luohairen <3399054449@qq.com> Date: 星期四, 28 十一月 2024 01:24:50 +0800 Subject: [PATCH] 进度上报、查看 --- /dev/null | 171 ------------------------------------------ src/views/projectManage/progress/progressRecord.vue | 54 ++++++++----- 2 files changed, 32 insertions(+), 193 deletions(-) diff --git a/src/views/projectManage/progress/progressRecord.vue b/src/views/projectManage/progress/progressRecord.vue index a5445ca..3c2eafe 100644 --- a/src/views/projectManage/progress/progressRecord.vue +++ b/src/views/projectManage/progress/progressRecord.vue @@ -125,62 +125,63 @@ </div> </el-row> - <el-dialog title="杩涘害涓婃姤" :visible.sync="dialogFormVisible" custom-class="custom-dialog"> + <el-dialog :title=" checkFlag ? '杩涘害鏌ョ湅' : '杩涘害涓婃姤' " :visible.sync="dialogFormVisible" custom-class="custom-dialog"> <el-form :model="progressReportData"> <el-form-item label="鎶ュ憡鏈燂細" :label-width="formLabelWidth"> - <el-input :value="progressReportData.planTime + (progressReportData.planTimeFlag === 0 ? '鏈堝害' : progressReportData.planTimeFlag === 1 ? '瀛e害' : '骞村害')" disabled /> + <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" disabled /> + <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" disabled/> + <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" disabled/> + <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" /> + <el-date-picker v-model="progressReportData.actualStartTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" :readonly="checkFlag"/> 鑷� - <el-date-picker v-model="progressReportData.actualEndTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" /> + <el-date-picker v-model="progressReportData.actualEndTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" :readonly="checkFlag"/> </el-form-item> <el-form-item label="杩涘害鎯呭喌锛�" :label-width="formLabelWidth"> - <el-input type="textarea" v-model="progressReportData.progressStatus" placeholder="璇疯緭鍏�" rows="3" /> + <el-input type="textarea" v-model="progressReportData.progressStatus" placeholder="璇疯緭鍏�" rows="3" :readonly="checkFlag" /> </el-form-item> <el-form-item label="宸ョ▼杩涘害闄勪欢锛�" :label-width="formLabelWidth"> <el-upload class="upload-demo" drag action="https://jsonplaceholder.typicode.com/posts/" - multiple> + multiple + :disabled="checkFlag" > <i class="el-icon-upload"></i> <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> <div class="el-upload__tip" slot="tip">鍙兘涓婁紶jpg/png鏂囦欢锛屼笖涓嶈秴杩�500kb</div> </el-upload> </el-form-item> <el-form-item label="鎴鏈姤鍛婂畬鎴愭姇璧勶細" :label-width="formLabelWidth"> - <el-input v-model="progressReportData.actualInvest" type="number" /> + <el-input v-model="progressReportData.actualInvest" type="number" :readonly="checkFlag" /> </el-form-item> <el-form-item label="涓婄骇瀹℃牳锛�" :label-width="formLabelWidth"> - <el-input :value="progressReportData.departmentExamine === 0 ? '鍚屾剰' : progressReportData.departmentExamine === 1 ? '椹冲洖' : '鏈鏍�'" disabled /> + <el-input :value="progressReportData.departmentExamine === 0 ? '鍚屾剰' : progressReportData.departmentExamine === 1 ? '椹冲洖' : '鏈鏍�'" readonly /> </el-form-item> <el-form-item label="涓婄骇鎵瑰锛�" :label-width="formLabelWidth"> - <el-input v-model="progressReportData.departmentApproval" disabled /> + <el-input v-model="progressReportData.departmentApproval" readonly /> </el-form-item> <el-form-item label="涓婄骇鎵瑰鍥炲锛�" :label-width="formLabelWidth"> - <el-input type="textarea" v-model="progressReportData.departmentApprovalReply" placeholder="璇疯緭鍏�" rows="3" /> + <el-input type="textarea" v-model="progressReportData.departmentApprovalReply" placeholder="璇疯緭鍏�" rows="3" :readonly="checkFlag" /> </el-form-item> <el-form-item label="涓荤閮ㄩ棬瀹℃牳锛�" :label-width="formLabelWidth"> - <el-input :value="progressReportData.manageExamine === 0 ? '鍚屾剰' : progressReportData.manageExamine === 1 ? '椹冲洖' : '鏈鏍�'" disabled /> + <el-input :value="progressReportData.manageExamine === 0 ? '鍚屾剰' : progressReportData.manageExamine === 1 ? '椹冲洖' : '鏈鏍�'" readonly /> </el-form-item> <el-form-item label="涓荤閮ㄩ棬瀹℃牳鎵瑰锛�" :label-width="formLabelWidth"> - <el-input v-model="progressReportData.manageApproval" disabled /> + <el-input v-model="progressReportData.manageApproval" readonly /> </el-form-item> <el-form-item label="涓荤閮ㄩ棬鎵瑰鍥炲锛�" :label-width="formLabelWidth"> - <el-input type="textarea" v-model="progressReportData.manageApprovalReply" placeholder="璇疯緭鍏�" rows="3" /> + <el-input type="textarea" v-model="progressReportData.manageApprovalReply" placeholder="璇疯緭鍏�" rows="3" :readonly="checkFlag" /> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="handleRecordSubmit">涓� 鎶�</el-button> + <el-button type="primary" @click="handleRecordSubmit" v-if="!checkFlag">涓� 鎶�</el-button> <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> </div> </el-dialog> @@ -205,17 +206,18 @@ activeTab: "month", // 榛樿鏄剧ず鏈堝害璁″垝 dialogFormVisible: false, + // 鏌ョ湅鏄剧ず + checkFlag: false, progressReportData: {}, formLabelWidth: '150px' } }, methods: { - // 椤甸潰鍔犺浇 search() { - this.getPlanRecordData(this.planRecordData.id); + this.getPlanRecordData() }, // 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏 - getplanRecordData() { + getPlanRecordData() { // 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁 if (this.$route.query.data) { this.planRecordData = JSON.parse(this.$route.query.data); @@ -235,7 +237,6 @@ this.dialogFormVisible = true; getProgressReport(row.id).then(res => { this.progressReportData = res.data; - console.log(this.progressReportData) }) }, // 涓婃姤鎻愪氦 @@ -243,11 +244,20 @@ recordSubmit(this.progressReportData).then(res => { this.dialogFormVisible = false; this.$message.success('涓婃姤鎴愬姛'); + this.search(); + }) + }, + // 鏌ョ湅杩涘害 + handleCheckProgress(row) { + this.dialogFormVisible = true; + this.checkFlag = true; + getProgressReport(row.id).then(res => { + this.progressReportData = res.data; }) } }, created() { - this.getplanRecordData(); + this.search(); }, }; </script> diff --git a/src/views/projectManage/progress/progressReport.vue b/src/views/projectManage/progress/progressReport.vue deleted file mode 100644 index 5942452..0000000 --- a/src/views/projectManage/progress/progressReport.vue +++ /dev/null @@ -1,171 +0,0 @@ -<template> - <div class="app-container"> - <el-container> - <el-header v-show="planRecordData && planRecordData.projectName" class="header-title">椤圭洰鍚嶇О锛歿{ planRecordData.projectName }}</el-header> - <h4 v-show="planRecordData && planRecordData.projectCode" style="text-align: center">椤圭洰浠g爜锛歿{ planRecordData.projectCode }}</h4> - <el-main> - <el-card shadow="hover"> - <el-row :gutter="20"> - <el-form :model="form" label-width="80px"> - <el-row> - <el-col :span="6"> - <el-form-item label="鎶ュ憡鏈燂細"> - <el-input v-model="form.reportPeriod"></el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="璁″垝浜嬮」锛�"> - <el-input v-model="form.planItem"></el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="璁″垝鏃堕棿锛�"> - <el-date-picker type="daterange" placeholder="閫夋嫨鏃ユ湡鑼冨洿" v-model="form.planTimeRange" style="width: 100%;"></el-date-picker> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="瀹為檯瀹屾垚鏃堕棿锛�"> - <el-date-picker type="daterange" placeholder="閫夋嫨鏃ユ湡鑼冨洿" v-model="form.actualCompletionTimeRange" style="width: 100%;"></el-date-picker> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="杩涘害鎯呭喌锛�"> - <el-input type="textarea" v-model="form.progressSituation"></el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="宸ョ▼杩涘害闄勪欢锛�"> - <el-upload - class="upload-demo" - action="/api/upload" - :on-preview="handlePreview" - :on-remove="handleRemove" - :file-list="fileList" - list-type="picture-card" - multiple - :auto-upload="false" - > - <i class="el-icon-plus"></i> - </el-upload> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="6"> - <el-form-item label="鎴鏈姤鍛婂畬鎴愭姇璧勶細"> - <el-input v-model="form.investmentAmount"></el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="涓婄骇瀹℃牳锛�"> - <el-select v-model="form.superiorReview" placeholder="璇烽�夋嫨"> - <el-option label="鍚屾剰" value="agree"></el-option> - <el-option label="涓嶅悓鎰�" value="disagree"></el-option> - </el-select> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="涓婄骇鎵瑰锛�"> - <el-input v-model="form.superiorApproval"></el-input> - </el-form-item> - </el-col> - <el-col :span="6"> - <el-form-item label="涓荤閮ㄩ棬瀹℃牳锛�"> - <el-input v-model="form.departmentReview"></el-input> - </el-form-item> - </el-col> - </el-row> - <div slot="footer" class="dialog-footer"> - <el-button @click="reset">閲嶇疆</el-button> - <el-button type="primary" @click="submit">淇濆瓨</el-button> - </div> - </el-form> - </el-row> - </el-card> - </el-main> - </el-container> - </div> -</template> - -<script> -import { getProgressInfoList } from "@/api/projectManage/progress/index"; - -export default { - name: "progressReport", - data() { - return { - // 鎺ユ敹浼犻�掕繃鏉ョ殑椤圭洰璁″垝鏁版嵁 - planRecordData: {}, - projectPlanInfo:{}, - monthProgress: [], - seasonProgress: [], - yearProgress: [], - activeTab: "month", // 榛樿鏄剧ず鏈堝害璁″垝 - - - form: { - reportPeriod: '', - planItem: '', - planTimeRange: [], - actualCompletionTimeRange: [], - progressSituation: '', - investmentAmount: '', - superiorReview: '', - superiorApproval: '', - departmentReview: '' - }, - fileList: [] - } - }, - methods: { - // 椤甸潰鍔犺浇 - search() { - this.getPlanRecordData(this.planRecordData.id); - }, - // 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏 - getData() { - // 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁 - this.planRecordData = this.$route.query.data - this.projectPlanInfo = this.$route.query.projectPlanInfo; - }, - // 鑾峰彇椤圭洰杩涘害璁″垝椤� - getProgressInfoList(id) { - getProgressInfoList(id).then(res => { - this.monthProgress = res.data.monthProgress; - this.seasonProgress = res.data.seasonProgress; - this.yearProgress = res.data.yearProgress; - }) - }, - - - - handleRemove(file, fileList) { - console.log(file, fileList); - }, - handlePreview(file) { - console.log(file); - }, - reset() { - this.form = {}; - this.fileList = []; - }, - submit() { - // 鎻愪氦琛ㄥ崟鐨勯�昏緫 - } - }, - created() { - this.getData(); - }, -}; -</script> - -<style scoped> -.header-title { - font-size: 24px; /* 鏍规嵁闇�瑕佽皟鏁村瓧浣撳ぇ灏� */ - text-align: center; /* 灞呬腑瀵归綈 */ - line-height: 64px; /* 濡傛灉闇�瑕佷笌 header 楂樺害瀵归綈 */ -} -</style> - -- Gitblit v1.8.0