From 14112fc388266e62ff6028d0a6329a61fdebf77c Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 21 一月 2025 03:47:55 +0800 Subject: [PATCH] 工程建设项目全生命周期推荐流程 --- src/views/projectProcess/index.vue | 155 +++++++++++++++++++++++++++++++++++---------------- 1 files changed, 107 insertions(+), 48 deletions(-) diff --git a/src/views/projectProcess/index.vue b/src/views/projectProcess/index.vue index a8d58d1..b16baeb 100644 --- a/src/views/projectProcess/index.vue +++ b/src/views/projectProcess/index.vue @@ -88,7 +88,7 @@ <el-row> <el-col :span="12"> <el-form-item label="椤圭洰鐮�"> - <el-select v-model="queryParams.projectColorCode" clearable placeholder="璇烽�夋嫨" class="select-option" @change="handleQuery"> + <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> @@ -185,7 +185,7 @@ v-loading="loading" :data="projectInfoList" @selection-change="handleSelectionChange" - height="60vh" + height="100%" sortable="custom" :show-overflow-tooltip="true"> <el-table-column type="selection" width="55" align="center"/> @@ -197,29 +197,26 @@ :prop="item.id" :label="item.label" :min-width="item.minWidth" + :show-overflow-tooltip="item.showOverflowTooltip" > <template slot-scope="scope"> <!-- 浣跨敤鍏峰悕鎻掓Ы --> <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> + <!-- coding鎻掓Ы --> + <template v-if="item.slotName === 'coding' || item.slotName === 'coding'"> + <dict-tag :options="dict.type.sys_project_code" :value="scope.row.coding"/> </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 +227,32 @@ <!-- 鎿嶄綔鍒� --> <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" + v-if="scope.row.processInsId" + @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> @@ -260,7 +260,7 @@ <pagination v-show="total>0" :total="total" - :page.sync="queryParams.pageNum" + :page.sync="queryParams.currentPage" :limit.sync="queryParams.pageSize" @pagination="getList" /> @@ -271,13 +271,25 @@ @fileDialogCancel="fileDialogCancel" :currentColumns="columns" /> + + <RunProcess ref="runProcess" :show="showRunProcess" + :now-process-def-id="nowProcessDefId" + :now-process-ins-id="nowProcessInsId" + :project-info="projectRunFrom" + :process-list="processList" + @close="closeRunProcess"> + </RunProcess> </div> </template> <script> -import {listInfo, getInfo, delInfo, addInfo, updateInfo} from "@/api/projectInfo"; -import {current, currentRest} from '@/views/projectEngineering/projectLibrary/list'; -import FileDialog from '@/views/projectEngineering/component/FileDialog'; +import { listDefinition } from "@/api/flowable/definition"; +import {listInfo, getInfo, delInfo, addInfo, updateInfo} from "@/api/projectEngineering/projectInfo"; +import { getProjectProcess } from "@/api/projectProcess/projectProcess" +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"; export default { dicts: ['sys_administrative_divisions', 'sys_investment_type', 'sys_project_phases', @@ -285,10 +297,18 @@ 'sys_project_tags', 'sys_key_categories', 'sys_project_type'], name: "projectInfo", components: { - FileDialog + FileDialog, RunProcess }, data() { return { + projectRunFrom: { + projectId: null, + projectName: '' + }, + processList: [], + showRunProcess: false, + nowProcessDefId: '', + nowProcessInsId: '', isImportOrExport: false, fileDialogVisible: false, //鏄惁闇�瑕佹柊澧炴寜閽�(鍌ㄨ搫椤圭洰闇�瑕�) @@ -322,7 +342,7 @@ timeRange: [], // 鏌ヨ鍙傛暟 queryParams: { - pageNum: 1, + currentPage: 1, pageSize: 10, projectName: null, projectCode: null, @@ -331,7 +351,7 @@ projectType: '', // 椤圭洰绫诲瀷 importanceType: '', // 閲嶇偣鍒嗙被 projectStatus: '', // 椤圭洰鐘舵�� - projectColorCode: '', // 椤圭洰鐮� + coding: '', // 椤圭洰鐮� investmentType: '', // 璧勯噾绫诲瀷 projectPhase: '', // 椤圭洰闃舵 investType: '', // 鎶曡祫绫诲埆 @@ -360,7 +380,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; @@ -371,15 +391,54 @@ 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.showRunProcess = false + this.getList() + }, + // 鎵撳紑娴佺▼椤甸潰 + openOpProcess(row) { + // 鎷垮埌娴佺▼鍒楄〃 TODO 鏍规嵁椤圭洰绫诲瀷鍋氱瓫閫� + getProcessConfigInfoList().then(response => { + this.processList = response.data; + this.nowProcessDefId = row.processDefId ? row.processDefId : ''; + this.nowProcessInsId = row.processInsId ? row.processInsId : ''; + // // 闃叉锛歩d娌″彉涓嶈Е鍙戠洃鍚� + // this.$refs.runProcess.setSelect(row.flowableProcessId); + this.projectRunFrom.projectId = row.id; + this.projectRunFrom.projectName = row.projectName; + + this.showRunProcess = true; + }); + }, // 閲嶇疆鎺掑簭鐨勬柟娉� 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 @@ -426,11 +485,11 @@ /** 鏌ヨ椤圭洰绠$悊鍩虹淇℃伅鍒楄〃 */ getList() { this.loading = true; - listInfo(this.queryParams).then(response => { + getProjectProcess(this.queryParams).then(response => { this.projectInfoList = response.data; this.total = response.total; + this.loading = false; }); - this.loading = false; }, // 鍙栨秷鎸夐挳 cancel() { @@ -480,7 +539,7 @@ }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { - this.queryParams.pageNum = 1; + this.queryParams.currentPage = 1; this.getList(); }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ -- Gitblit v1.8.0