From ce20e86b57be436a42b65befe8e1da2283922030 Mon Sep 17 00:00:00 2001
From: luohairen <3399054449@qq.com>
Date: 星期三, 11 十二月 2024 10:17:05 +0800
Subject: [PATCH] 优化

---
 src/views/projectManage/plan/planInfo.vue           |    9 -
 src/views/projectManage/progress/progressRecord.vue |  303 ++++++++++++++++++++++--------------------
 src/views/projectManage/plan/index.vue              |    5 
 src/views/projectManage/plan/planInfoCheck.vue      |   18 --
 src/views/projectManage/plan/planRecord.vue         |   27 +--
 5 files changed, 170 insertions(+), 192 deletions(-)

diff --git a/src/views/projectManage/plan/index.vue b/src/views/projectManage/plan/index.vue
index 16a8ffc..2b9f941 100644
--- a/src/views/projectManage/plan/index.vue
+++ b/src/views/projectManage/plan/index.vue
@@ -240,10 +240,7 @@
         this.$router.push({
           path: '/projectManage/planRecord',
           query: {
-            id: row.id,
-            projectName: row.projectName,
-            projectCode: row.projectCode,
-            managerFlag: row.managerFlag
+            data: JSON.stringify(row)
           }
         })
       })
diff --git a/src/views/projectManage/plan/planInfo.vue b/src/views/projectManage/plan/planInfo.vue
index 310c175..ca24a31 100644
--- a/src/views/projectManage/plan/planInfo.vue
+++ b/src/views/projectManage/plan/planInfo.vue
@@ -112,13 +112,8 @@
     // 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏
     getProjectInfoData() {
       // 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁
-      this.projectInfoData = this.$route.query.projectInfoData
-      this.planInfoData.id = this.$route.query.id;
-      this.planInfoData.projectName = this.$route.query.projectName;
-      this.planInfoData.projectCode = this.$route.query.projectCode;
-      this.planInfoData.planTime = this.$route.query.planTime;
-      this.planInfoData.planTimeFlag = this.$route.query.planTimeFlag;
-      this.planInfoData.managerFlag = this.$route.query.managerFlag;
+      this.projectInfoData = JSON.parse(this.$route.query.projectInfoData)
+      this.planInfoData = JSON.parse(this.$route.query.data)
       this.search();
     },
     // 鑾峰彇椤圭洰璁″垝椤�
diff --git a/src/views/projectManage/plan/planInfoCheck.vue b/src/views/projectManage/plan/planInfoCheck.vue
index dd9d690..3aa6728 100644
--- a/src/views/projectManage/plan/planInfoCheck.vue
+++ b/src/views/projectManage/plan/planInfoCheck.vue
@@ -279,13 +279,8 @@
     // 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏
     getPlanRecordData() {
       // 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁
-      this.projectInfoData = this.$route.query.projectInfoData
-      this.planInfoData.id = this.$route.query.id;
-      this.planInfoData.projectName = this.$route.query.projectName;
-      this.planInfoData.projectCode = this.$route.query.projectCode;
-      this.planInfoData.planTime = this.$route.query.planTime;
-      this.planInfoData.planTimeFlag = this.$route.query.planTimeFlag;
-      this.planInfoData.managerFlag = this.$route.query.managerFlag;
+      this.projectInfoData = JSON.parse(this.$route.query.projectInfoData)
+      this.planInfoData = JSON.parse(this.$route.query.data)
       this.search();
     },
     // 鑾峰彇椤圭洰璁″垝椤�
@@ -345,15 +340,6 @@
       this.tableData[index].startTime = '';
       this.tableData[index].endTime = '';
     },
