56 lines
1.6 KiB
TypeScript
56 lines
1.6 KiB
TypeScript
import { computed, onMounted, ref } from 'vue';
|
||
import { storeToRefs } from 'pinia';
|
||
import { useBpmnStore } from '/@bpmn/store/bpmn';
|
||
import { getNodeName } from '/@bpmn/config/property';
|
||
|
||
export default function () {
|
||
const store = useBpmnStore();
|
||
const { infoId, isMainStartNode } = store;
|
||
const { info } = storeToRefs(store);
|
||
const showPanel = ref(false);
|
||
const formInfo = ref();
|
||
|
||
const processNodesInfo = ref();
|
||
const processStoreyInfo = ref([
|
||
{
|
||
id : 'Main_Storey',
|
||
name: '主干流程',
|
||
type: 'bpmn:Main_Storey',
|
||
},
|
||
]);
|
||
|
||
onMounted(() => {
|
||
if (infoId) {
|
||
formInfo.value = info.value.get(infoId);
|
||
console.log("info.value",info.value);
|
||
processNodesInfo.value = [];
|
||
//遍历info.value 是Map,把type含有"UserTask"字符的节点,放到processNodesInfo中
|
||
info.value.forEach((entity,key) => {
|
||
if(entity.type.indexOf("UserTask") != -1){
|
||
processNodesInfo.value.push(entity);
|
||
}
|
||
if(entity.type.indexOf("SubProcess") != -1 || entity.type.indexOf("CallActivity") != -1){
|
||
processStoreyInfo.value.push(entity);
|
||
}
|
||
});
|
||
// console.log("processNodesInfo.value",processNodesInfo.value);
|
||
showPanel.value = true;
|
||
}
|
||
});
|
||
const nodeName = computed(() => {
|
||
if (formInfo.value && formInfo.value.type) {
|
||
const labelName = getNodeName(formInfo.value.type);
|
||
return labelName;
|
||
}
|
||
return '节点';
|
||
});
|
||
return {
|
||
formInfo,
|
||
nodeName,
|
||
showPanel,
|
||
isMainStartNode,
|
||
processNodesInfo,
|
||
processStoreyInfo
|
||
};
|
||
}
|