From 5c929cfb5286a31a4e067cbc61e8774f4e7d42ae Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 06 五月 2025 11:25:41 +0800
Subject: [PATCH] 任务查看:任务名称undefined解决

---
 src/views/projectProcess/index.vue |  357 +++++++++++++++++++++++++++++++----------------------------
 1 files changed, 187 insertions(+), 170 deletions(-)

diff --git a/src/views/projectProcess/index.vue b/src/views/projectProcess/index.vue
index ce1a2f3..09617b5 100644
--- a/src/views/projectProcess/index.vue
+++ b/src/views/projectProcess/index.vue
@@ -44,111 +44,104 @@
             <el-button icon="el-icon-search" size="small" @click="handleQuery">鏌ヨ</el-button>
             <el-button icon="el-icon-refresh" size="small" @click="resetQuery">閲嶇疆</el-button>
           </el-form-item>
-          <el-popover :value="popoverValue" trigger="click" :width="500" placement="bottom">
-            <span>绛涢�夋潯浠�</span>
-            <el-form ref="moreQueryParamsRef" label-width="68px" label-position="right" :model="queryParams">
-              <el-row>
-                <el-col :span="12">
-                  <el-form-item label="椤圭洰绫诲瀷">
-                    <el-select v-model="queryParams.projectType" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery"
-                               size="small">
-                      <el-option v-for="item in dict.type.sys_project_type" :key="item.value" :label="item.label"
-                                 :value="item.value"/>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="12">
-                  <el-form-item label="閲嶇偣鍒嗙被">
-                    <el-select v-model="queryParams.importanceType" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
-                      <el-option v-for="item in dict.type.sys_key_categories" :key="item.value" :label="item.label"
-                                 :value="item.value"/>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="12">
-                  <el-form-item label="椤圭洰鏍囩">
-                    <el-select v-model="queryParams.tag" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
-                      <el-option v-for="item in dict.type.sys_project_tags" :key="item.value" :label="item.label"
-                                 :value="item.value"/>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="12">
-                  <el-form-item label="椤圭洰鐘舵��">
-                    <el-select v-model="queryParams.projectStatus" :disabled="isProjectCategory" clearable @change="handleQuery"
-                               placeholder="璇烽�夋嫨" class="select-option">
-                      <el-option v-for="item in dict.type.sys_project_status" :key="item.value" :label="item.label"
-                                 :value="item.value"/>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="12">
-                  <el-form-item label="椤圭洰鐮�">
-                    <el-select v-model="queryParams.projectColorCode" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
-                      <el-option v-for="item in dict.type.sys_project_code" :key="item.value" :label="item.label"
-                                 :value="item.value"/>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="12">
-                  <el-form-item label="鍏宠仈鐘舵��">
-                    <el-select v-model="queryParams.assignmentStatus" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
-                      <el-option v-for="item in dict.type.sys_association_status" :key="item.value" :label="item.label"
-                                 :value="item.value"/>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="12">
-                  <el-form-item label="璧勯噾绫诲瀷">
-                    <el-select v-model="queryParams.investmentType" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
-                      <el-option v-for="item in dict.type.sys_funding_type" :key="item.value" :label="item.label"
-                                 :value="item.value"/>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="12">
-                  <el-form-item label="椤圭洰闃舵">
-                    <el-select v-model="queryParams.projectPhase" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
-                      <el-option v-for="item in dict.type.sys_project_phases" :key="item.value" :label="item.label"
-                                 :value="item.value"/>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-              <el-row>
-                <el-col :span="12">
-                  <el-form-item label="鎶曡祫绫诲埆">
-                    <el-select v-model="queryParams.investType" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
-                      <el-option v-for="item in dict.type.sys_investment_type" :key="item.value" :label="item.label"
-                                 :value="item.value"/>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="12">
-                  <el-form-item label="琛屾斂鍖哄垝">
-                    <el-select v-model="queryParams.area" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery">
-                      <el-option v-for="item in dict.type.sys_administrative_divisions" :key="item.value" :label="item.label"
-                                 :value="item.value"/>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </el-form>
-            <el-button style="margin-right: 16px; margin-top: 1px; color: #3369ff"  slot="reference"
-                       size="small">
-              鏇村绛涙煡鏉′欢
-              <span style="margin-left: 5px">
-                  <el-icon v-if="!popoverValue" class="el-icon-arrow-down"></el-icon>
-                  <el-icon v-else-if="popoverValue" class="el-icon-arrow-up"></el-icon>
-                </span>
-            </el-button>
-          </el-popover>
+<!--          <el-popover :value="popoverValue" trigger="click" :width="500" placement="bottom">-->
+<!--            <span>绛涢�夋潯浠�</span>-->
+<!--            <el-form ref="moreQueryParamsRef" label-width="68px" label-position="right" :model="queryParams">-->
+<!--              <el-row>-->
+<!--                <el-col :span="12">-->
+<!--                  <el-form-item label="椤圭洰绫诲瀷">-->
+<!--                    <el-select v-model="queryParams.projectType" clearable placeholder="璇烽�夋嫨" class="select-option"-->
+<!--                               @change="handleQuery"-->
+<!--                               size="small">-->
+<!--                      <el-option v-for="item in dict.type.sys_project_type" :key="item.value" :label="item.label"-->
+<!--                                 :value="item.value"/>-->
+<!--                    </el-select>-->
+<!--                  </el-form-item>-->
+<!--                </el-col>-->
+<!--                <el-col :span="12">-->
+<!--                  <el-form-item label="閲嶇偣鍒嗙被">-->
+<!--                    <el-select v-model="queryParams.importanceType" clearable placeholder="璇烽�夋嫨" class="select-option"-->
+<!--                               @change="handleQuery">-->
+<!--                      <el-option v-for="item in dict.type.sys_key_categories" :key="item.value" :label="item.label"-->
+<!--                                 :value="item.value"/>-->
+<!--                    </el-select>-->
+<!--                  </el-form-item>-->
+<!--                </el-col>-->
+<!--              </el-row>-->
+<!--              <el-row>-->
+<!--                <el-col :span="12">-->
+<!--                  <el-form-item label="椤圭洰鐘舵��">-->
+<!--                    <el-select v-model="queryParams.projectStatus" :disabled="isProjectCategory" clearable-->
+<!--                               @change="handleQuery"-->
+<!--                               placeholder="璇烽�夋嫨" class="select-option">-->
+<!--                      <el-option v-for="item in dict.type.sys_project_status" :key="item.value" :label="item.label"-->
+<!--                                 :value="item.value"/>-->
+<!--                    </el-select>-->
+<!--                  </el-form-item>-->
+<!--                </el-col>-->
+<!--                <el-col :span="12">-->
+<!--                  <el-form-item label="椤圭洰鐮�">-->
+<!--                    <el-select v-model="queryParams.coding" clearable placeholder="璇烽�夋嫨" class="select-option"-->
+<!--                               @change="handleQuery">-->
+<!--                      <el-option v-for="item in dict.type.sys_project_code" :key="item.value" :label="item.label"-->
+<!--                                 :value="item.value"/>-->
+<!--                    </el-select>-->
+<!--                  </el-form-item>-->
+<!--                </el-col>-->
+<!--              </el-row>-->
+<!--              <el-row>-->
+<!--              </el-row>-->
+<!--              <el-row>-->
+<!--                <el-col :span="12">-->
+<!--                  <el-form-item label="璧勯噾绫诲瀷">-->
+<!--                    <el-select v-model="queryParams.fundType" clearable placeholder="璇烽�夋嫨" class="select-option"-->
+<!--                               @change="handleQuery">-->
+<!--                      <el-option v-for="item in dict.type.sys_funding_type" :key="item.value" :label="item.label"-->
+<!--                                 :value="item.value"/>-->
+<!--                    </el-select>-->
+<!--                  </el-form-item>-->
+<!--                </el-col>-->
+<!--                <el-col :span="12">-->
+<!--                  <el-form-item label="椤圭洰闃舵">-->
+<!--                    <el-select v-model="queryParams.projectPhase" clearable placeholder="璇烽�夋嫨" class="select-option"-->
+<!--                               @change="handleQuery">-->
+<!--                      <el-option v-for="item in dict.type.sys_project_phases" :key="item.value" :label="item.label"-->
+<!--                                 :value="item.value"/>-->
+<!--                    </el-select>-->
+<!--                  </el-form-item>-->
+<!--                </el-col>-->
+<!--              </el-row>-->
+<!--              <el-row>-->
+<!--                <el-col :span="12">-->
+<!--                  <el-form-item label="鎶曡祫绫诲埆">-->
+<!--                    <el-select v-model="queryParams.investType" clearable placeholder="璇烽�夋嫨" class="select-option"-->
+<!--                               @change="handleQuery">-->
+<!--                      <el-option v-for="item in dict.type.sys_investment_type" :key="item.value" :label="item.label"-->
+<!--                                 :value="item.value"/>-->
+<!--                    </el-select>-->
+<!--                  </el-form-item>-->
+<!--                </el-col>-->
+<!--                <el-col :span="12">-->
+<!--                  <el-form-item label="琛屾斂鍖哄垝">-->
+<!--                    <el-select v-model="queryParams.area" clearable placeholder="璇烽�夋嫨" class="select-option"-->
+<!--                               @change="handleQuery">-->
+<!--                      <el-option v-for="item in dict.type.sys_administrative_divisions" :key="item.value"-->
+<!--                                 :label="item.label"-->
+<!--                                 :value="item.value"/>-->
+<!--                    </el-select>-->
+<!--                  </el-form-item>-->
+<!--                </el-col>-->
+<!--              </el-row>-->
+<!--            </el-form>-->
+<!--            <el-button style="margin-right: 16px; margin-top: 1px; color: #3369ff"  slot="reference"-->
+<!--                       size="small">-->
+<!--              鏇村绛涙煡鏉′欢-->
+<!--              <span style="margin-left: 5px">-->
+<!--                  <el-icon v-if="!popoverValue" class="el-icon-arrow-down"></el-icon>-->
+<!--                  <el-icon v-else-if="popoverValue" class="el-icon-arrow-up"></el-icon>-->
+<!--                </span>-->
+<!--            </el-button>-->
+<!--          </el-popover>-->
         </div>
         <div class="right-section">
           <div>
