From 172cf9e6fb95520c72f634433c697eae6a2ac3fb Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 27 十一月 2024 02:37:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/projectManage/plan/planInfo.vue      |    2 
 src/views/projectManage/plan/index.vue         |    2 
 src/api/projectPlan/index.js                   |   39 +++++++++
 src/views/projectManage/plan/planInfoCheck.vue |  100 +++++++++++++++++-------
 src/components/FileUpload/index.vue            |    6 +
 src/router/index.js                            |   33 --------
 src/views/projectManage/plan/planRecord.vue    |    4 
 7 files changed, 118 insertions(+), 68 deletions(-)

diff --git a/src/api/projectPlan/index.js b/src/api/projectPlan/index.js
index 7ff6872..d3e00b2 100644
--- a/src/api/projectPlan/index.js
+++ b/src/api/projectPlan/index.js
@@ -75,4 +75,41 @@
     method: 'post',
     data: data
   })
-  }
+}
+
+// 寤舵湡
+export function delayPlanInfo(data) {
+  return request({
+    url: '/api/project-plan-info/delayPlanInfo',
+    method: 'post',
+    data: data
+  })
+}
+
+// 鑾峰緱涓婄骇鎵瑰
+export function getDepartmentApproval(id) {
+  return request({
+    url: '/api/project-plan-examine-record/departmentApproval/' + id,
+    method: 'get'
+  })
+}
+
+// 鍥炲涓婄骇鎵瑰
+export function replyDepartmentApproval(data) {
+  return request({
+    url: '/api/project-plan-examine-record/replyDepartmentApproval',
+    method: 'post',
+    data: data
+  })
+}
+
+// 璁″垝鏃ュ織
+export function getPlanLog(id) {
+  return request({
+    url: '/api/project-plan-examine-record/planLog/' + id,
+    method: 'get'
+  })
+}
+
+
+
diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue
index e396687..e00f7af 100644
--- a/src/components/FileUpload/index.vue
+++ b/src/components/FileUpload/index.vue
@@ -2,6 +2,7 @@
   <div class="upload-file">
     <el-upload
       multiple
+      :accept="acceptList"
       :action="uploadFileUrl"
       :before-upload="handleBeforeUpload"
       :file-list="fileList"
@@ -109,6 +110,11 @@
     showTip() {
       return this.isShowTip && (this.fileType || this.fileSize);
     },
+    acceptList () {
+      let temp = '.*'
+      temp = this.fileType.map(item => '.' + item).join(',')
+      return temp
+    }
   },
   methods: {
     // 涓婁紶鍓嶆牎妫�鏍煎紡鍜屽ぇ灏�
diff --git a/src/router/index.js b/src/router/index.js
index 789c581..396f639 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -179,39 +179,6 @@
       }
     ]
   },
-  {
-    path: '/project',
-    component: Layout,
-    children: [
-      {
-        path: '/projectPlan/index',
-        component: () => import('@/views/projectPlan/index'),
-        name: 'Index',
-        meta: { title: '椤圭洰璁″垝' }
-      },
-      /** 椤圭洰璁″垝璁板綍 */
-      {
-        path: '/projectPlan/planRecord',
-        component: () => import('@/views/projectPlan/planRecord'),
-        name: 'PlanRecord',
-        meta: { title: '椤圭洰璁″垝璁板綍' }
-      },
-      /** 缂栬緫椤圭洰璁″垝椤� */
-      {
-        path: '/projectPlan/planInfo',
-        component: () => import('@/views/projectPlan/planInfo'),
-        name: 'PlanInfo',
-        meta: { title: '缂栬緫椤圭洰璁″垝椤�' }
-      },
-      /** 鏌ョ湅椤圭洰璁″垝椤� */
-      {
-        path: '/projectPlan/planInfoCheck',
-        component: () => import('@/views/projectPlan/planInfoCheck'),
-        name: 'PlanInfoCheck',
-        meta: { title: '鏌ョ湅椤圭洰璁″垝椤�' }
-      }
-    ]
-  },
 ]
 
 // 鍔ㄦ�佽矾鐢憋紝鍩轰簬鐢ㄦ埛鏉冮檺鍔ㄦ�佸幓鍔犺浇
