From eb7828a7adabe105449b6ef0d0188065b6218151 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期二, 26 十一月 2024 20:54:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/projectEngineering/projectLibrary/index.vue |   12 
 src/views/projectPlan/planInfoCheck.vue               |  212 +++++++++++++++++++++++
 src/views/projectProcess/components/RunProcess.vue    |  119 +++++++++++++
 src/views/projectPlan/planInfo.vue                    |    2 
 src/views/projectPlan/planRecord.vue                  |   47 +++-
 src/api/projectPlan/index.js                          |    4 
 src/api/projectProcess/projectProcess.js              |   10 +
 src/views/projectProcess/index.vue                    |   88 ++++++---
 src/router/index.js                                   |   11 +
 9 files changed, 447 insertions(+), 58 deletions(-)

diff --git a/src/api/projectPlan/index.js b/src/api/projectPlan/index.js
index 05105a6..7ff6872 100644
--- a/src/api/projectPlan/index.js
+++ b/src/api/projectPlan/index.js
@@ -44,9 +44,9 @@
 }
 
 // 鍒犻櫎椤圭洰璁″垝璁板綍
-export function delRecord(id) {
+export function deletePlanRecord(id) {
   return request({
-    url: '/plan/record/' + id,
+    url: '/api/project-plan-record/' + id,
     method: 'delete'
   })
 }
diff --git a/src/api/projectProcess/projectProcess.js b/src/api/projectProcess/projectProcess.js
new file mode 100644
index 0000000..e8c7416
--- /dev/null
+++ b/src/api/projectProcess/projectProcess.js
@@ -0,0 +1,10 @@
+import request from '@/utils/request'
+
+// 鑾峰彇椤圭洰娴佺▼鍏崇郴琛ㄥ垎椤�
+export const getProjectProcesss = (data) => {
+    return request({
+        url: "/project-process/page",
+        method: "POST",
+        data: data
+    })
+}
diff --git a/src/router/index.js b/src/router/index.js
index 8335f76..789c581 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -196,12 +196,19 @@
         name: 'PlanRecord',
         meta: { title: '椤圭洰璁″垝璁板綍' }
       },
-      /** 椤圭洰璁″垝椤� */
+      /** 缂栬緫椤圭洰璁″垝椤� */
       {
         path: '/projectPlan/planInfo',
         component: () => import('@/views/projectPlan/planInfo'),
         name: 'PlanInfo',
-        meta: { title: '椤圭洰璁″垝椤�' }
+        meta: { title: '缂栬緫椤圭洰璁″垝椤�' }
+      },
+      /** 鏌ョ湅椤圭洰璁″垝椤� */
+      {
+        path: '/projectPlan/planInfoCheck',
+        component: () => import('@/views/projectPlan/planInfoCheck'),
+        name: 'PlanInfoCheck',
+        meta: { title: '鏌ョ湅椤圭洰璁″垝椤�' }
       }
     ]
   },
diff --git a/src/views/projectEngineering/projectLibrary/index.vue b/src/views/projectEngineering/projectLibrary/index.vue
index c84ac84..730e22c 100644
--- a/src/views/projectEngineering/projectLibrary/index.vue
+++ b/src/views/projectEngineering/projectLibrary/index.vue
@@ -203,23 +203,19 @@
           <template v-if="item.slotName">
             <!-- projectStatus鎻掓Ы -->
             <template v-if="item.slotName === 'projectStatus'">
-              <div class="mx-1">{{ '鑷畾涔夋牱寮�' }}</div>
+              <dict-tag :options="dict.type.sys_project_status" :value="scope.row.projectStatus"/>
             </template>
             <!-- projectColorCode鎻掓Ы -->
             <template v-if="item.slotName === 'projectColorCode'">