@@ -179,60 +172,50 @@
     </el-form>
 
     <el-table
-      :key="tableKey"
       ref="elTable"
       style="margin-top: 20px"
       v-loading="loading"
       :data="projectInfoList"
-      @selection-change="handleSelectionChange"
-      height="60vh"
+      height="100%"
       sortable="custom"
+      row-key="id"
+      border
+      default-expand-all
+      :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
       :show-overflow-tooltip="true">
-      <el-table-column type="selection" width="55" align="center"/>
-      <!-- 鍔ㄦ�佸垪 -->
-      <el-table-column
-        v-for="item in columns"
-        :key="item.id"
-        v-if="item.visible"
-        :prop="item.id"
-        :label="item.label"
-        :min-width="item.minWidth"
-      >
+      <el-table-column label="椤圭洰鍚嶇О" min-width="250" :show-overflow-tooltip="true" prop="projectName" />
+      <el-table-column label="椤圭洰鎺ㄨ繘绫诲瀷" align="center" prop="projectType">
         <template slot-scope="scope">
-          <!-- 浣跨敤鍏峰悕鎻掓Ы -->
-          <template v-if="item.slotName">
-            <!-- projectStatus鎻掓Ы -->
-            <template v-if="item.slotName === 'projectStatus'">
-              <dict-tag :options="dict.type.sys_project_status" :value="scope.row.projectStatus"/>
-            </template>
-            <!-- projectColorCode鎻掓Ы -->
-            <template v-if="item.slotName === 'projectColorCode'">
-              <dict-tag :options="dict.type.sys_project_code" :value="scope.row.projectColorCode"/>
-            </template>
-            <!-- projectType鎻掓Ы -->
-            <template v-if="item.slotName === 'projectType'">
-              <dict-tag :options="dict.type.sys_project_type" :value="scope.row.projectType"/>
-            </template>
-            <!-- investType鎻掓Ы -->
-            <template v-if="item.slotName === 'investType'">
-              <dict-tag :options="dict.type.sys_investment_type" :value="scope.row.investType"/>
-            </template>
-          </template>
-          <!-- 榛樿鏄剧ず -->
-          <span v-else>{{ scope.row[item.id] }}</span>
+          <dict-tag :options="dict.type.sys_project_type" :value="scope.row.projectType"/>
         </template>
       </el-table-column>