-    /** 杩斿洖椤圭洰璁″垝璁板綍 */
-    handlePlanRecord() {
-      this.$router.replace({
-        path: '/projectManage/planRecord',
-        query: {
-          data: this.projectInfoData
-        }
-      })
-    }
   },
   created() {
     this.getPlanRecordData();
diff --git a/src/views/projectManage/plan/planRecord.vue b/src/views/projectManage/plan/planRecord.vue
index ad63175..ab0b9ba 100644
--- a/src/views/projectManage/plan/planRecord.vue
+++ b/src/views/projectManage/plan/planRecord.vue
@@ -113,7 +113,7 @@
 import {addRecord, getPlanRecordList, deletePlanRecord} from "@/api/projectPlan/index";
 
 export default {
-  name: "PlanRecord",
+  // name: "PlanRecord",
   data() {
     return {
       // 鎺ユ敹浼犻�掕繃鏉ョ殑椤圭洰璁″垝鏁版嵁
@@ -137,10 +137,7 @@
     // 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏
     getProjectInfoData() {
       // 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁
-      this.projectInfoData.id = this.$route.query.id;
-      this.projectInfoData.projectName = this.$route.query.projectName;
-      this.projectInfoData.projectCode = this.$route.query.projectCode;
-      this.projectInfoData.managerFlag = this.$route.query.managerFlag;
+      this.projectInfoData = JSON.parse(this.$route.query.data);
       // 鑾峰彇椤圭洰璁″垝璁板綍鏁版嵁
       this.search();
     },
@@ -210,16 +207,12 @@
     },
     /** 淇敼椤圭洰璁″垝椤� */
     handlePlanInfo(row) {
+      row.managerFlag = this.projectInfoData.managerFlag;
       this.$router.push({
         path: '/projectManage/planInfo',
         query: {
-          id: row.id,
-          projectName: row.projectName,
-          projectCode: row.projectCode,
-          planTime: row.planTime,
-          planTimeFlag: row.planTimeFlag,
-          managerFlag: row.managerFlag,
-          projectInfoData: this.projectInfoData
+          data: JSON.stringify(row),
+          projectInfoData: JSON.stringify(this.projectInfoData)
         }
       })
     },
@@ -231,16 +224,12 @@
     },
     // 鏌ョ湅椤圭洰璁″垝椤�
     handleCheckPlanInfo(row) {
+      row.managerFlag = this.projectInfoData.managerFlag;
       this.$router.push({
         path: '/projectManage/planInfoCheck',
         query: {
-          id: row.id,
-          projectName: row.projectName,
-          projectCode: row.projectCode,
-          planTime: row.planTime,
-          planTimeFlag: row.planTimeFlag,
-          managerFlag: row.managerFlag,
-          projectInfoData: this.projectInfoData
+          data: JSON.stringify(row),
+          projectInfoData: JSON.stringify(this.projectInfoData)
         }
       })
     }
diff --git a/src/views/projectManage/progress/progressRecord.vue b/src/views/projectManage/progress/progressRecord.vue
index fa478ff..afecc29 100644
--- a/src/views/projectManage/progress/progressRecord.vue
+++ b/src/views/projectManage/progress/progressRecord.vue
@@ -135,152 +135,163 @@
             </div>
           </el-row>
 
-          <el-dialog :title=" dialogFlag === 1 ? '杩涘害鏌ョ湅' : '杩涘害涓婃姤' " :visible.sync="dialogFormVisible" custom-class="custom-dialog" :close-on-click-modal="false" @close="handleCancel">
+          <el-dialog
+            :title=" dialogFlag === 1 ? '杩涘害鏌ョ湅' : '杩涘害涓婃姤' "
+            :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 />
-              </el-form-item>
-              <el-form-item label="璁″垝浜嬮」锛�" :label-width="formLabelWidth">
-                <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" readonly/>
-                鑷�
-                <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="閫夋嫨鏃ユ湡"
-                  value-format="yyyy-MM-dd HH:mm:ss"
-                  size="small"
-                  style="width: 130px"
-                  :readonly="projectInfoData.managerFlag || dialogFlag !== 0"/>
-                鑷�
-                <el-date-picker
-                  v-model="progressReportData.actualEndTime"
-                  type="date"
-                  placeholder="閫夋嫨鏃ユ湡"
-                  value-format="yyyy-MM-dd HH:mm:ss"
-                  size="small"
-                  style="width: 130px"
-                  :readonly="projectInfoData.managerFlag || dialogFlag !== 0"/>
-              </el-form-item>
-              <el-form-item label="杩涘害鎯呭喌锛�" :label-width="formLabelWidth">
-                <el-input
-                  type="textarea"
-                  v-model="progressReportData.progressStatusStr"
-                  placeholder="璇疯緭鍏�" rows="3"
-                  :readonly="projectInfoData.managerFlag || dialogFlag !== 0" />
-              </el-form-item>
-              <el-form-item 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="projectInfoData.managerFlag || dialogFlag !== 0" />
-              </el-form-item>
-              <el-form-item label="涓婄骇瀹℃牳锛�" :label-width="formLabelWidth">
-                <div v-if="!projectInfoData.managerFlag">
-                  <el-input
-                    :value="progressReportData.departmentExamine === 0 ? '鍚屾剰' : progressReportData.departmentExamine === 1 ? '椹冲洖' : '鏈鏍�'"
-                    readonly />
-                </div>
-                <div v-if="projectInfoData.managerFlag">
-                  <el-select
-                    v-model="progressReportData.departmentExamine"
-                    placeholder="璇烽�夋嫨"
-                    size="small"
-                    :disabled="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
-                    clearable>
-                    <el-option label="鍚屾剰" :value="0"></el-option>
-                    <el-option label="椹冲洖" :value="1"></el-option>
-                    <el-option label="璇烽�夋嫨" :value="null"></el-option>
-                  </el-select>
-                </div>
-              </el-form-item>
-              <el-form-item label="涓婄骇鎵瑰锛�" :label-width="formLabelWidth">
-                <div v-if="!projectInfoData.managerFlag">
-                  <el-input v-model="progressReportData.departmentApproval" readonly />
-                </div>
-                <div v-if="projectInfoData.managerFlag">
-                  <el-input
-                    v-model="progressReportData.departmentApproval"
-                    :readonly="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"/>
-                </div>
-              </el-form-item>
-              <el-form-item label="涓婄骇鎵瑰鍥炲锛�" :label-width="formLabelWidth">
-                <div v-if="!projectInfoData.managerFlag">
-                  <el-input
-                    type="textarea"
-                    v-model="progressReportData.departmentApprovalReply"
-                    :readonly="dialogFlag === 0 || progressReportData.progressStatusInt === 1"
-                    placeholder="璇疯緭鍏�"
-                    rows="3" />
-                </div>
-                <div v-if="projectInfoData.managerFlag">
-                  <el-input
-                    type="textarea"
-                    v-model="progressReportData.departmentApprovalReply"
-                    placeholder="璇疯緭鍏�"
-                    rows="3"
-                    readonly/>
-                </div>
-              </el-form-item>
-              <el-form-item label="涓荤閮ㄩ棬瀹℃牳锛�" :label-width="formLabelWidth">
-                <div v-if="!projectInfoData.managerFlag">
-                  <el-input
-                    :value="progressReportData.manageExamine === 0 ? '鍚屾剰' : progressReportData.manageExamine === 1 ? '椹冲洖' : '鏈鏍�'"
-                    readonly />
-                </div>
-                <div v-if="projectInfoData.managerFlag">
-                  <el-select
-                    v-model="progressReportData.manageExamine"
-                    placeholder="璇烽�夋嫨"
-                    size="small"
-                    :disabled="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
-                    clearable>
-                    <el-option label="璇烽�夋嫨" :value="null"></el-option>
-                    <el-option label="鍚屾剰" :value="0"></el-option>
-                    <el-option label="椹冲洖" :value="1"></el-option>
-                  </el-select>
-                </div>
-              </el-form-item>
-              <el-form-item label="涓荤閮ㄩ棬鎵瑰锛�" :label-width="formLabelWidth">
-                <div v-if="!projectInfoData.managerFlag">
-                  <el-input
-                    v-model="progressReportData.manageApproval"
-                    readonly />
-                </div>
-                <div v-if="projectInfoData.managerFlag">
-                  <el-input
-                    :readonly="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
-                    v-model="progressReportData.manageApproval" />
-                </div>
-              </el-form-item>
-              <el-form-item label="涓荤閮ㄩ棬鎵瑰鍥炲锛�" :label-width="formLabelWidth">
-                <div v-if="!projectInfoData.managerFlag">
-                  <el-input
-                    type="textarea"
-                    v-model="progressReportData.manageApprovalReply"
-                    :readonly="dialogFlag === 0 || progressReportData.progressStatusInt === 1"
-                    placeholder="璇疯緭鍏�"
-                    rows="3" />
-                </div>
-                <div v-if="projectInfoData.managerFlag">
-                  <el-input
-                    type="textarea"
-                    v-model="progressReportData.manageApprovalReply"
-                    placeholder="璇疯緭鍏�"
-                    rows="3"
-                    readonly/>
-                </div>
-              </el-form-item>
+              <el-row>
+                <el-col :span="12">
+                  <el-form-item label="鎶ュ憡鏈燂細" :label-width="formLabelWidth">
+                    <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" 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" readonly/>
+                    鑷�
+                    <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="閫夋嫨鏃ユ湡"
+                      value-format="yyyy-MM-dd HH:mm:ss"
+                      size="small"
+                      style="width: 130px"
+                      :readonly="projectInfoData.managerFlag || dialogFlag !== 0"/>
+                    鑷�
+                    <el-date-picker
+                      v-model="progressReportData.actualEndTime"
+                      type="date"
+                      placeholder="閫夋嫨鏃ユ湡"
+                      value-format="yyyy-MM-dd HH:mm:ss"
+                      size="small"
+                      style="width: 130px"
+                      :readonly="projectInfoData.managerFlag || dialogFlag !== 0"/>
+                  </el-form-item>
+                  <el-form-item label="杩涘害鎯呭喌锛�" :label-width="formLabelWidth">
+                    <el-input
+                      type="textarea"
+                      v-model="progressReportData.progressStatusStr"
+                      placeholder="璇疯緭鍏�" rows="3"
+                      :readonly="projectInfoData.managerFlag || dialogFlag !== 0" />
+                  </el-form-item>
+                  <el-form-item 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="projectInfoData.managerFlag || dialogFlag !== 0" />
+                  </el-form-item>
+                </el-col>
+                <el-col :span="12">
+                  <el-form-item label="涓婄骇瀹℃牳锛�" :label-width="formLabelWidth">
+                    <div v-if="!projectInfoData.managerFlag">
+                      <el-input
+                        :value="progressReportData.departmentExamine === 0 ? '鍚屾剰' : progressReportData.departmentExamine === 1 ? '椹冲洖' : '鏈鏍�'"
+                        readonly />
+                    </div>
+                    <div v-if="projectInfoData.managerFlag">
+                      <el-select
+                        v-model="progressReportData.departmentExamine"
+                        placeholder="璇烽�夋嫨"
+                        size="small"
+                        :disabled="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
+                        clearable>
+                        <el-option label="鍚屾剰" :value="0"></el-option>
+                        <el-option label="椹冲洖" :value="1"></el-option>
+                        <el-option label="璇烽�夋嫨" :value="null"></el-option>
+                      </el-select>
+                    </div>
+                  </el-form-item>
+                  <el-form-item label="涓婄骇鎵瑰锛�" :label-width="formLabelWidth">
+                    <div v-if="!projectInfoData.managerFlag">
+                      <el-input v-model="progressReportData.departmentApproval" readonly />
+                    </div>
+                    <div v-if="projectInfoData.managerFlag">
+                      <el-input
+                        v-model="progressReportData.departmentApproval"
+                        :readonly="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"/>
+                    </div>
+                  </el-form-item>
+                  <el-form-item label="涓婄骇鎵瑰鍥炲锛�" :label-width="formLabelWidth">
+                    <div v-if="!projectInfoData.managerFlag">
+                      <el-input
+                        type="textarea"
+                        v-model="progressReportData.departmentApprovalReply"
+                        :readonly="dialogFlag === 0 || progressReportData.progressStatusInt === 1"
+                        placeholder="璇疯緭鍏�"
+                        rows="3" />
+                    </div>
+                    <div v-if="projectInfoData.managerFlag">
+                      <el-input
+                        type="textarea"
+                        v-model="progressReportData.departmentApprovalReply"
+                        placeholder="璇疯緭鍏�"
+                        rows="3"
+                        readonly/>
+                    </div>
+                  </el-form-item>
+                  <el-form-item label="涓荤閮ㄩ棬瀹℃牳锛�" :label-width="formLabelWidth">
+                    <div v-if="!projectInfoData.managerFlag">
+                      <el-input
+                        :value="progressReportData.manageExamine === 0 ? '鍚屾剰' : progressReportData.manageExamine === 1 ? '椹冲洖' : '鏈鏍�'"
+                        readonly />
+                    </div>
+                    <div v-if="projectInfoData.managerFlag">
+                      <el-select
+                        v-model="progressReportData.manageExamine"
+                        placeholder="璇烽�夋嫨"
+                        size="small"
+                        :disabled="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
+                        clearable>
+                        <el-option label="璇烽�夋嫨" :value="null"></el-option>
+                        <el-option label="鍚屾剰" :value="0"></el-option>
+                        <el-option label="椹冲洖" :value="1"></el-option>
+                      </el-select>
+                    </div>
+                  </el-form-item>
+                  <el-form-item label="涓荤閮ㄩ棬鎵瑰锛�" :label-width="formLabelWidth">
+                    <div v-if="!projectInfoData.managerFlag">
+                      <el-input
+                        v-model="progressReportData.manageApproval"
+                        readonly />
+                    </div>
+                    <div v-if="projectInfoData.managerFlag">
+                      <el-input
+                        :readonly="progressReportData.progressStatusInt === 2 || progressReportData.progressStatusInt === 3"
+                        v-model="progressReportData.manageApproval" />
+                    </div>
+                  </el-form-item>
+                  <el-form-item label="涓荤閮ㄩ棬鎵瑰鍥炲锛�" :label-width="formLabelWidth">
+                    <div v-if="!projectInfoData.managerFlag">
+                      <el-input
+                        type="textarea"
+                        v-model="progressReportData.manageApprovalReply"
+                        :readonly="dialogFlag === 0 || progressReportData.progressStatusInt === 1"
+                        placeholder="璇疯緭鍏�"
+                        rows="3" />
+                    </div>
+                    <div v-if="projectInfoData.managerFlag">
+                      <el-input
+                        type="textarea"
+                        v-model="progressReportData.manageApprovalReply"
+                        placeholder="璇疯緭鍏�"
+                        rows="3"
+                        readonly/>
+                    </div>
+                  </el-form-item>
+                </el-col>
+              </el-row>
             </el-form>
             <div slot="footer" class="dialog-footer">
               <div v-if="!projectInfoData.managerFlag">
@@ -455,7 +466,7 @@
 }
 
 .custom-dialog {
-  max-height: 70vh; /* 璁剧疆鏈�澶ч珮搴� */
+  max-height: 60vh; /* 璁剧疆鏈�澶ч珮搴� */
   overflow-y: auto; /* 鍏佽鍨傜洿婊氬姩 */
 }
 </style>

--
Gitblit v1.8.0