-              <div class="mx-1 has-dot">{{ '鑷畾涔夋牱寮�' }}<span class="dot" style="margin-left: 5px"></span></div>
+              <dict-tag :options="dict.type.sys_project_code" :value="scope.row.projectColorCode"/>
             </template>
             <!-- projectType鎻掓Ы -->
             <template v-if="item.slotName === 'projectType'">
-              <div class="mx-1">{{ '鑷畾涔夋牱寮�' }}</div>
+              <dict-tag :options="dict.type.sys_project_type" :value="scope.row.projectType"/>
             </template>
             <!-- investType鎻掓Ы -->
             <template v-if="item.slotName === 'investType'">
-              <div class="mx-1">{{ '鑷畾涔夋牱寮�' }}</div>
-            </template>
-            <!-- planStartTime鎻掓Ы -->
-            <template v-if="item.slotName === 'planStartTime'">
-              {{ '鑷畾涔夋牱寮�' }}
+              <dict-tag :options="dict.type.sys_investment_type" :value="scope.row.investType"/>
             </template>
           </template>
           <!-- 榛樿鏄剧ず -->
diff --git a/src/views/projectPlan/planInfo.vue b/src/views/projectPlan/planInfo.vue
index f99ec7c..7e0b7cc 100644
--- a/src/views/projectPlan/planInfo.vue
+++ b/src/views/projectPlan/planInfo.vue
@@ -132,7 +132,7 @@
     // 涓婃姤鏁版嵁
     handleSubmit() {
       // 閬嶅巻tableData锛岃幏寰楀�间笉涓虹┖瀛楃涓茬殑琛�
-      const validList = this.tableData.filter(item => item.title !== '' && item.startTime !== '' && item.endTime !== '');
+      const validList = this.tableData.filter(item => item.title !== '' || item.startTime !== '' || item.endTime !== '');
       this.addData = {
         projectPlanRecordId: this.planRecordData.id,
         actualInvest: this.actualInvest,
diff --git a/src/views/projectPlan/planInfoCheck.vue b/src/views/projectPlan/planInfoCheck.vue
new file mode 100644
index 0000000..a3476cf
--- /dev/null
+++ b/src/views/projectPlan/planInfoCheck.vue
@@ -0,0 +1,212 @@
+<template>
+  <div class="app-container">
+    <el-container>
+      <el-header v-show="planRecordData && planRecordData.projectName" class="header-title">椤圭洰鍚嶇О锛歿{ planRecordData.projectName }} {{ planRecordData.planTimeFlag === 0 ? '(鏈堝害璁″垝)' : planRecordData.planTimeFlag === 1 ? '(瀛e害璁″垝)' : '(骞村害璁″垝)' }}</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-col :span="24" class="mb-4">
+              <!--椤圭洰璁″垝椤�-->
+              <el-table :data="tableData" 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="500" align="center">
+                  <template #default="scope">
+                    <el-input type="textarea" v-model="scope.row.title" placeholder="璇疯緭鍏�" rows="3" />
+                  </template>
+                </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/>
+                  </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/>
+                  </template>
+                </el-table-column>
+                <el-table-column :label="planRecordData.planTimeFlag === 0 ? '鏈堝害' : planRecordData.planTimeFlag === 1 ? '瀛e害' : '骞村害' " width="100" align="center">
+                  <template #default="scope">
+                    <span>{{ planRecordData.planTime }}{{ planRecordData.planTimeFlag === 0 ? '鏈堝害' : planRecordData.planTimeFlag === 1 ? '瀛e害' : '骞村害' }}</span>
+                  </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" type="danger" @click="handleReset(scope.$index)">閲嶇疆</el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+              <div style="display: flex; align-items: center;">
+                <h1 style="margin: 0;">
+                  鎴鏈鍒掕繘搴﹀畬鎴愭姇璧勶紙涓囧厓锛夛細
+                </h1>
+                <el-input
+                  placeholder="璇疯緭鍏ユ姇璧勯噾棰�"
+                  style="flex: 1"
+                  v-model="actualInvest"
+                  clearable
+                  :type="number"
+                  @input="handleInput">
+                </el-input>
+              </div>
+
+              <!--涓婄骇鎵瑰-->
+              <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-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">
+                  <template #default="scope">
+                    <el-input type="textarea" v-model="scope.row.title" placeholder="璇疯緭鍏�" rows="3" />
+                  </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">
+                  <template #default="scope">
+                    <el-input type="textarea" v-model="scope.row.title" 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" type="danger" @click="handleReset(scope.$index)">閲嶇疆</el-button>
+                  </template>
+                </el-table-column>
+              </el-table>
+
+
+              <!--璁″垝鏃ュ織-->
+              <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-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>
+            </el-col>
+          </el-row>
+        </el-card>
+      </el-main>
+    </el-container>
+  </div>
+</template>
+
+<script>
+import { getPlanInfoData, addPlanInfo, savePlanInfo } from "@/api/projectPlan/index";
+
+export default {
+  name: "planInfoCheck",
+  data() {
+    return {
+      loading: true,
+      // 鎺ユ敹浼犻�掕繃鏉ョ殑椤圭洰璁″垝鏁版嵁
+      planRecordData: {},
+      planInfoData: {},
+      tableData: [
+        {
+          title: '',
+          startTime: '',
+          endTime: ''
+        },
+      ],
+      // 鎶曡祫閲戦
+      actualInvest: '',
+      // 鏂板鍙傛暟
+      addData: {
+        projectPlanRecordId: '',
+        actualInvest: '',
+        addList: []
+      }
+    }
+  },
+
+  methods: {
+    // 椤甸潰鍔犺浇
+    search() {
+      this.getPlanInfoData(this.planRecordData.id); // 鑾峰彇椤圭洰璁″垝椤�
+      this.getDepartmentApproval(this.planRecordData.id); // 鑾峰彇涓婄骇鎵瑰
+      //this.getPlanLog(); // 鑾峰彇璁″垝鏃ュ織
+    },
+    // 鑾峰彇浼犻�掕繃鏉ョ殑椤圭洰璁″垝璇︽儏
+    getPlanRecordData() {
+      // 浠庢煡璇㈠弬鏁颁腑鑾峰彇鏁版嵁
+      if (this.$route.query.data) {
+        this.planRecordData = JSON.parse(this.$route.query.data)
+      }
+      this.planInfoData = this.$route.query.planInfoData
+      this.search();
+    },
+    // 鑾峰彇椤圭洰璁″垝椤�
+    getPlanInfoData(id) {
+      getPlanInfoData(id).then(response => {
+        this.actualInvest = response.data.actualInvest;
+        if (response.data.list.length === 0) {
+          this.tableData = [{title: '', startTime: '', endTime: ''}];
+        } else {
+          this.tableData = response.data.list;
+        }
+      });
+    },
+    // 鑾峰彇涓婄骇鎵瑰
+    getDepartmentApproval(projectPlanRecordId) {
+      getExamineRecord(projectPlanRecordId).then(response => {
+        console.log(response.data)
+      });
+    },
+    // 鑾峰彇璁″垝鏃ュ織
+
+    // 閲嶇疆褰撳墠琛屾暟鎹�
+    handleReset(index) {
+      this.tableData[index].title = '';
+      this.tableData[index].startTime = '';
+      this.tableData[index].endTime = '';
+    },
+    /** 杩斿洖椤圭洰璁″垝璁板綍椤甸潰 */
+    handlePlanRecord(planInfoData) {
+      this.$router.push({
+        path: '/projectPlan/planRecord',
+        query: {
+          data: JSON.stringify(planInfoData)
+        }
+      })
+    },
+  },
+  created() {
+    this.getPlanRecordData();
+  },
+};
+</script>
+
+<style scoped>
+.header-title {
+  font-size: 24px; /* 鏍规嵁闇�瑕佽皟鏁村瓧浣撳ぇ灏� */
+  text-align: center; /* 灞呬腑瀵归綈 */
+  line-height: 64px; /* 濡傛灉闇�瑕佷笌 header 楂樺害瀵归綈 */
+}
+</style>
+
diff --git a/src/views/projectPlan/planRecord.vue b/src/views/projectPlan/planRecord.vue
index a3ddfbe..9ec2764 100644
--- a/src/views/projectPlan/planRecord.vue
+++ b/src/views/projectPlan/planRecord.vue
@@ -7,8 +7,10 @@
         <el-card shadow="hover">
           <el-row :gutter="20">
             <el-col :span="24" class="mb-4">
-              <span>鏈堝害璁″垝</span>
-              <el-button type="primary" size="small" style="float: right" @click="handleAddMonthPlan">鏂板</el-button>
+              <div style="margin-bottom: 10px">
+                <span style="font-size: 20px; font-weight: bold;">鏈堝害璁″垝</span>
+                <el-button type="primary" size="small" style="float: right" @click="handleAddMonthPlan">鏂板</el-button>
+              </div>
               <el-table :data="monthRecords" style="width: 100%">
                 <!-- 琛ㄥご -->
                 <el-table-column prop="id" label="搴忓彿" align="center"></el-table-column>
@@ -25,14 +27,17 @@
                 <el-table-column fixed="right" label="鎿嶄綔" align="center">
                   <template slot-scope="scope">
                     <el-button type="primary" size="small" :disabled="scope.row.reportStatus === 0" @click="handlePlanInfo(scope.row)">缂栬緫涓婃姤</el-button>
-                    <el-button type="danger" size="small">鍒犻櫎</el-button>
+                    <el-button type="danger" size="small" v-show="scope.row.reportStatus === 1" @click="handleDeletePlanRecord(scope.row.id)">鍒犻櫎</el-button>
+                    <el-button type="danger" size="small" v-show="scope.row.reportStatus === 0" @click="handleCheckPlanInfo(scope.row)">鏌ョ湅</el-button>
                   </template>
                 </el-table-column>
               </el-table>
             </el-col>
             <el-col :span="24" class="mb-4" style="margin-top: 20px">
-              <span>瀛e害璁″垝</span>
-              <el-button type="primary" size="small" style="float: right" @click="handleAddSeasonPlan">鏂板</el-button>
+              <div style="margin-bottom: 10px">
+                <span style="font-size: 20px; font-weight: bold;">瀛e害璁″垝</span>
+                <el-button type="primary" size="small" style="float: right" @click="handleAddSeasonPlan">鏂板</el-button>
+              </div>
               <el-table  :data="seasonRecords" style="width: 100%">
                 <!-- 琛ㄥご -->
                 <el-table-column prop="id" label="搴忓彿" align="center"></el-table-column>
@@ -49,14 +54,17 @@
                 <el-table-column fixed="right" label="鎿嶄綔" align="center">
                   <template slot-scope="scope">
                     <el-button type="primary" size="small" :disabled="scope.row.reportStatus === 0" @click="handlePlanInfo(scope.row)">缂栬緫涓婃姤</el-button>
-                    <el-button type="danger" size="small">鍒犻櫎</el-button>
+                    <el-button type="danger" size="small" v-show="scope.row.reportStatus === 1" @click="handleDeletePlanRecord(scope.row.id)">鍒犻櫎</el-button>
+                    <el-button type="danger" size="small" v-show="scope.row.reportStatus === 0" @click="handleCheckPlanInfo(scope.row)">鏌ョ湅</el-button>
                   </template>
                 </el-table-column>
               </el-table>
             </el-col>
             <el-col :span="24" class="mb-4" style="margin-top: 20px">
-              <span>骞村害璁″垝</span>
-              <el-button type="primary" size="small" style="float: right" @click="handleAddYearPlan">鏂板</el-button>
+              <div style="margin-bottom: 10px">
+                <span style="font-size: 20px; font-weight: bold;">骞村害璁″垝</span>
+                <el-button type="primary" size="small" style="float: right" @click="handleAddYearPlan">鏂板</el-button>
+              </div>
               <el-table  :data="yearRecords" style="width: 100%">
                 <!-- 琛ㄥご -->
                 <el-table-column prop="id" label="搴忓彿" align="center"></el-table-column>
@@ -73,7 +81,8 @@
                 <el-table-column fixed="right" label="鎿嶄綔" align="center">
                   <template slot-scope="scope">
                     <el-button type="primary" size="small" :disabled="scope.row.reportStatus === 0" @click="handlePlanInfo(scope.row)">缂栬緫涓婃姤</el-button>
-                    <el-button type="danger" size="small">鍒犻櫎</el-button>
+                    <el-button type="danger" size="small" v-show="scope.row.reportStatus === 1" @click="handleDeletePlanRecord(scope.row.id)">鍒犻櫎</el-button>
+                    <el-button type="danger" size="small" v-show="scope.row.reportStatus === 0" @click="handleCheckPlanInfo(scope.row)">鏌ョ湅</el-button>
                   </template>
                 </el-table-column>
               </el-table>
@@ -86,7 +95,7 @@
 </template>
 
 <script>
-import {addRecord, getPlanRecordList} from "@/api/projectPlan/index";
+import {addRecord, getPlanRecordList, deletePlanRecord} from "@/api/projectPlan/index";
 
 export default {
   name: "planRecord",
@@ -179,7 +188,7 @@
         this.search();
       });
     },