-
+      <el-table-column label="涓荤閮ㄩ棬" align="center" prop="competentDepartmentName">
+      </el-table-column>
+      <el-table-column label="涓氫富鍗曚綅" align="center" prop="projectOwnerUnitName">
+      </el-table-column>
+      <el-table-column label="骞翠唤" align="center" prop="year">
+        <template slot-scope="scope">
+          {{ scope.row.year ? scope.row.year + '骞�' : '' }}
+        </template>
+      </el-table-column>
+      <el-table-column label="鎶曡祫棰�(涓�)" align="center" prop="investmentAmount" />
+      <el-table-column label="寮�宸ョ姸鎬�" align="center" prop="status">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.sys_project_status" :value="scope.row.status"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="寤鸿鍐呭" align="center" prop="buildContent"/>
       <!-- 鎿嶄綔鍒� -->
       <el-table-column label="鎿嶄綔" width="140" align="center" >
         <template slot-scope="scope">
-          <!--          <el-button-->
-          <!--            size="medium"-->
-          <!--            type="text"-->
-          <!--            icon="el-icon-view"-->
-          <!--            @click="lookProcessDetail(scope.row)"-->
-          <!--          >-->
-          <!--          </el-button>-->
+                    <el-button
+                      size="medium"
+                      type="text"
+                      icon="el-icon-view"
+                      v-if="scope.row.processInsId"
+                      @click="lookProcessDetail(scope.row)"
+                    >
+                    </el-button>
           <!--          <el-button-->
           <!--            v-if="isReserve"-->
           <!--            size="medium"-->
