From d2eaa00bbee1fb2d081a8767d888efe77186cb7e Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期五, 29 十一月 2024 04:00:59 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/projectManage/progress/progressRecord.vue | 107 ++++++++++++++++++++++++++++++++--------------------- 1 files changed, 64 insertions(+), 43 deletions(-) diff --git a/src/views/projectManage/progress/progressRecord.vue b/src/views/projectManage/progress/progressRecord.vue index 3c2eafe..566a7e9 100644 --- a/src/views/projectManage/progress/progressRecord.vue +++ b/src/views/projectManage/progress/progressRecord.vue @@ -1,8 +1,8 @@ <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-header v-show="projectInfoData && projectInfoData.projectName" class="header-title">椤圭洰鍚嶇О锛歿{ projectInfoData.projectName }}</el-header> + <h4 v-show="projectInfoData && projectInfoData.projectCode" style="text-align: center">椤圭洰浠g爜锛歿{ projectInfoData.projectCode }}</h4> <el-main> <el-card shadow="hover"> <el-row :gutter="20"> @@ -97,35 +97,26 @@ </el-col> <div style="margin-bottom: 10px"> <h1 style="font-size: 20px; font-weight: bold;">绔e伐鎶ュ憡</h1> - <div style="display: flex; justify-content: center; align-items: center;"> - <el-upload - class="upload-demo" - drag - action="https://jsonplaceholder.typicode.com/posts/" - multiple> - <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> + <div style="display: flex;margin-left: 20px;"> + <file-upload v-model="projectProgressForm.completedReportFileList" + :fileType="projectProgressForm.accept" + :isShowTip="false"/> </div> </div> <div style="margin-bottom: 10px"> <h1 style="font-size: 20px; font-weight: bold;">鎯呭喌璇存槑</h1> - <div style="display: flex; justify-content: center; align-items: center;"> - <el-upload - class="upload-demo" - drag - action="https://jsonplaceholder.typicode.com/posts/" - multiple> - <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> + <div style="display: flex;margin-left: 20px;"> + <file-upload v-model="projectProgressForm.situationDescriptionFileList" + :fileType="projectProgressForm.accept" + :isShowTip="false"/> </div> + </div> + <div style="display: flex; justify-content: center; align-items: center; margin-top: 20px;"> + <el-button type="primary" @click="handleSave">淇� 瀛�</el-button> </div> </el-row> - <el-dialog :title=" checkFlag ? '杩涘害鏌ョ湅' : '杩涘害涓婃姤' " :visible.sync="dialogFormVisible" custom-class="custom-dialog"> + <el-dialog :title=" checkFlag ? '杩涘害鏌ョ湅' : '杩涘害涓婃姤' " :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 /> @@ -146,17 +137,10 @@ <el-form-item label="杩涘害鎯呭喌锛�" :label-width="formLabelWidth"> <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 - :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 prop="fileList" 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="checkFlag" /> @@ -182,7 +166,7 @@ </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="handleRecordSubmit" v-if="!checkFlag">涓� 鎶�</el-button> - <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> + <el-button @click="handleCancel">鍙� 娑�</el-button> </div> </el-dialog> </el-card> @@ -192,14 +176,20 @@ </template> <script> -import { getProgressInfoList, getProgressReport, recordSubmit } from "@/api/projectManage/progress/index"; +import { getProgressInfoList, getProgressReport, recordSubmit, saveProjectProgressFileLists, getProjectProgressForm } from "@/api/projectManage/progress/index"; +import progressRecord from "./progressRecord.vue"; export default { - name: "progressRecord", + name: "ProgressRecord", + computed: { + progressRecord() { + return progressRecord + } + }, data() { return { // 鎺ユ敹浼犻�掕繃鏉ョ殑椤圭洰璁″垝鏁版嵁 - planRecordData: {}, + projectInfoData: {}, monthProgress: [], seasonProgress: [], yearProgress: [], @@ -209,20 +199,37 @@ // 鏌ョ湅鏄剧ず checkFlag: false, progressReportData: {}, - formLabelWidth: '150px' + formLabelWidth: '150px', + + // 绔e伐鎶ュ憡銆佹儏鍐佃鏄庨檮浠� + projectProgressForm: { + completedReportFileList: [], + situationDescriptionFileList: [], + projectReportId: null, + accept: ['pdf'], + }, + + // 杩涘害涓婃姤闄勪欢绫诲瀷 + accept: ['pdf','jpg','mp4'], } }, methods: { search() { - this.getPlanRecordData() + this.getProjectInfoData() + this.getProjectProgressForm(this.projectInfoData.id); }, // 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏 - getPlanRecordData() { + getProjectInfoData() { // 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁 if (this.$route.query.data) { - this.planRecordData = JSON.parse(this.$route.query.data); - this.getProgressInfoList(this.planRecordData.id); + this.projectInfoData = JSON.parse(this.$route.query.data); + this.getProgressInfoList(this.projectInfoData.id); } + }, + getProjectProgressForm(id) { + getProjectProgressForm(id).then(res => { + this.projectProgressForm = res.data; + }) }, // 鑾峰彇椤圭洰杩涘害璁″垝椤� getProgressInfoList(id) { @@ -254,6 +261,20 @@ getProgressReport(row.id).then(res => { this.progressReportData = res.data; }) + }, + // 鍏抽棴寮圭獥 + handleCancel() { + this.dialogFormVisible = false; + this.checkFlag = false; + }, + // 淇濆瓨 + handleSave() { + this.projectProgressForm.projectReportId = this.projectInfoData.id; + // 鍒ゆ柇鏂囦欢涓嶄负绌� + saveProjectProgressFileLists(this.projectProgressForm).then(res => { + this.$message.success('淇濆瓨鎴愬姛'); + this.search(); + }) } }, created() { -- Gitblit v1.8.0