-    /** 鏌ョ湅椤圭洰璁″垝椤� */
+    /** 淇敼椤圭洰璁″垝椤� */
     handlePlanInfo(row) {
       this.$router.push({
         path: '/projectPlan/planInfo',
@@ -188,8 +197,22 @@
           planInfoData: this.planInfoData
         }
       })
+    },
+    // 鍒犻櫎椤圭洰璁″垝璁板綍
+    handleDeletePlanRecord(id) {
+      deletePlanRecord(id).then(res => {
+        this.search();
+      });
+    },
+    // 鏌ョ湅椤圭洰璁″垝椤�
+    handleCheckPlanInfo(row) {
+      this.$router.push({
+        path: '/projectPlan/planInfoCheck',
+        query: {
+          data: JSON.stringify(row),
+        }
+      })
     }
-
   },
   created() {
     this.getPlanInfoData();
diff --git a/src/views/projectProcess/components/RunProcess.vue b/src/views/projectProcess/components/RunProcess.vue
new file mode 100644
index 0000000..6bfaa28
--- /dev/null
+++ b/src/views/projectProcess/components/RunProcess.vue
@@ -0,0 +1,119 @@
+<template>
+  <div>
+    <el-dialog
+      title="娴佺▼鍚姩"
+      :visible.sync="show"
+      width="750px"
+      :before-close="handleClose">
+      <div>
+        <div style="display: flex; flex-direction: row; justify-content: center; align-items: center;font-size: 24px">
+          <div>褰撳墠娴佺▼锛�</div>
+          <div v-if="nowProcessId">{{nowProcessName}}</div>
+          <div v-else>鏈粦瀹氭祦绋�</div>
+        </div>
+      </div>
+      <div style="margin-top: 20px">
+        <el-table
+          ref="myTable"
+          :data="processList"
+          tooltip-effect="dark"
+          style="width: 100%"
+          @selection-change="handleSelectionChange">
+          <el-table-column
+            type="selection"
+            width="55">
+          </el-table-column>
+          <el-table-column
+            prop="name"
+            label="娴佺▼鍚嶇О"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="category"
+            label="娴佺▼绫诲瀷"
+          >
+          </el-table-column>
+        </el-table>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="startProcess">鍚姩</el-button>
+        <el-button type="primary" @click="changeProcess">鍙樻洿</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "RunProcess",
+  props: {
+    show: {
+      require: true,
+      type: Boolean
+    },
+    projectId: {
+      require: true,  // 椤圭洰id
+      type: Number
+    },
+    processList: {  // 娴佺▼鍒楄〃
+      require: true,
+      type: Array
+    },
+    nowProcessId: {  // 褰撳墠椤圭洰缁戝畾鐨勬祦绋媔d
+      require: true,
+      type: String
+    },
+    nowProcessName: {
+      require: true,
+      type: String
+    }
+  },
+  watch: {
+    // 鐩戝惉鍥炴樉鍊�
+    nowProcessId(newVal, oldVal) {
+      this.processList.forEach((item,index) => {
+        if(item.id == newVal){
+          this.$nextTick(() => {
+            this.$refs.myTable.toggleRowSelection(item);
+          })
+        }
+      })
+    }
+  },
+  data() {
+    return {
+      selectProcessId: '',  // 缁勪欢鍐呴儴閫変腑鐨勬祦绋媔d
+    }
+  },
+  methods: {
+    // 瀹炵幇el-table鍗曢��
+    handleSelectionChange(val) {
+      console.log(val, "閫変腑")
+      if (val.length > 1) {
+        this.$refs.myTable.clearSelection();
+        this.$refs.myTable.toggleRowSelection(val.pop());
+      }
+      if(val.length != 0){
+        this.selectProcessId = val[val.length - 1].id;
+      }
+    },
+    // 鍚姩娴佺▼
+    startProcess() {
+
+    },
+    // 鍙樻洿娴佺▼
+    changeProcess() {
+
+    },
+    handleClose() {
+      this.$emit("close")
+    }
+  }
+}
+</script>
+
+<style scoped>
+/deep/ .el-table__header-wrapper .el-checkbox{
+  display:none
+}
+</style>
diff --git a/src/views/projectProcess/index.vue b/src/views/projectProcess/index.vue
index cef7b7d..cdb3acc 100644
--- a/src/views/projectProcess/index.vue
+++ b/src/views/projectProcess/index.vue
@@ -203,23 +203,19 @@
           <template v-if="item.slotName">
             <!-- projectStatus鎻掓Ы -->
             <template v-if="item.slotName === 'projectStatus'">
