|
@@ -18,7 +18,8 @@
|
|
|
<script>
|
|
|
import { downloadFile, setEncoded } from "@utils/files";
|
|
|
import { mapGetters } from "vuex";
|
|
|
-import { addProcess } from "@/api/bpmprocess/process";
|
|
|
+import { addProcess, updateProcess } from "@/api/bpmprocess/process";
|
|
|
+import xml from "highlight.js/lib/languages/xml";
|
|
|
|
|
|
export default {
|
|
|
name: "BpmnSave",
|
|
@@ -82,6 +83,18 @@ export default {
|
|
|
catchError(e);
|
|
|
}
|
|
|
},
|
|
|
+ // xmlStr2XmlObj(xmlStr) {
|
|
|
+ // var xmlObj = {};
|
|
|
+ // if (document.all) {
|
|
|
+ // var xmlDom = new ActiveXObject("Microsoft.XMLDOM");
|
|
|
+ // xmlDom.loadXML(xmlStr);
|
|
|
+ // xmlObj = xmlDom;
|
|
|
+ // } else {
|
|
|
+ // xmlObj = new DOMParser().parseFromString(xmlStr, "text/xml");
|
|
|
+ // }
|
|
|
+ // return xmlObj;
|
|
|
+ // },
|
|
|
+ getFileBinaryHandler() {},
|
|
|
async saveHandler() {
|
|
|
let _this = this;
|
|
|
let processJsonObj = await this.getProcessJson();
|
|
@@ -91,32 +104,52 @@ export default {
|
|
|
let processType = ""; //流程类型
|
|
|
let processXml = ""; //xml文件流
|
|
|
let xmlPro = await this.getProcess("xml");
|
|
|
- console.log(xmlPro);
|
|
|
let processXmlContent = xmlPro; //xml标签内容
|
|
|
- let blob = new Blob([xmlPro], { type: "text/xml" });
|
|
|
+ // const buffer = Buffer.from(xmlPro, "utf-8");
|
|
|
+ // 将 Buffer 对象转换为二进制流
|
|
|
+ const blob = new Blob([xmlPro], { type: "text/plain;charset=utf-8" });
|
|
|
+ blob.filename = processName + ".xml";
|
|
|
+
|
|
|
let reader = new FileReader();
|
|
|
- reader.onloadend = function () {
|
|
|
- console.log("xml流文件", reader.result);
|
|
|
- processXml = reader.result;
|
|
|
- // 获取所有xml标签内容
|
|
|
+ reader.onloadend = function (da) {
|
|
|
+ processXml = new Uint8Array(da.target.result);
|
|
|
+ // console.log(
|
|
|
+ // new File([processXml], processName + ".xml", {
|
|
|
+ // type: "application/octet-stream",
|
|
|
+ // lastModified: Date.now(),
|
|
|
+ // })
|
|
|
+ // );
|
|
|
+ // return;
|
|
|
let data = {
|
|
|
- processKey,
|
|
|
- processName,
|
|
|
- processType,
|
|
|
- processXml,
|
|
|
- processXmlContent,
|
|
|
- processJson: JSON.stringify(processJsonObj),
|
|
|
+ bpmProcess: {
|
|
|
+ processKey,
|
|
|
+ processName,
|
|
|
+ processType,
|
|
|
+ processJson: JSON.stringify(processJsonObj),
|
|
|
+ },
|
|
|
+ fileXML: [...processXml],
|
|
|
+ // processXmlContent,
|
|
|
};
|
|
|
- addProcess(data).then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- _this.$message.success("保存成功");
|
|
|
- console.log(res);
|
|
|
- } else {
|
|
|
- _this.$message.error("保存失败");
|
|
|
- }
|
|
|
- });
|
|
|
+ if (_this.$route.query?.id) {
|
|
|
+ data.bpmProcess.processId = _this.$route.query.id;
|
|
|
+ updateProcess(data).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ _this.$message.success("修改成功");
|
|
|
+ } else {
|
|
|
+ _this.$message.error("修改失败");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ addProcess(data).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ _this.$message.success("保存成功");
|
|
|
+ } else {
|
|
|
+ _this.$message.error("保存失败");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
};
|
|
|
- reader.readAsDataURL(blob);
|
|
|
+ reader.readAsArrayBuffer(blob);
|
|
|
},
|
|
|
},
|
|
|
};
|