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