@@ -258,7 +241,7 @@
     <pagination
       v-show="total>0"
       :total="total"
-      :page.sync="queryParams.pageNum"
+      :page.sync="queryParams.currentPage"
       :limit.sync="queryParams.pageSize"
       @pagination="getList"
     />
@@ -270,11 +253,12 @@
       :currentColumns="columns"
     />
 
-    <RunProcess :show="showRunProcess"
-                :now-process-id="nowProcessId"
-                :now-process-name="nowProcessName"
+    <RunProcess ref="runProcess" :show="showRunProcess"
+                :now-process-def-id="nowProcessDefId"
+                :now-process-ins-id="nowProcessInsId"
                 :project-info="projectRunFrom"
                 :process-list="processList"
+                :project-type="projectType"
                 @close="closeRunProcess">
     </RunProcess>
   </div>
@@ -282,9 +266,9 @@
 
 <script>
 import { listDefinition } from "@/api/flowable/definition";
-import {listInfo, getInfo, delInfo, addInfo, updateInfo} from "@/api/projectInfo";
+import {listInfo, getInfo, delInfo, addInfo, updateInfo} from "@/api/projectEngineering/projectInfo";
 import { getProjectProcess } from "@/api/projectProcess/projectProcess"
-import {current, currentRest} from '@/views/projectEngineering/projectLibrary/list';
+import {projectProcessCurrent, projectProcessCurrentRest} from '@/views/projectEngineering/projectLibrary/list';
 import FileDialog from '@/views/projectEngineering/projectLibrary/component/FileDialog';
 import RunProcess from "@/views/projectProcess/components/RunProcess";
 import {getProcessConfigInfoList} from "@/api/projectProcess/processConfigInfo";
