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