-              <div class="mx-1">{{ '鑷畾涔夋牱寮�' }}</div>
+              <dict-tag :options="dict.type.sys_project_status" :value="scope.row.projectStatus"/>
             </template>
             <!-- projectColorCode鎻掓Ы -->
             <template v-if="item.slotName === 'projectColorCode'">
-              <div class="mx-1 has-dot">{{ '鑷畾涔夋牱寮�' }}<span class="dot" style="margin-left: 5px"></span></div>
+              <dict-tag :options="dict.type.sys_project_code" :value="scope.row.projectColorCode"/>
             </template>
             <!-- projectType鎻掓Ы -->
             <template v-if="item.slotName === 'projectType'">
-              <div class="mx-1">{{ '鑷畾涔夋牱寮�' }}</div>
+              <dict-tag :options="dict.type.sys_project_type" :value="scope.row.projectType"/>
             </template>
             <!-- investType鎻掓Ы -->
             <template v-if="item.slotName === 'investType'">
-              <div class="mx-1">{{ '鑷畾涔夋牱寮�' }}</div>
-            </template>
-            <!-- planStartTime鎻掓Ы -->
-            <template v-if="item.slotName === 'planStartTime'">
-              {{ '鑷畾涔夋牱寮�' }}
+              <dict-tag :options="dict.type.sys_investment_type" :value="scope.row.investType"/>
             </template>
           </template>
           <!-- 榛樿鏄剧ず -->