@@ -299,14 +283,15 @@
   },
   data() {
     return {
+      projectType: '',
       projectRunFrom: {
         projectId: null,
         projectName: ''
       },
       processList: [],
       showRunProcess: false,
-      nowProcessId: '',
-      nowProcessName: '',
+      nowProcessDefId: '',
+      nowProcessInsId: '',
       isImportOrExport: false,
       fileDialogVisible: false,
       //鏄惁闇�瑕佹柊澧炴寜閽�(鍌ㄨ搫椤圭洰闇�瑕�)
@@ -340,7 +325,7 @@
       timeRange: [],
       // 鏌ヨ鍙傛暟
       queryParams: {
-        pageNum: 1,
+        currentPage: 1,
         pageSize: 10,
         projectName: null,
         projectCode: null,
@@ -349,7 +334,7 @@
         projectType: '', // 椤圭洰绫诲瀷
         importanceType: '', // 閲嶇偣鍒嗙被
         projectStatus: '', // 椤圭洰鐘舵��
-        projectColorCode: '', // 椤圭洰鐮�
+        coding: '', // 椤圭洰鐮�
         investmentType: '', // 璧勯噾绫诲瀷
         projectPhase: '', // 椤圭洰闃舵
         investType: '', // 鎶曡祫绫诲埆
@@ -378,7 +363,7 @@
     if(projectCategory){
       this.isProjectCategory = true;
     }
-    const columns = current.map((item, index) => {
+    const columns = projectProcessCurrent.map((item, index) => {
       item.index = index + 1;
       item.key = index;
       item.serialNumber = index + 1;
@@ -389,31 +374,62 @@
     this.getList();
   },
   methods: {
+    // 鏌ョ湅璇︽儏
+    lookProcessDetail(row) {
+      sessionStorage.removeItem("projectProDetail")
+      this.$router.push({
+        path: '/projectFlow/detail',
+        query: {
+          projectId: row.id,
+          processDefId: row.processDefId,
+          processInsId: row.processInsId,
+          deployId: row.deployId,
+          processName: row.flowableProcessName
+        }
+      })
+    },
     closeRunProcess() {
+      this.projectRunFrom = {
+        projectId: null,
+        projectName: ''
+      }
+      this.nowProcessDefId = "";
+      this.nowProcessInsId = "";
+      this.projectType = ""
       this.showRunProcess = false
       this.getList()
     },
     // 鎵撳紑娴佺▼椤甸潰
     openOpProcess(row) {
+      this.nowProcessDefId = row.processDefId ? row.processDefId : '';
+      this.nowProcessInsId = row.processInsId ? row.processInsId : '';
+      const numericPattern = /^\d+(\.\d+)?$/;
+      if (numericPattern.test(row.id)) {
+        this.projectType = "PROJECT"
+      } else {
+        this.projectType = "ENGINEERING"
+      }
+      // // 闃叉锛歩d娌″彉涓嶈Е鍙戠洃鍚�
+      // this.$refs.runProcess.setSelect(row.flowableProcessId);
+      this.projectRunFrom.projectId = row.id;
+      this.projectRunFrom.projectName = row.projectName;
+
+      this.showRunProcess = true;
       // 鎷垮埌娴佺▼鍒楄〃 TODO 鏍规嵁椤圭洰绫诲瀷鍋氱瓫閫�
-      getProcessConfigInfoList().then(response => {
-        this.processList = response.data;
-        this.projectRunFrom.projectId = row.id;
-        this.projectRunFrom.projectName = row.projectName;
-        this.nowProcessId = row.flowableProcessId;
-        this.nowProcessName = row.flowableProcessName;
-        this.showRunProcess = true;
-      });
+      // getProcessConfigInfoList().then(response => {
+      //   this.processList = response.data;
+      //
+      // });
     },
     // 閲嶇疆鎺掑簭鐨勬柟娉�
     handleResetSort() {
-      this.defaultColumns = currentRest.map((item, index) => {
+      this.defaultColumns = projectProcessCurrentRest.map((item, index) => {
         item.index = index + 1;
         item.key = index;
         item.serialNumber = index + 1
         return item;
       });
-      this.columns = currentRest.map((item, index) => {
+      this.columns = projectProcessCurrentRest.map((item, index) => {
         item.index = index + 1;
         item.key = index;
         item.serialNumber = index + 1
@@ -462,9 +478,10 @@
       this.loading = true;
       getProjectProcess(this.queryParams).then(response => {
         this.projectInfoList = response.data;
+        console.log(this.projectInfoList)
         this.total = response.total;
+        this.loading = false;
       });
-      this.loading = false;
     },
     // 鍙栨秷鎸夐挳
     cancel() {
@@ -514,7 +531,7 @@
     },
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
-      this.queryParams.pageNum = 1;
+      this.queryParams.currentPage = 1;
       this.getList();
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */

--
Gitblit v1.8.0