From 39efab1d5585dcc6229a0c0e88d58556d9a9a67c Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 27 十一月 2024 02:37:22 +0800 Subject: [PATCH] 流程信息配置功能、项目关联流程功能 --- src/views/projectProcess/components/RunProcess.vue | 79 ++++++++++++++++++++++---- src/views/flowable/definition/index.vue | 22 +++++-- src/api/projectProcess/processConfigInfo.js | 9 +++ src/api/projectProcess/projectProcess.js | 11 +++ src/views/flowable/definition/component/EditProcessConfig.vue | 7 +- src/views/projectProcess/index.vue | 32 +++++++--- 6 files changed, 128 insertions(+), 32 deletions(-) diff --git a/src/api/projectProcess/processConfigInfo.js b/src/api/projectProcess/processConfigInfo.js index 709f894..bc3749c 100644 --- a/src/api/projectProcess/processConfigInfo.js +++ b/src/api/projectProcess/processConfigInfo.js @@ -9,6 +9,15 @@ }) } +// 鑾峰彇娴佺▼绫诲瀷閰嶇疆淇℃伅琛� +export const getProcessConfigInfoList = (params) => { + return request({ + url: "/process-config-info/list", + method: "GET", + params: params + }) +} + // 淇濆瓨娴佺▼绫诲瀷閰嶇疆淇℃伅琛� export const saveProcessConfigInfo = (data) => { return request({ diff --git a/src/api/projectProcess/projectProcess.js b/src/api/projectProcess/projectProcess.js index e8c7416..1ebada4 100644 --- a/src/api/projectProcess/projectProcess.js +++ b/src/api/projectProcess/projectProcess.js @@ -1,10 +1,19 @@ import request from '@/utils/request' // 鑾峰彇椤圭洰娴佺▼鍏崇郴琛ㄥ垎椤� -export const getProjectProcesss = (data) => { +export const getProjectProcess = (data) => { return request({ url: "/project-process/page", method: "POST", data: data }) } + +// 鑾峰彇椤圭洰娴佺▼鍏崇郴琛ㄥ垎椤� +export const projectSetProcess = (data) => { + return request({ + url: "/project-process/set", + method: "POST", + data: data + }) +} diff --git a/src/views/flowable/definition/component/EditProcessConfig.vue b/src/views/flowable/definition/component/EditProcessConfig.vue index 700767b..c9bd663 100644 --- a/src/views/flowable/definition/component/EditProcessConfig.vue +++ b/src/views/flowable/definition/component/EditProcessConfig.vue @@ -4,6 +4,7 @@ :title="`娴佺▼鍩虹閰嶇疆锛歚 + deployName" :visible.sync="processConfigShow" width="500px" + :destroy-on-close="true" :close-on-click-modal="false" :before-close="handleClose"> @@ -49,15 +50,15 @@ name: "EditProcessConfig", props: { processConfigShow: { - require: true, + required: true, type: Boolean }, deployName: { - require: true, + required: true, type: String }, form: { - require: true, + required: true, type: Object } }, diff --git a/src/views/flowable/definition/index.vue b/src/views/flowable/definition/index.vue index d8963ad..630c9ce 100644 --- a/src/views/flowable/definition/index.vue +++ b/src/views/flowable/definition/index.vue @@ -262,8 +262,9 @@ data() { return { configForm: { + processDefId: '', deployId: '', - deployVersion: null, + processDefVersion: null, projectType: '', // 椤圭洰绫诲瀷 fundType: '', // 璧勯噾绫诲瀷 investType: '', // 鎶曡祫绫诲埆 @@ -361,22 +362,31 @@ }, methods: { closeConfig() { + this.configForm = { + processDefId: '', + deployId: '', + processDefVersion: null, + projectType: '', // 椤圭洰绫诲瀷 + fundType: '', // 璧勯噾绫诲瀷 + investType: '', // 鎶曡祫绫诲埆 + importanceType: '', // 閲嶇偣鍒嗙被 + } this.processConfigShow = false }, handleConfig(row) { - const infoArr = row.id.split(":"); const params = { - deployId: infoArr[2], - deployVersion: infoArr[1] + processDefId: row.id, + processDefVersion: row.version } getProcessConfigInfoByDeploy(params).then(res => { if (res.data) { this.configForm = res.data } }) - this.configForm.deployId = infoArr[2] - this.configForm.deployVersion = infoArr[1] + this.configForm.processDefId = row.id + this.configForm.deployId = row.deploymentId + this.configForm.processDefVersion = row.version this.configDeployName = row.name this.processConfigShow = true }, diff --git a/src/views/projectProcess/components/RunProcess.vue b/src/views/projectProcess/components/RunProcess.vue index 27e9699..24e17a8 100644 --- a/src/views/projectProcess/components/RunProcess.vue +++ b/src/views/projectProcess/components/RunProcess.vue @@ -1,9 +1,10 @@ <template> <div> <el-dialog - title="娴佺▼鍚姩" + :title="`娴佺▼鍚姩锛歚 + projectInfo.projectName" :visible.sync="show" - width="750px" + width="950px" + :destroy-on-close="true" :close-on-click-modal="false" :before-close="handleClose"> <div> @@ -34,10 +35,46 @@ label="娴佺▼绫诲瀷" > </el-table-column> + <el-table-column label="椤圭洰绫诲瀷" > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_project_type" + :value="scope.row.projectType" + > + </dict-tag> + </template> + </el-table-column> + <el-table-column label="璧勯噾绫诲瀷" > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_funding_type" + :value="scope.row.fundType" + > + </dict-tag> + </template> + </el-table-column> + <el-table-column label="鎶曡祫绫诲埆" > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_investment_type" + :value="scope.row.investType" + > + </dict-tag> + </template> + </el-table-column> + <el-table-column label="閲嶇偣鍒嗙被" > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_key_categories" + :value="scope.row.importanceType" + > + </dict-tag> + </template> + </el-table-column> </el-table> </div> <span slot="footer" class="dialog-footer"> - <el-button @click="startProcess">鍚姩</el-button> + <el-button type="danger" @click="startProcess">鍚姩</el-button> <el-button type="primary" @click="changeProcess">鍙樻洿</el-button> </span> </el-dialog> @@ -45,35 +82,42 @@ </template> <script> +import {projectSetProcess} from "@/api/projectProcess/projectProcess"; + export default { + dicts: ['sys_project_type', 'sys_funding_type', 'sys_investment_type', 'sys_key_categories'], name: "RunProcess", props: { show: { - require: true, + required: true, type: Boolean }, - projectId: { - require: true, // 椤圭洰id - type: Number + projectInfo: { + required: true, // 椤圭洰id銆佸悕绉� + type: Object }, processList: { // 娴佺▼鍒楄〃 - require: true, + required: true, type: Array }, nowProcessId: { // 褰撳墠椤圭洰缁戝畾鐨勬祦绋媔d - require: true, + required: true, type: String }, nowProcessName: { - require: true, + required: true, type: String } }, watch: { // 鐩戝惉鍥炴樉鍊� nowProcessId(newVal, oldVal) { + console.log("浼犲叆鍊硷細", newVal, this.processList) this.processList.forEach((item,index) => { - if(item.id == newVal){ + console.log(item.id, newVal, item.id === newVal) + if(item.id === newVal){ + console.log("wwwwwww") + this.selectProcessId = newVal this.$nextTick(() => { this.$refs.myTable.toggleRowSelection(item); }) @@ -104,7 +148,18 @@ }, // 鍙樻洿娴佺▼ changeProcess() { - + if (!this.selectProcessId) { + this.$message.error("閫夊垯涓�涓祦绋嬪悗鎵嶈兘鍙樻洿") + return + } + const data = { + projectId: this.projectInfo.projectId, + flowableProcessId: this.selectProcessId + } + projectSetProcess(data).then(res => { + this.$message.success("鍙樻洿鎴愬姛") + this.handleClose() + }) }, handleClose() { this.$emit("close") diff --git a/src/views/projectProcess/index.vue b/src/views/projectProcess/index.vue index cdb3acc..ce1a2f3 100644 --- a/src/views/projectProcess/index.vue +++ b/src/views/projectProcess/index.vue @@ -270,17 +270,24 @@ :currentColumns="columns" /> - <RunProcess :show="showRunProcess" :now-process-id="nowProcessId" :now-process-name="nowProcessName" :process-list="processList" @close="closeRunProcess"></RunProcess> + <RunProcess :show="showRunProcess" + :now-process-id="nowProcessId" + :now-process-name="nowProcessName" + :project-info="projectRunFrom" + :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 { getProjectProcess } 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"; +import {getProcessConfigInfoList} from "@/api/projectProcess/processConfigInfo"; export default { dicts: ['sys_administrative_divisions', 'sys_investment_type', 'sys_project_phases', @@ -292,9 +299,12 @@ }, data() { return { + projectRunFrom: { + projectId: null, + projectName: '' + }, processList: [], showRunProcess: false, - projectId: null, nowProcessId: '', nowProcessName: '', isImportOrExport: false, @@ -381,15 +391,17 @@ methods: { closeRunProcess() { this.showRunProcess = false + this.getList() }, // 鎵撳紑娴佺▼椤甸潰 openOpProcess(row) { - this.projectId = row.id; - this.nowProcessId = row.flowableProcessId; - this.nowProcessName = row.flowableProcessName; - // 鎷垮埌娴佺▼鍒楄〃 - listDefinition(this.queryParams).then(response => { - this.processList = response.data.records; + // 鎷垮埌娴佺▼鍒楄〃 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; }); }, @@ -448,7 +460,7 @@ /** 鏌ヨ椤圭洰绠$悊鍩虹淇℃伅鍒楄〃 */ getList() { this.loading = true; - getProjectProcesss(this.queryParams).then(response => { + getProjectProcess(this.queryParams).then(response => { this.projectInfoList = response.data; this.total = response.total; }); -- Gitblit v1.8.0