@@ -230,29 +226,31 @@
       <!-- 鎿嶄綔鍒� -->
       <el-table-column label="鎿嶄綔" width="140" align="center" >
         <template slot-scope="scope">
-          <el-button
-            size="medium"
-            type="text"
-            icon="el-icon-view"
-            @click="handleDetail(scope.row)"
-          >
-          </el-button>
-          <el-button
-            v-if="isReserve"
-            size="medium"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-          >
-          </el-button>
-          <el-button
-            v-if="isReserve"
-            size="medium"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-          >
-          </el-button>
+          <!--          <el-button-->
+          <!--            size="medium"-->
+          <!--            type="text"-->
+          <!--            icon="el-icon-view"-->
+          <!--            @click="lookProcessDetail(scope.row)"-->
+          <!--          >-->
+          <!--          </el-button>-->
+          <!--          <el-button-->
+          <!--            v-if="isReserve"-->
+          <!--            size="medium"-->
+          <!--            type="text"-->
+          <!--            icon="el-icon-edit"-->
+          <!--            @click="handleUpdate(scope.row)"-->
+          <!--          >-->
+          <!--          </el-button>-->
+          <el-tooltip content="娴佺▼" placement="top" effect="light" :enterable="false">
+            <el-button
+              v-if="isReserve"
+              size="medium"
+              type="text"
+              icon="el-icon-s-operation"
+              @click="openOpProcess(scope.row)"
+            >
+            </el-button>
+          </el-tooltip>
         </template>
       </el-table-column>
     </el-table>
