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