|
|
@ -8,7 +8,11 @@ import '@/styles/workflowcss/workflow.scss' |
|
|
|
|
|
|
|
|
import { useStore } from '@/store/workflow/index' |
|
|
import { useStore } from '@/store/workflow/index' |
|
|
import { flowversion } from '@/api/workflowapi/types' |
|
|
import { flowversion } from '@/api/workflowapi/types' |
|
|
|
|
|
<<<<<<< HEAD |
|
|
import { initializeWorkFlow,setWorkFlowData,gainFlowVersionList } from '@/api/workflowapi/index' |
|
|
import { initializeWorkFlow,setWorkFlowData,gainFlowVersionList } from '@/api/workflowapi/index' |
|
|
|
|
|
======= |
|
|
|
|
|
import { initializeWorkFlow,setWorkFlowData,gainFlowVersionList,saveFlowCont,gainFlowInfo,editFlowCont,saveNewFlow,switchFlowVersion } from '@/api/workflowapi/index' |
|
|
|
|
|
>>>>>>> v3 |
|
|
|
|
|
|
|
|
//引入页面 |
|
|
//引入页面 |
|
|
import errorDialog from "@/components/workflow/dialog/errorDialog.vue"; |
|
|
import errorDialog from "@/components/workflow/dialog/errorDialog.vue"; |
|
|
@ -65,21 +69,44 @@ const shenPiTitle = ref<string>("") |
|
|
const activeTabs = ref<string>(""); //当前版本 |
|
|
const activeTabs = ref<string>(""); //当前版本 |
|
|
|
|
|
|
|
|
const versionList = ref<flowversion[]>(); //工作流版本列表 |
|
|
const versionList = ref<flowversion[]>(); //工作流版本列表 |
|
|
|
|
|
const enableFlow = ref<any>(); |
|
|
|
|
|
const isRead = ref(false) |
|
|
|
|
|
const enableVersion = ref<string>(); |
|
|
//获取工作流版本列表 |
|
|
//获取工作流版本列表 |
|
|
const getFlowVerList = ()=>{ |
|
|
const getFlowVerList = ()=>{ |
|
|
gainFlowVersionList({id:props.flowKey.toString()}) |
|
|
gainFlowVersionList({id:props.customerFormKey.toString()}) |
|
|
.then(({data})=>{ |
|
|
.then(({data})=>{ |
|
|
if(data){ |
|
|
if(data){ |
|
|
if(data.length>0){ |
|
|
if(data.length>0){ |
|
|
data.forEach((item:any)=>{ |
|
|
data.forEach((item:any)=>{ |
|
|
if(item.state == 1){ |
|
|
if(item.state == 1){ |
|
|
activeTabs.value = item.version |
|
|
activeTabs.value = item.id |
|
|
|
|
|
enableFlow.value = item |
|
|
|
|
|
enableVersion.value = item.id |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
|
|
|
<<<<<<< HEAD |
|
|
versionList.value = data; |
|
|
versionList.value = data; |
|
|
|
|
|
|
|
|
|
|
|
======= |
|
|
|
|
|
isRead.value = true |
|
|
|
|
|
}else{ |
|
|
|
|
|
isRead.value = false |
|
|
|
|
|
>>>>>>> v3 |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
console.log("获取工作流版本列表---1-->",activeTabs.value); |
|
|
|
|
|
console.log("获取工作流版本列表---2-->",enableFlow.value); |
|
|
|
|
|
console.log("获取工作流版本列表---3-->",enableVersion.value); |
|
|
|
|
|
}) |
|
|
|
|
|
.finally(()=>{ |
|
|
|
|
|
if(isRead.value == true){ |
|
|
|
|
|
gainFlowCont(); |
|
|
|
|
|
}else{ |
|
|
|
|
|
clearCanvas(1); |
|
|
|
|
|
} |
|
|
|
|
|
clickOpenOrClose(); |
|
|
|
|
|
|
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -99,17 +126,18 @@ const initWorkFlowData = async() => { |
|
|
workFlowDef:workName, |
|
|
workFlowDef:workName, |
|
|
tableId, |
|
|
tableId, |
|
|
} = data; |
|
|
} = data; |
|
|
|
|
|
processConfig.value.workFlowDef.formKey = props.customerFormKey |
|
|
nodeConfig.value = nodes; |
|
|
nodeConfig.value = nodes; |
|
|
flowPermission = flowPermission; |
|
|
flowPermission.value = flowPermission; |
|
|
directorMaxLeveling = directorMaxLevel; |
|
|
directorMaxLeveling.value = directorMaxLevel; |
|
|
workFlowDef.value = workName; |
|
|
workFlowDef.value = workName; |
|
|
setTableId(tableId); |
|
|
setTableId(tableId); |
|
|
// console.log("max--1->",data) |
|
|
// console.log("max--1->",data) |
|
|
// console.log("max--6->",tableId) |
|
|
// console.log("max--6->",tableId) |
|
|
// console.log("max--2->",flowPermission) |
|
|
// console.log("max--2->",flowPermission) |
|
|
// console.log("max--3->",flowPermission) |
|
|
// console.log("max--3->",nodeConfig) |
|
|
// console.log("max--4->",directorMaxLevel) |
|
|
// console.log("max--4->",directorMaxLevel) |
|
|
console.log("max--5->",workName) |
|
|
// console.log("max--5->",processConfig) |
|
|
} |
|
|
} |
|
|
//错误提示 |
|
|
//错误提示 |
|
|
const reErr = ({ childNode }:any) => { |
|
|
const reErr = ({ childNode }:any) => { |
|
|
@ -153,7 +181,18 @@ const saveSet = async () => { |
|
|
console.log("processConfig",processConfig.value); |
|
|
console.log("processConfig",processConfig.value); |
|
|
console.log("flowPermission",flowPermission.value); |
|
|
console.log("flowPermission",flowPermission.value); |
|
|
console.log("nodeConfig",nodeConfig.value); |
|
|
console.log("nodeConfig",nodeConfig.value); |
|
|
|
|
|
saveFlowCont(processConfig.value) |
|
|
|
|
|
.then((data:any) => { |
|
|
|
|
|
if(data.code == 0){ |
|
|
|
|
|
ElMessage.success("设置成功"); |
|
|
|
|
|
emits("update:openDrawer", false); |
|
|
|
|
|
clearCanvas(1); |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
.finally(()=>{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
// let res = await setWorkFlowData(processConfig.value); |
|
|
// let res = await setWorkFlowData(processConfig.value); |
|
|
// if (res.code == 200) { |
|
|
// if (res.code == 200) { |
|
|
// ElMessage.success("设置成功") |
|
|
// ElMessage.success("设置成功") |
|
|
@ -178,35 +217,169 @@ const zoomSize = (type:number) => { |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
//清空画布 |
|
|
//清空画布 |
|
|
const clearCanvas = () =>{ |
|
|
const clearCanvas = (isOk?:number) =>{ |
|
|
ElMessageBox.confirm('确定要清空画布?') |
|
|
if(isOk==1){ |
|
|
.then(() => { |
|
|
|
|
|
initWorkFlowData() |
|
|
initWorkFlowData() |
|
|
setIsTried(false); |
|
|
setIsTried(false); |
|
|
tipList.value = [] |
|
|
tipList.value = [] |
|
|
}) |
|
|
}else{ |
|
|
|
|
|
ElMessageBox.confirm('确定要清空画布?') |
|
|
|
|
|
.then(() => { |
|
|
|
|
|
initWorkFlowData() |
|
|
|
|
|
setIsTried(false); |
|
|
|
|
|
tipList.value = [] |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
enableFlow.value = "" |
|
|
} |
|
|
} |
|
|
watch(()=>props.openDrawer,(val)=>{ |
|
|
watch(()=>props.openDrawer,(val)=>{ |
|
|
|
|
|
// console.log("1111",props.customerFormKey,val) |
|
|
if(val){ |
|
|
if(val){ |
|
|
if(props.flowKey != ""){ |
|
|
if(props.customerFormKey != ""){ |
|
|
getFlowVerList() |
|
|
getFlowVerList() |
|
|
}else{ |
|
|
}else{ |
|
|
|
|
|
initWorkFlowData() |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
initWorkFlowData() |
|
|
|
|
|
shenPiTitle.value = props.customerFormName |
|
|
shenPiTitle.value = props.customerFormName |
|
|
}else{ |
|
|
}else{ |
|
|
setIsTried(false); |
|
|
setIsTried(false); |
|
|
tipList.value = [] |
|
|
tipList.value = [] |
|
|
|
|
|
enableFlow.value = "" |
|
|
|
|
|
isRead.value=false |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
//选择工作流版本 |
|
|
//选择工作流版本 |
|
|
const clickFormTable = (val:any) =>{ |
|
|
const clickFormTable = (val:any) =>{ |
|
|
// console.log("切换表单",val,formTableIndex.value) |
|
|
console.log("切换表单",val,activeTabs.value) |
|
|
|
|
|
enableVersion.value = val |
|
|
|
|
|
gainFlowCont(); |
|
|
|
|
|
clickOpenOrClose(); |
|
|
// getTableFieldList(versionIndex.value,val) |
|
|
// getTableFieldList(versionIndex.value,val) |
|
|
} |
|
|
} |
|
|
|
|
|
//编辑 |
|
|
|
|
|
const saveEdit =()=>{ |
|
|
|
|
|
setIsTried(true); |
|
|
|
|
|
tipList.value = []; |
|
|
|
|
|
|
|
|
|
|
|
reErr(nodeConfig.value); |
|
|
|
|
|
if (tipList.value.length != 0) { |
|
|
|
|
|
tipVisible.value = true; |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
processConfig.value.flowPermission = flowPermission.value; |
|
|
|
|
|
// eslint-disable-next-line no-console |
|
|
|
|
|
console.log("processConfig",flowPermission); |
|
|
|
|
|
// console.log("flowPermission",flowPermission.value); |
|
|
|
|
|
console.log("activeTabs",enableFlow.value); |
|
|
|
|
|
let sendCont = { |
|
|
|
|
|
id:enableVersion.value.toString(), |
|
|
|
|
|
flowinfo:processConfig.value |
|
|
|
|
|
} |
|
|
|
|
|
editFlowCont(sendCont) |
|
|
|
|
|
.then((data:any) => { |
|
|
|
|
|
if(data.code == 0){ |
|
|
|
|
|
ElMessage.success("设置成功"); |
|
|
|
|
|
emits("update:openDrawer", false); |
|
|
|
|
|
clearCanvas(1); |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
.finally(()=>{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
//另存为新版 |
|
|
|
|
|
const saveNew = () => { |
|
|
|
|
|
setIsTried(true); |
|
|
|
|
|
tipList.value = []; |
|
|
|
|
|
|
|
|
|
|
|
reErr(nodeConfig.value); |
|
|
|
|
|
if (tipList.value.length != 0) { |
|
|
|
|
|
tipVisible.value = true; |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
processConfig.value.flowPermission = flowPermission.value; |
|
|
|
|
|
// eslint-disable-next-line no-console |
|
|
|
|
|
// console.log("processConfig",flowPermission); |
|
|
|
|
|
// console.log("flowPermission",flowPermission.value); |
|
|
|
|
|
// console.log("activeTabs",enableFlow.value); |
|
|
|
|
|
let sendCont = { |
|
|
|
|
|
id:enableVersion.value.toString(), |
|
|
|
|
|
flowinfo:processConfig.value |
|
|
|
|
|
} |
|
|
|
|
|
saveNewFlow(sendCont) |
|
|
|
|
|
.then((data:any) => { |
|
|
|
|
|
if(data.code == 0){ |
|
|
|
|
|
ElMessage.success("设置成功"); |
|
|
|
|
|
emits("update:openDrawer", false); |
|
|
|
|
|
clearCanvas(1); |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
//获取流程内容 |
|
|
|
|
|
const gainFlowCont = () =>{ |
|
|
|
|
|
gainFlowInfo({id:enableVersion.value.toString()}) |
|
|
|
|
|
.then((data:any)=>{ |
|
|
|
|
|
// console.log("获取工作流版本列表-1->",data,enableFlow.value) |
|
|
|
|
|
if(data.code == 0){ |
|
|
|
|
|
processConfig.value = data.data; |
|
|
|
|
|
processConfig.value.workFlowDef.formKey = props.customerFormKey |
|
|
|
|
|
nodeConfig.value = data.data.nodeConfig; |
|
|
|
|
|
flowPermission.value = data.data.flowPermission; |
|
|
|
|
|
directorMaxLeveling = data.data.directorMaxLevel; |
|
|
|
|
|
workFlowDef.value = data.data.workFlowDef; |
|
|
|
|
|
setTableId(data.data.tableId); |
|
|
|
|
|
// console.log("max--1->",data) |
|
|
|
|
|
// console.log("max--6->",data.data.tableId) |
|
|
|
|
|
// console.log("max--2->",data.data.flowPermission) |
|
|
|
|
|
// console.log("max--3->",nodeConfig) |
|
|
|
|
|
// console.log("max--4->",data.data.directorMaxLevel) |
|
|
|
|
|
// console.log("max--5->",processConfig.value) |
|
|
|
|
|
}else{ |
|
|
|
|
|
clearCanvas(1); |
|
|
|
|
|
} |
|
|
|
|
|
// initWorkFlowData(); |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
//启用禁用 |
|
|
|
|
|
const setupState = (val:number) =>{ |
|
|
|
|
|
let sendCont = { |
|
|
|
|
|
id:enableVersion.value.toString(), |
|
|
|
|
|
status:val |
|
|
|
|
|
} |
|
|
|
|
|
switchFlowVersion(sendCont) |
|
|
|
|
|
.then((data)=>{ |
|
|
|
|
|
ElMessage.success(data.msg); |
|
|
|
|
|
// activeTabs.value = enableVersion.value |
|
|
|
|
|
// enableFlow.value.id = enableVersion.value |
|
|
|
|
|
if(versionList.value.length > 0){ |
|
|
|
|
|
versionList.value.forEach(item=>{ |
|
|
|
|
|
if(item.id == enableVersion.value){ |
|
|
|
|
|
enableFlow.value = item |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
.finally(()=>{ |
|
|
|
|
|
clickOpenOrClose(); |
|
|
|
|
|
}) |
|
|
|
|
|
console.log("enableFlow.version==activeTabs",enableFlow.version,activeTabs) |
|
|
|
|
|
} |
|
|
|
|
|
const openOfClise = ref(false) |
|
|
|
|
|
const clickOpenOrClose = () => { |
|
|
|
|
|
if(enableFlow.value.id==activeTabs.value){ |
|
|
|
|
|
openOfClise.value = true |
|
|
|
|
|
}else{ |
|
|
|
|
|
openOfClise.value = false |
|
|
|
|
|
} |
|
|
|
|
|
console.log("openOfClise",openOfClise.value) |
|
|
|
|
|
console.log("enableFlow.version=1=activeTabs",enableFlow.value,activeTabs.value) |
|
|
|
|
|
} |
|
|
</script> |
|
|
</script> |
|
|
<template> |
|
|
<template> |
|
|
<el-drawer v-model="isShow" :size="props.drawerWidht" :show-close="false"> |
|
|
<el-drawer v-model="isShow" :size="props.drawerWidht" :show-close="false"> |
|
|
@ -219,10 +392,18 @@ const clickFormTable = (val:any) =>{ |
|
|
<el-icon class="el-icon--left"><Delete /></el-icon> |
|
|
<el-icon class="el-icon--left"><Delete /></el-icon> |
|
|
清空 |
|
|
清空 |
|
|
</el-button> |
|
|
</el-button> |
|
|
<el-button type="primary" @click="saveSet"> |
|
|
<el-button v-if="!isRead" type="primary" @click="saveSet"> |
|
|
<el-icon class="el-icon--left"><Promotion /></el-icon> |
|
|
<el-icon class="el-icon--left"><Promotion /></el-icon> |
|
|
发布 |
|
|
发布 |
|
|
</el-button> |
|
|
</el-button> |
|
|
|
|
|
<el-button v-if="isRead" type="primary" @click="saveEdit"> |
|
|
|
|
|
<el-icon class="fa fa-save" style="margin-right:5px"></el-icon> |
|
|
|
|
|
保存 |
|
|
|
|
|
</el-button> |
|
|
|
|
|
<el-button v-if="isRead" color="#626aef" @click="saveNew"> |
|
|
|
|
|
<el-icon class="el-icon--left"><Share /></el-icon> |
|
|
|
|
|
另存为新版 |
|
|
|
|
|
</el-button> |
|
|
<el-button type="danger" @click="close"> |
|
|
<el-button type="danger" @click="close"> |
|
|
<el-icon class="el-icon--left"><CircleCloseFilled /></el-icon> |
|
|
<el-icon class="el-icon--left"><CircleCloseFilled /></el-icon> |
|
|
关闭 |
|
|
关闭 |
|
|
@ -230,20 +411,21 @@ const clickFormTable = (val:any) =>{ |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<div class="canvas_body"> |
|
|
<div class="canvas_body"> |
|
|
<el-row v-if="props.flowKey!=''" :gutter="20"> |
|
|
<el-row v-if="isRead" :gutter="20"> |
|
|
<el-col :span="20"> |
|
|
<el-col :span="22"> |
|
|
<el-tabs v-model="activeTabs" class="flow_version" @tab-change="clickFormTable"> |
|
|
<el-tabs v-model="activeTabs" class="flow_version" @tab-change="clickFormTable"> |
|
|
<el-tab-pane v-for="item in versionList" :key="item.id"> |
|
|
<el-tab-pane v-for="item in versionList" :key="item.id" :label="item.version" :name="item.id"> |
|
|
<template #label> |
|
|
<template #label> |
|
|
<span class="custom-tabs-label"> |
|
|
<span class="custom-tabs-label"> |
|
|
<span>{{ item.version }}}</span> |
|
|
<span>V{{ item.version }}</span> |
|
|
</span> |
|
|
</span> |
|
|
</template> |
|
|
</template> |
|
|
</el-tab-pane> |
|
|
</el-tab-pane> |
|
|
</el-tabs> |
|
|
</el-tabs> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="3" style="text-align: center;"> |
|
|
<el-col :span="1" style="text-align: center; display: flex; margin: auto;"> |
|
|
<el-button type="primary" round>启用</el-button> |
|
|
<el-button v-if="openOfClise" type="danger" size="small" round @click="setupState(2)">禁用</el-button> |
|
|
|
|
|
<el-button v-if="!openOfClise" type="success" size="small" round @click="setupState(1)">启用</el-button> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
<div class="fd-nav-content-new"> |
|
|
<div class="fd-nav-content-new"> |
|
|
|