@@ -271,13 +269,18 @@
       @fileDialogCancel="fileDialogCancel"
       :currentColumns="columns"
     />
+
+    <RunProcess :show="showRunProcess" :now-process-id="nowProcessId" :now-process-name="nowProcessName" :process-list="processList" @close="closeRunProcess"></RunProcess>
   </div>
 </template>
 
 <script>
+import { listDefinition } from "@/api/flowable/definition";
 import {listInfo, getInfo, delInfo, addInfo, updateInfo} from "@/api/projectInfo";
+import { getProjectProcesss } from "@/api/projectProcess/projectProcess"
 import {current, currentRest} from '@/views/projectEngineering/projectLibrary/list';
 import FileDialog from '@/views/projectEngineering/projectLibrary/component/FileDialog';
+import RunProcess from "@/views/projectProcess/components/RunProcess";
 
 export default {
   dicts: ['sys_administrative_divisions', 'sys_investment_type', 'sys_project_phases',
@@ -285,10 +288,15 @@
     'sys_project_tags', 'sys_key_categories', 'sys_project_type'],
   name: "projectInfo",
   components: {
-    FileDialog
+    FileDialog, RunProcess
   },
   data() {
     return {
+      processList: [],
+      showRunProcess: false,
+      projectId: null,
+      nowProcessId: '',
+      nowProcessName: '',
       isImportOrExport: false,
       fileDialogVisible: false,
       //鏄惁闇�瑕佹柊澧炴寜閽�(鍌ㄨ搫椤圭洰闇�瑕�)
@@ -371,6 +379,20 @@
     this.getList();
   },
   methods: {
+    closeRunProcess() {
+      this.showRunProcess = false
+    },
+    // 鎵撳紑娴佺▼椤甸潰
+    openOpProcess(row) {
+      this.projectId = row.id;
+      this.nowProcessId = row.flowableProcessId;
+      this.nowProcessName = row.flowableProcessName;
+      // 鎷垮埌娴佺▼鍒楄〃
+      listDefinition(this.queryParams).then(response => {
+        this.processList = response.data.records;
+        this.showRunProcess = true;
+      });
+    },
     // 閲嶇疆鎺掑簭鐨勬柟娉�
     handleResetSort() {
       this.defaultColumns = currentRest.map((item, index) => {
@@ -426,7 +448,7 @@
     /** 鏌ヨ椤圭洰绠$悊鍩虹淇℃伅鍒楄〃 */
     getList() {
       this.loading = true;
-      listInfo(this.queryParams).then(response => {
+      getProjectProcesss(this.queryParams).then(response => {
         this.projectInfoList = response.data;
         this.total = response.total;
       });

--
Gitblit v1.8.0