From cf2faab021222e1e345e8098da38f2c24ea8b504 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 28 十一月 2024 06:07:40 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/projectManage/progress/progressRecord.vue |   62 ++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 22 deletions(-)

diff --git a/src/views/projectManage/progress/progressRecord.vue b/src/views/projectManage/progress/progressRecord.vue
index 422b813..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 ? '鍚屾剰' : '椹冲洖'" 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 ? '鍚屾剰' : '椹冲洖'" 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="dialogFormVisible = false">涓� 鎶�</el-button>
+              <el-button type="primary" @click="handleRecordSubmit" v-if="!checkFlag">涓� 鎶�</el-button>
               <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
             </div>
           </el-dialog>
@@ -191,7 +192,7 @@
 </template>
 
 <script>
-import { getProgressInfoList, getProgressReport } from "@/api/projectManage/progress/index";
+import { getProgressInfoList, getProgressReport, recordSubmit } from "@/api/projectManage/progress/index";
 
 export default {
   name: "progressRecord",
@@ -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);
@@ -236,10 +238,26 @@
       getProgressReport(row.id).then(res => {
         this.progressReportData = res.data;
       })
+    },
+    // 涓婃姤鎻愪氦
+    handleRecordSubmit() {
+      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>

--
Gitblit v1.8.0