|
@@ -1,31 +1,64 @@
|
|
|
+import { getProcessEngine } from "@packages/bpmn-utils/BpmnDesignerUtils";
|
|
|
|
|
|
function getSecondStr(str) {
|
|
|
return str.split(':')[1];
|
|
|
}
|
|
|
|
|
|
|
|
|
-export function getNodeMsg(nodeList = []) {
|
|
|
- if (!nodeList.length) return [];
|
|
|
- let nodeObj = {};
|
|
|
- nodeList.forEach(item => {
|
|
|
- let nodeType = getSecondStr(item.element.$type);
|
|
|
- let valueType = getSecondStr(item.property);
|
|
|
- if (nodeObj[nodeType]) {
|
|
|
- nodeObj[nodeType][valueType] = item.value;
|
|
|
- nodeObj[nodeType].nodeKey = item.element.id;
|
|
|
- } else {
|
|
|
- nodeObj[nodeType] = {};
|
|
|
- nodeObj[nodeType][valueType] = item.value;
|
|
|
- nodeObj[nodeType].nodeKey = item.element.id;
|
|
|
- }
|
|
|
- })
|
|
|
- let res = Object.keys(nodeObj).map((item) => {
|
|
|
- let temp = {};
|
|
|
- temp.nodeType = item;
|
|
|
- Object.assign(temp, nodeObj[item])
|
|
|
- return temp;
|
|
|
+// export function getNodeMsg(nodeList = []) {
|
|
|
+// if (!nodeList.length) return [];
|
|
|
+// let nodeObj = {};
|
|
|
+// nodeList.forEach(item => {
|
|
|
+// let nodeType = getSecondStr(item.element.$type);
|
|
|
+// let valueType = getSecondStr(item.property);
|
|
|
+// if (nodeObj[nodeType]) {
|
|
|
+// nodeObj[nodeType][valueType] = item.value;
|
|
|
+// nodeObj[nodeType].nodeKey = item.element.id;
|
|
|
+// } else {
|
|
|
+// nodeObj[nodeType] = {};
|
|
|
+// nodeObj[nodeType][valueType] = item.value;
|
|
|
+// nodeObj[nodeType].nodeKey = item.element.id;
|
|
|
+// }
|
|
|
+// })
|
|
|
+// let res = Object.keys(nodeObj).map((item) => {
|
|
|
+// let temp = {};
|
|
|
+// temp.nodeType = item;
|
|
|
+// Object.assign(temp, nodeObj[item])
|
|
|
+// return temp;
|
|
|
+// })
|
|
|
+// return res;
|
|
|
+// }
|
|
|
|
|
|
+export function getNodeMsg(xmlObj) {
|
|
|
+ let prefix = getProcessEngine();
|
|
|
+ let { attributes, childNodes } = xmlObj
|
|
|
+ .getElementsByTagName("bpmn:process")[0];
|
|
|
+ let res = [], attributeArray = ['nodeKey', 'nodeFormKey', 'nodeProcessKey', 'nodeType', 'nodeBefore', 'nodeAfter', 'nodeRolePremission', 'spare1', 'spare2', 'spare3', 'createBy', 'updateBy', 'remark'];
|
|
|
+ childNodes.forEach((node) => {
|
|
|
+ console.dir(node);
|
|
|
+ let nodeObj = {
|
|
|
+ nodeKey: '',
|
|
|
+ nodeFormKey: '',
|
|
|
+ nodeProcessKey: '',
|
|
|
+ nodeType: '',
|
|
|
+ nodeBefore: '',
|
|
|
+ nodeAfter: '',
|
|
|
+ nodeRolePremission: '',
|
|
|
+ spare1: '',
|
|
|
+ spare2: '',
|
|
|
+ spare3: '',
|
|
|
+ createBy: '',
|
|
|
+ updateBy: '',
|
|
|
+ remark: '',
|
|
|
+ }
|
|
|
+ attributeArray.forEach(attr => {
|
|
|
+ let tempAttr = prefix + ':' + attr
|
|
|
+ nodeObj[attr] = node.attributes[tempAttr]?.nodeValue || ''
|
|
|
+ });
|
|
|
+ nodeObj.nodeKey = node.id;
|
|
|
+ nodeObj.nodeType = node.localName;
|
|
|
+ if (nodeObj.nodeType == "sequenceFlow") return;
|
|
|
+ res.push(nodeObj)
|
|
|
})
|
|
|
-
|
|
|
return res;
|
|
|
}
|