diff --git a/src/views/projectPlan/index.vue b/src/views/projectManage/plan/index.vue
similarity index 99%
rename from src/views/projectPlan/index.vue
rename to src/views/projectManage/plan/index.vue
index 6ffcc71..7d2d5f5 100644
--- a/src/views/projectPlan/index.vue
+++ b/src/views/projectManage/plan/index.vue
@@ -329,7 +329,7 @@
     /** 鏌ョ湅椤圭洰璁″垝璁板綍 */
     handlePlanRecord(row) {
       this.$router.push({
-        path: '/projectPlan/planRecord',
+        path: '/projectManage/planRecord',
         query: {
           data: JSON.stringify(row)
         }
diff --git a/src/views/projectPlan/planInfo.vue b/src/views/projectManage/plan/planInfo.vue
similarity index 99%
rename from src/views/projectPlan/planInfo.vue
rename to src/views/projectManage/plan/planInfo.vue
index 7e0b7cc..3fd438b 100644
--- a/src/views/projectPlan/planInfo.vue
+++ b/src/views/projectManage/plan/planInfo.vue
@@ -169,7 +169,7 @@
     /** 杩斿洖椤圭洰璁″垝璁板綍 */
     handlePlanRecord(planInfoData) {
       this.$router.push({
-        path: '/projectPlan/planRecord',
+        name: '/projectManage/planRecord',
         query: {
           data: JSON.stringify(planInfoData)
         }
diff --git a/src/views/projectPlan/planInfoCheck.vue b/src/views/projectManage/plan/planInfoCheck.vue
similarity index 64%
rename from src/views/projectPlan/planInfoCheck.vue
rename to src/views/projectManage/plan/planInfoCheck.vue
index a3476cf..30c2174 100644
--- a/src/views/projectPlan/planInfoCheck.vue
+++ b/src/views/projectManage/plan/planInfoCheck.vue
@@ -21,12 +21,12 @@
                 </el-table-column>
                 <el-table-column prop="startTime" label="璁″垝寮�濮嬫椂闂�" width="160" align="center">
                   <template #default="scope">
-                    <el-date-picker v-model="scope.row.startTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" disabled/>
+                    <el-date-picker v-model="scope.row.startTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px"/>
                   </template>
                 </el-table-column>
                 <el-table-column prop="endTime" label="璁″垝瀹屾垚鏃堕棿" width="160" align="center">
                   <template #default="scope">
-                    <el-date-picker v-model="scope.row.endTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px" disabled/>
+                    <el-date-picker v-model="scope.row.endTime" type="date" placeholder="閫夋嫨鏃ユ湡" size="small" style="width: 130px"/>
                   </template>
                 </el-table-column>
                 <el-table-column :label="planRecordData.planTimeFlag === 0 ? '鏈堝害' : planRecordData.planTimeFlag === 1 ? '瀛e害' : '骞村害' " width="100" align="center">
@@ -59,30 +59,38 @@
               <div style="margin-bottom: 10px; margin-top: 40px;">
                 <span style="font-size: 20px; font-weight: bold;">涓婄骇鎵瑰</span>
               </div>
-              <el-table :data="tableData" border stripe style="width: 100%; margin-bottom: 20px">
+              <el-table :data="departmentApprovalData" border stripe style="width: 100%; margin-bottom: 20px">
                 <el-table-column prop="index" label="搴忓彿" width="50" align="center">
                   <template #default="scope">
                     {{ scope.$index + 1 }}
                   </template>
                 </el-table-column>
-                <el-table-column prop="taskName" label="浜嬮」鍚嶇О" width="200" align="center" />
-                <el-table-column prop="startTime" label="涓婄骇瀹℃牳" width="100" align="center" />
-                <el-table-column prop="startTime" label="鎵瑰鍐呭" width="160" align="center" />
-                <el-table-column prop="endTime" label="鎵瑰鍥炲" width="160" align="center">
+                <el-table-column prop="title" label="浜嬮」鍚嶇О" width="200" align="center" />
+                <el-table-column prop="departmentExamine" label="涓婄骇瀹℃牳" width="100" align="center">
                   <template #default="scope">
-                    <el-input type="textarea" v-model="scope.row.title" placeholder="璇疯緭鍏�" rows="3" />
+                    {{ scope.row.departmentExamine === 0 ? '鍚屾剰' : scope.row.departmentExamine === 1 ? '椹冲洖' : '鏈鏍�' }}
                   </template>
                 </el-table-column>
-                <el-table-column prop="startTime" label="涓荤閮ㄩ棬瀹℃牳" width="100" align="center" />
-                <el-table-column prop="startTime" label="鎵瑰鍐呭" width="160" align="center" />
-                <el-table-column prop="endTime" label="鎵瑰鍥炲" width="160" align="center">
+                <el-table-column prop="departmentApproval" label="鎵瑰鍐呭" width="160" align="center" />
+                <el-table-column prop="departmentApprovalReply" label="鎵瑰鍥炲" width="160" align="center">
                   <template #default="scope">
-                    <el-input type="textarea" v-model="scope.row.title" placeholder="璇疯緭鍏�" rows="3" />
+                    <el-input type="textarea" v-model="scope.row.departmentApprovalReply" placeholder="璇疯緭鍏�" rows="3" />
+                  </template>
+                </el-table-column>
+                <el-table-column prop="manageExamine" label="涓荤閮ㄩ棬瀹℃牳" width="100" align="center" >
+                  <template #default="scope">
+                    {{ scope.row.manageExamine === 0 ? '鍚屾剰' : scope.row.manageExamine === 1 ? '椹冲洖' : '鏈鏍�' }}
+                  </template>
+                </el-table-column>
+                <el-table-column prop="manageApproval" label="鎵瑰鍐呭" width="160" align="center" />
+                <el-table-column prop="manageApprovalReply" label="鎵瑰鍥炲" width="160" align="center">
+                  <template #default="scope">
+                    <el-input type="textarea" v-model="scope.row.manageApprovalReply" placeholder="璇疯緭鍏�" rows="3" />
                   </template>
                 </el-table-column>
                 <el-table-column fixed="right" label="鎿嶄綔" align="center">
                   <template #default="scope">
-                    <el-button size="small" @click="handleDelay(scope.$index)">鍥炲</el-button>
+                    <el-button size="small" @click="handleReply(scope.$index)">鍥炲</el-button>
                     <el-button size="small" type="danger" @click="handleReset(scope.$index)">閲嶇疆</el-button>
                   </template>
                 </el-table-column>
@@ -93,20 +101,28 @@
               <div style="margin-bottom: 10px; margin-top: 40px;">
                 <span style="font-size: 20px; font-weight: bold;">璁″垝鏃ュ織</span>
               </div>
-              <el-table :data="tableData" border stripe style="width: 100%; margin-bottom: 20px">
+              <el-table :data="planLogData" border stripe style="width: 100%; margin-bottom: 20px">
                 <el-table-column prop="index" label="搴忓彿" width="50" align="center">
                   <template #default="scope">
                     {{ scope.$index + 1 }}
                   </template>
                 </el-table-column>
-                <el-table-column prop="taskName" label="浜嬮」鍚嶇О" width="200" align="center" />
-                <el-table-column prop="startTime" label="涓婄骇瀹℃牳" width="100" align="center" />
-                <el-table-column prop="startTime" label="鎵瑰鍐呭" width="160" align="center" />
-                <el-table-column prop="endTime" label="鎵瑰鍥炲" width="160" align="center" />
-                <el-table-column prop="startTime" label="涓荤閮ㄩ棬瀹℃牳" width="100" align="center" />
-                <el-table-column prop="startTime" label="鎵瑰鍐呭" width="160" align="center" />
-                <el-table-column prop="endTime" label="鎵瑰鍥炲" width="160" align="center" />
-                <el-table-column fixed="right" label="鏃堕棿" align="center" />
+                <el-table-column prop="title" label="浜嬮」鍚嶇О" width="200" align="center" />
+                <el-table-column prop="departmentExamine" label="涓婄骇瀹℃牳" width="100" align="center" >
+                  <template #default="scope">
+                    {{ scope.row.departmentExamine === 0 ? '鍚屾剰' : scope.row.departmentExamine === 1 ? '椹冲洖' : '鏈鏍�' }}
+                  </template>
+                </el-table-column>
+                <el-table-column prop="departmentApproval" label="鎵瑰鍐呭" width="160" align="center" />
+                <el-table-column prop="departmentApprovalReply" label="鎵瑰鍥炲" width="160" align="center" />
+                <el-table-column prop="manageExamine" label="涓荤閮ㄩ棬瀹℃牳" width="100" align="center" >
+                  <template #default="scope">
+                    {{ scope.row.manageExamine === 0 ? '鍚屾剰' : scope.row.manageExamine === 1 ? '椹冲洖' : '鏈鏍�' }}
+                  </template>
+                </el-table-column>
+                <el-table-column prop="manageApproval" label="鎵瑰鍐呭" width="160" align="center" />
+                <el-table-column prop="manageApprovalReply" label="鎵瑰鍥炲" width="160" align="center" />
+                <el-table-column prop="gmtCreate" label="鏃堕棿" align="center" />
               </el-table>
             </el-col>
           </el-row>
@@ -117,7 +133,7 @@
 </template>
 
 <script>
-import { getPlanInfoData, addPlanInfo, savePlanInfo } from "@/api/projectPlan/index";
+import { getPlanInfoData, delayPlanInfo, getDepartmentApproval, getPlanLog, replyDepartmentApproval } from "@/api/projectPlan/index";
 
 export default {
   name: "planInfoCheck",
@@ -127,6 +143,7 @@
       // 鎺ユ敹浼犻�掕繃鏉ョ殑椤圭洰璁″垝鏁版嵁
       planRecordData: {},
       planInfoData: {},
+      // 璁″垝椤规暟鎹�
       tableData: [
         {
           title: '',
@@ -134,6 +151,10 @@
           endTime: ''
         },
       ],
+      // 涓婄骇鎵瑰鏁版嵁
+      departmentApprovalData: [],
+      // 璁″垝鏃ュ織鏁版嵁
+      planLogData: [],
       // 鎶曡祫閲戦
       actualInvest: '',
       // 鏂板鍙傛暟
@@ -150,7 +171,7 @@
     search() {
       this.getPlanInfoData(this.planRecordData.id); // 鑾峰彇椤圭洰璁″垝椤�
       this.getDepartmentApproval(this.planRecordData.id); // 鑾峰彇涓婄骇鎵瑰
-      //this.getPlanLog(); // 鑾峰彇璁″垝鏃ュ織
+      this.getPlanLog(this.planRecordData.id); // 鑾峰彇璁″垝鏃ュ織
     },
     // 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏
     getPlanRecordData() {
@@ -172,14 +193,33 @@
         }
       });
     },
-    // 鑾峰彇涓婄骇鎵瑰
-    getDepartmentApproval(projectPlanRecordId) {
-      getExamineRecord(projectPlanRecordId).then(response => {
-        console.log(response.data)
+    // 寤舵湡
+    handleDelay(index) {
+      delayPlanInfo(this.tableData[index]).then(response => {
+        this.$message.success('寤舵湡鎴愬姛');
+        this.search()
       });
     },
-    // 鑾峰彇璁″垝鏃ュ織
+    // 鑾峰彇涓婄骇鎵瑰
+    getDepartmentApproval(projectPlanRecordId) {
+      getDepartmentApproval(projectPlanRecordId).then(response => {
+        this.departmentApprovalData = response.data;
+      });
+    },
+    // 鍥炲
+    handleReply(index) {
+      replyDepartmentApproval(this.departmentApprovalData[index]).then(response => {
+        this.$message.success('鍥炲鎴愬姛');
+        this.search()
+      });
+    },
 
+    // 鑾峰彇璁″垝鏃ュ織
+    getPlanLog(projectPlanRecordId) {
+      getPlanLog(projectPlanRecordId).then(response => {
+        this.planLogData = response.data;
+      });
+    },
     // 閲嶇疆褰撳墠琛屾暟鎹�
     handleReset(index) {
       this.tableData[index].title = '';
@@ -189,7 +229,7 @@
     /** 杩斿洖椤圭洰璁″垝璁板綍椤甸潰 */
     handlePlanRecord(planInfoData) {
       this.$router.push({
-        path: '/projectPlan/planRecord',
+        name: '/projectManage/planRecord',
         query: {
           data: JSON.stringify(planInfoData)
         }
diff --git a/src/views/projectPlan/planRecord.vue b/src/views/projectManage/plan/planRecord.vue
similarity index 98%
rename from src/views/projectPlan/planRecord.vue
rename to src/views/projectManage/plan/planRecord.vue
index 9ec2764..cdbe15a 100644
--- a/src/views/projectPlan/planRecord.vue
+++ b/src/views/projectManage/plan/planRecord.vue
@@ -191,7 +191,7 @@
     /** 淇敼椤圭洰璁″垝椤� */
     handlePlanInfo(row) {
       this.$router.push({
-        path: '/projectPlan/planInfo',
+        name: 'PlanInfo',
         query: {
           data: JSON.stringify(row),
           planInfoData: this.planInfoData
@@ -207,7 +207,7 @@
     // 鏌ョ湅椤圭洰璁″垝椤�
     handleCheckPlanInfo(row) {
       this.$router.push({
-        path: '/projectPlan/planInfoCheck',
+        path: '/projectManage/planInfoCheck',
         query: {
           data: JSON.stringify(row),
         }

--
Gitblit v1.8.0