|
@@ -1,7 +1,69 @@
|
|
let baseUrl = 'http://192.168.51.174:5199';
|
|
let baseUrl = 'http://192.168.51.174:5199';
|
|
let wsUrl = '';
|
|
let wsUrl = '';
|
|
let dwgPath = '';
|
|
let dwgPath = '';
|
|
|
|
+let docId = '';
|
|
let javaUrl = '';
|
|
let javaUrl = '';
|
|
|
|
+let curHandleId = '';
|
|
|
|
+// 用户自定义:成员列表,用于评论图纸时@人员,其中memberId和memberName字段名称不能修改
|
|
|
|
+let memberList = {
|
|
|
|
+ code: 0,
|
|
|
|
+ data: {
|
|
|
|
+ rows: [
|
|
|
|
+ {
|
|
|
|
+ memberId: '12',
|
|
|
|
+ memberName: '张三',
|
|
|
|
+ email: '',
|
|
|
|
+ phone: '',
|
|
|
|
+ role: '',
|
|
|
|
+ avatarUrl: '/assets/ZwCloud2DSDK/text.png',
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ memberId: '32',
|
|
|
|
+ memberName: '李四',
|
|
|
|
+ email: '',
|
|
|
|
+ phone: '',
|
|
|
|
+ role: '',
|
|
|
|
+ avatarUrl: '/assets/ZwCloud2DSDK/image1.png',
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ memberId: '34',
|
|
|
|
+ memberName: '王五',
|
|
|
|
+ email: '',
|
|
|
|
+ phone: '',
|
|
|
|
+ role: '',
|
|
|
|
+ avatarUrl: '/assets/ZwCloud2DSDK/image2.png',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+// 用户自定义:当前用户,指定当前评论图纸的用户,其中userId和userName字段名称不能修改
|
|
|
|
+let user = {
|
|
|
|
+ userId: '12',
|
|
|
|
+ userName: '张三',
|
|
|
|
+ email: '',
|
|
|
|
+ phone: '',
|
|
|
|
+ role: '',
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+let req = null;
|
|
|
|
+
|
|
|
|
+let sourcePath = '';
|
|
|
|
+let compareFilePath = '';
|
|
|
|
+
|
|
|
|
+const enableSign = true;
|
|
|
|
+
|
|
|
|
+const signBlockOper = {
|
|
|
|
+ GetBlockData: 0,
|
|
|
|
+ UploadSign: 1,
|
|
|
|
+ UploadCert: 2,
|
|
|
|
+ UploadDwg: 3,
|
|
|
|
+ ConFirmEdit: 4,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+const refType = {
|
|
|
|
+ plotMsg: 1,
|
|
|
|
+ signaturePic: 2,
|
|
|
|
+};
|
|
|
|
|
|
class Request {
|
|
class Request {
|
|
constructor() {}
|
|
constructor() {}
|
|
@@ -31,6 +93,14 @@ class Request {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
+ ajax.onreadystatechange = function () {
|
|
|
|
+ if (ajax.readyState === 4 && ajax.status !== 200) {
|
|
|
|
+ rej(ajax.status);
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+ ajax.onerror = function (error) {
|
|
|
|
+ rej(error);
|
|
|
|
+ };
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -49,10 +119,13 @@ class Request {
|
|
if (ajax.status === 200) {
|
|
if (ajax.status === 200) {
|
|
res(ajax.response);
|
|
res(ajax.response);
|
|
} else {
|
|
} else {
|
|
- rej();
|
|
|
|
|
|
+ rej(ajax.status);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
+ ajax.onerror = function (error) {
|
|
|
|
+ rej(error);
|
|
|
|
+ };
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -70,18 +143,56 @@ class Request {
|
|
return this.get('/sdk/font/download', { fontName }, 'blob');
|
|
return this.get('/sdk/font/download', { fontName }, 'blob');
|
|
}
|
|
}
|
|
|
|
|
|
- transferDoc() {
|
|
|
|
- return this.get('/sdk/transfer', {
|
|
|
|
- projectId: 0,
|
|
|
|
- dwgPath: dwgPath,
|
|
|
|
- type: 1,
|
|
|
|
|
|
+ transferDoc(dwgPath) {
|
|
|
|
+ if (enableSign) {
|
|
|
|
+ return this.transferDocV2();
|
|
|
|
+ }
|
|
|
|
+ return this.get('/sdk/transfer', { projectId: 0, dwgPath: dwgPath });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ transferDocV2() {
|
|
|
|
+ // {
|
|
|
|
+ // "dwgPath": "sdk-014_rotate.dwg",
|
|
|
|
+ // "useCache": false,
|
|
|
|
+ // "showBlock": true,
|
|
|
|
+ // "search": {
|
|
|
|
+ // "blockPre": "",
|
|
|
|
+ // "attrSignSuf": "_机打信息",
|
|
|
|
+ // "attrImageSuf": "_签章图",
|
|
|
|
+ // "officialSignSuf": "_公章"
|
|
|
|
+ // }
|
|
|
|
+ // }
|
|
|
|
+ let useCache = getParams('useCache');
|
|
|
|
+ if (useCache === 'false') {
|
|
|
|
+ useCache = false;
|
|
|
|
+ } else {
|
|
|
|
+ useCache = true;
|
|
|
|
+ }
|
|
|
|
+ return this.post(
|
|
|
|
+ '/sdk/v2/transfer',
|
|
|
|
+ JSON.stringify({
|
|
|
|
+ dwgPath: dwgPath,
|
|
|
|
+ useCache: useCache,
|
|
|
|
+ showBlock: true,
|
|
|
|
+ search: {
|
|
|
|
+ blockPre: getParams('blockPre') || '标准图框_',
|
|
|
|
+ attrSignSuf: getParams('attrSignSuf') || '_机打信息',
|
|
|
|
+ // attrImageSuf: "_签章图",
|
|
|
|
+ officialSignSuf: getParams('officialSignSuf') || '_签章图',
|
|
|
|
+ dwgSignSuf: '_DWG签名',
|
|
|
|
+ },
|
|
|
|
+ }),
|
|
|
|
+ ).then((res) => {
|
|
|
|
+ let { code, data } = JSON.parse(res);
|
|
|
|
+ if (code === 0) return data;
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
getDisplayData(handleId = 34) {
|
|
getDisplayData(handleId = 34) {
|
|
|
|
+ //电子签章中下载lmf不使用缓存, 正常开图下载lmf优先使用缓存
|
|
return this.get(
|
|
return this.get(
|
|
'/sdk/layout/lmf',
|
|
'/sdk/layout/lmf',
|
|
- { projectId: 0, handleId, dwgPath: dwgPath },
|
|
|
|
|
|
+ { handleId, dwgPath: dwgPath, useCache: !enableSign },
|
|
'arraybuffer',
|
|
'arraybuffer',
|
|
);
|
|
);
|
|
}
|
|
}
|
|
@@ -92,7 +203,7 @@ class Request {
|
|
return this.post('/sdk/xref', params, 'arraybuffer');
|
|
return this.post('/sdk/xref', params, 'arraybuffer');
|
|
}
|
|
}
|
|
|
|
|
|
- getXrefRelation() {
|
|
|
|
|
|
+ getXrefRelation(dwgPath) {
|
|
return this.get('/sdk/xref/list', { dwgPath: dwgPath });
|
|
return this.get('/sdk/xref/list', { dwgPath: dwgPath });
|
|
}
|
|
}
|
|
|
|
|
|
@@ -110,6 +221,14 @@ class Request {
|
|
let data = JSON.stringify(params);
|
|
let data = JSON.stringify(params);
|
|
return this.post('/sdk/print', data, 'arraybuffer');
|
|
return this.post('/sdk/print', data, 'arraybuffer');
|
|
}
|
|
}
|
|
|
|
+ getSignPlotData(params) {
|
|
|
|
+ let data = JSON.stringify(params);
|
|
|
|
+ return this.post('/sdk/api/print', data, 'arraybuffer');
|
|
|
|
+ }
|
|
|
|
+ getSignBatchPlotData(params) {
|
|
|
|
+ let data = JSON.stringify(params);
|
|
|
|
+ return this.post('/sdk/api/batchPrint', data, 'arraybuffer');
|
|
|
|
+ }
|
|
getImageSrc(filePath) {
|
|
getImageSrc(filePath) {
|
|
return this.get(
|
|
return this.get(
|
|
'/sdk/image/download',
|
|
'/sdk/image/download',
|
|
@@ -121,11 +240,7 @@ class Request {
|
|
});
|
|
});
|
|
}
|
|
}
|
|
getImageData(filePath) {
|
|
getImageData(filePath) {
|
|
- return this.get(
|
|
|
|
- '/sdk/image/download',
|
|
|
|
- { filePath: filePath },
|
|
|
|
- 'arraybuffer',
|
|
|
|
- );
|
|
|
|
|
|
+ return this.get('/sdk/image/download', { filePath: filePath }, 'blob');
|
|
}
|
|
}
|
|
getImageList() {
|
|
getImageList() {
|
|
return this.get('/sdk/image/list');
|
|
return this.get('/sdk/image/list');
|
|
@@ -138,6 +253,58 @@ class Request {
|
|
let data = JSON.stringify(params);
|
|
let data = JSON.stringify(params);
|
|
return this.post('/sdk/regen', data, 'arraybuffer');
|
|
return this.post('/sdk/regen', data, 'arraybuffer');
|
|
}
|
|
}
|
|
|
|
+ getBlockData(params) {
|
|
|
|
+ return this.get('/sdk/api/sign/properties', params);
|
|
|
|
+ }
|
|
|
|
+ uploadSign(params) {
|
|
|
|
+ let url = '/sdk/api/sign/upload';
|
|
|
|
+ let { signId, file, uploadId } = params;
|
|
|
|
+ let formData = new FormData();
|
|
|
|
+ formData.append('dwgPath', dwgPath);
|
|
|
|
+ formData.append('signId', signId);
|
|
|
|
+ formData.append('file', file);
|
|
|
|
+ formData.append('uploadId', uploadId);
|
|
|
|
+ return this.post(url, formData).then((res) => {
|
|
|
|
+ let response = JSON.parse(res);
|
|
|
|
+ let { code, data } = response;
|
|
|
|
+ if (code === 0) {
|
|
|
|
+ return { fileId: data.fileId, signId };
|
|
|
|
+ } else {
|
|
|
|
+ return { fileId: '', signId };
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ downloadSign(signFileId) {
|
|
|
|
+ let url = '/sdk/api/sign/download/' + signFileId;
|
|
|
|
+ return this.get(url, {}, 'arraybuffer').then((res) => {
|
|
|
|
+ if (res) {
|
|
|
|
+ let url = this.arrayBufferToBase64(res);
|
|
|
|
+ return 'data:image/jpeg;base64,' + url;
|
|
|
|
+ }
|
|
|
|
+ return '';
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ saveBlockData(data) {
|
|
|
|
+ let params = { dwgPath, data };
|
|
|
|
+ params = JSON.stringify(params);
|
|
|
|
+ return this.post('/sdk/api/sign/save', params)
|
|
|
|
+ .then((res) => {
|
|
|
|
+ let response = JSON.parse(res);
|
|
|
|
+ let { code } = response;
|
|
|
|
+ if (code === 0) {
|
|
|
|
+ return true;
|
|
|
|
+ } else {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .catch(() => false);
|
|
|
|
+ }
|
|
|
|
+ deleteSign(signId) {
|
|
|
|
+ return this.post('/sdk/api/sign/delete?signId=' + signId);
|
|
|
|
+ }
|
|
|
|
+ getSignHistoryData(params) {
|
|
|
|
+ return this.get('/sdk/api/sign/signRecords', params).catch(() => []);
|
|
|
|
+ }
|
|
getDwgFile() {
|
|
getDwgFile() {
|
|
return this.get(
|
|
return this.get(
|
|
'/sdk/doc/download',
|
|
'/sdk/doc/download',
|
|
@@ -149,60 +316,376 @@ class Request {
|
|
uploadFile(file) {
|
|
uploadFile(file) {
|
|
let formData = new FormData();
|
|
let formData = new FormData();
|
|
formData.append('file', file);
|
|
formData.append('file', file);
|
|
- return this.post('/sdk/doc/upload', formData, 'json', 'java');
|
|
|
|
|
|
+ return this.post('/sdk/doc/upload', formData, 'json', 'java').catch(() => {
|
|
|
|
+ alert('上传接口 /sdk/doc/upload 调用失败 请联系管理员');
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ getDwgFile() {
|
|
|
|
+ return this.get(
|
|
|
|
+ '/sdk/doc/download',
|
|
|
|
+ { dwgPath: dwgPath },
|
|
|
|
+ 'arraybuffer',
|
|
|
|
+ 'java',
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ getTextStyleFont(path) {
|
|
|
|
+ let params = { path: path };
|
|
|
|
+ params = JSON.stringify(params);
|
|
|
|
+ return this.post('/sdk/font/fetchName', params, 'json', 'java');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ getAbout() {
|
|
|
|
+ return this.get('/about');
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ addComment(params) {
|
|
|
|
+ return this.post(
|
|
|
|
+ '/sdk/doc/comment/add',
|
|
|
|
+ JSON.stringify({
|
|
|
|
+ docId,
|
|
|
|
+ handleId: curHandleId,
|
|
|
|
+ ...params,
|
|
|
|
+ }),
|
|
|
|
+ ).then((res) => {
|
|
|
|
+ let { code, data } = JSON.parse(res);
|
|
|
|
+ if (code === 0) return data;
|
|
|
|
+ });
|
|
}
|
|
}
|
|
-}
|
|
|
|
|
|
|
|
-function resizeCheck() {
|
|
|
|
- if (Date.now() - timer > 400) {
|
|
|
|
- const windowInfo = {
|
|
|
|
- width: window.innerWidth,
|
|
|
|
- height: window.innerHeight,
|
|
|
|
|
|
+ editComment(params) {
|
|
|
|
+ return this.post(
|
|
|
|
+ '/sdk/doc/comment/edit',
|
|
|
|
+ JSON.stringify({
|
|
|
|
+ docId,
|
|
|
|
+ handleId: curHandleId,
|
|
|
|
+ ...params,
|
|
|
|
+ }),
|
|
|
|
+ ).then((res) => {
|
|
|
|
+ let { code, data } = JSON.parse(res);
|
|
|
|
+ if (code === 0) return data;
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ deleteComment(params) {
|
|
|
|
+ return this.post(
|
|
|
|
+ '/sdk/doc/comment/delete?id=' + params.id,
|
|
|
|
+ JSON.stringify({}),
|
|
|
|
+ ).then((res) => {
|
|
|
|
+ let { code, data } = JSON.parse(res);
|
|
|
|
+ if (code === 0) return data;
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ replyComment(params) {
|
|
|
|
+ return this.post(
|
|
|
|
+ '/sdk/doc/comment/reply',
|
|
|
|
+ JSON.stringify({
|
|
|
|
+ docId,
|
|
|
|
+ handleId: curHandleId,
|
|
|
|
+ ...params,
|
|
|
|
+ }),
|
|
|
|
+ ).then((res) => {
|
|
|
|
+ let { code, data } = JSON.parse(res);
|
|
|
|
+ if (code === 0) return data;
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ getComment(data) {
|
|
|
|
+ return this.get('/sdk/doc/comment/listPage', {
|
|
|
|
+ docId,
|
|
|
|
+ handleId: curHandleId,
|
|
|
|
+ pageNum: data.pageNum,
|
|
|
|
+ pageSize: data.pageSize,
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 图纸对比, 调用转换服务
|
|
|
|
+ * @returns fcmpInfo
|
|
|
|
+ */
|
|
|
|
+ transferFcmp(inputParams) {
|
|
|
|
+ let params = {
|
|
|
|
+ sourcePath: inputParams.sourcePath,
|
|
|
|
+ compareFilePath: inputParams.compareFilePath,
|
|
|
|
+ data: inputParams.hasOwnProperty('data')
|
|
|
|
+ ? inputParams.data
|
|
|
|
+ : {
|
|
|
|
+ fcmpRcShape: 0,
|
|
|
|
+ fcmpRcMargin: 5,
|
|
|
|
+ fcmpHatch: 1,
|
|
|
|
+ fcmpText: 1,
|
|
|
|
+ },
|
|
|
|
+ viewport: inputParams.hasOwnProperty('viewport')
|
|
|
|
+ ? inputParams.viewport
|
|
|
|
+ : '',
|
|
|
|
+ handleId: inputParams.hasOwnProperty('handleId')
|
|
|
|
+ ? inputParams.handleId
|
|
|
|
+ : '',
|
|
};
|
|
};
|
|
- console.log(windowInfo);
|
|
|
|
- if (windowInfo.width <= 1190 || windowInfo.height <= 620) {
|
|
|
|
- mainMobile.style.display = 'unset';
|
|
|
|
- main.style.display = 'none';
|
|
|
|
- } else {
|
|
|
|
- mainMobile.style.display = 'none';
|
|
|
|
- main.style.display = 'unset';
|
|
|
|
|
|
+ !params.viewport && delete params.viewport;
|
|
|
|
+ !params.handleId && delete params.handleId;
|
|
|
|
+
|
|
|
|
+ let isTimeout = false;
|
|
|
|
+ let timerTimeout = setTimeout(() => {
|
|
|
|
+ isTimeout = true;
|
|
|
|
+ alert('等待时间已经超过2分钟, 是否退出');
|
|
|
|
+ ZwCloud2D.ZwEditor.ZwSetLoadingState(true);
|
|
|
|
+ ZwCloud2D.ZwDataProcessor.ZwLoad();
|
|
|
|
+ }, 120000);
|
|
|
|
+
|
|
|
|
+ return this.post('/sdk/fcmp', JSON.stringify(params), 'json').then(
|
|
|
|
+ (res) => {
|
|
|
|
+ clearTimeout(timerTimeout);
|
|
|
|
+ if (res.code !== 0) {
|
|
|
|
+ alert(res.msg);
|
|
|
|
+ resizeCheck();
|
|
|
|
+ return Promise.reject(res.code);
|
|
|
|
+ }
|
|
|
|
+ if (isTimeout) {
|
|
|
|
+ return Promise.reject('transferFcmp request timeout!');
|
|
|
|
+ }
|
|
|
|
+ let data = res.data;
|
|
|
|
+
|
|
|
|
+ docId = data.docId || new Date().getTime().toString();
|
|
|
|
+
|
|
|
|
+ let layouts = [];
|
|
|
|
+ (data.layouts || []).forEach((layout) => {
|
|
|
|
+ let res = {
|
|
|
|
+ handleId: layout.handleId,
|
|
|
|
+ isDefault: layout.isDefault === 1 ? 'YES' : 'NO',
|
|
|
|
+ name: layout.layoutName,
|
|
|
|
+ tabOrder: layout.order,
|
|
|
|
+ };
|
|
|
|
+ layouts.push(res);
|
|
|
|
+ if (layout.isDefault === 1) {
|
|
|
|
+ curHandleId = layout.handleId;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ let fcmpInfo = {
|
|
|
|
+ baseFileName: data.baseFileName,
|
|
|
|
+ baseFileInfo: [
|
|
|
|
+ { lable: '名称', value: sourcePath },
|
|
|
|
+ { lable: '所有者', value: '未知' },
|
|
|
|
+ { lable: '创建时间', value: '未知' },
|
|
|
|
+ { lable: '文件路径', value: '未知' },
|
|
|
|
+ ],
|
|
|
|
+ compareFileName: data.compareFileName,
|
|
|
|
+ compareFileInfo: [
|
|
|
|
+ { lable: '名称', value: compareFilePath },
|
|
|
|
+ { lable: '所有者', value: '未知' },
|
|
|
|
+ { lable: '创建时间', value: '未知' },
|
|
|
|
+ { lable: '文件路径', value: '未知' },
|
|
|
|
+ ],
|
|
|
|
+ fcmpDiffExt: data.fcmpDiffExt,
|
|
|
|
+ fcmpErrorFlag: data.fcmpErrorFlag,
|
|
|
|
+ fonts: data.fontList || [],
|
|
|
|
+ layouts: layouts,
|
|
|
|
+ fcmpRcShape: params.data.fcmpRcShape,
|
|
|
|
+ fcmpRcMargin: params.data.fcmpRcMargin,
|
|
|
|
+ fcmpHatch: params.data.fcmpHatch,
|
|
|
|
+ fcmpText: params.data.fcmpText,
|
|
|
|
+ };
|
|
|
|
+ return fcmpInfo;
|
|
|
|
+ },
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 下载图纸转换的显示数据
|
|
|
|
+ * @param {string} compareFilePath
|
|
|
|
+ * @param {string} sourcePath
|
|
|
|
+ * @returns
|
|
|
|
+ */
|
|
|
|
+ getFcmpDisplayData(compareFilePath, sourcePath) {
|
|
|
|
+ return this.get(
|
|
|
|
+ '/sdk/layout/lmf',
|
|
|
|
+ {
|
|
|
|
+ handleId: compareFilePath.replace(/\.dwg/gi, '_fcmp'),
|
|
|
|
+ dwgPath: sourcePath,
|
|
|
|
+ useCache: true,
|
|
|
|
+ },
|
|
|
|
+ 'arraybuffer',
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取文件列表
|
|
|
|
+ * @returns
|
|
|
|
+ */
|
|
|
|
+ getFileList() {
|
|
|
|
+ return this.get('/sdk/dwg/list').catch(() => {
|
|
|
|
+ alert('获取文件列表接口 /sdk/dwg/list 调用失败 请联系管理员');
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+req = new Request();
|
|
|
|
+
|
|
|
|
+// 生成Guid
|
|
|
|
+function randomFour() {
|
|
|
|
+ return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
|
|
|
|
+}
|
|
|
|
+function guid() {
|
|
|
|
+ return (
|
|
|
|
+ randomFour() +
|
|
|
|
+ randomFour() +
|
|
|
|
+ '-' +
|
|
|
|
+ randomFour() +
|
|
|
|
+ '-' +
|
|
|
|
+ randomFour() +
|
|
|
|
+ '-' +
|
|
|
|
+ randomFour() +
|
|
|
|
+ '-' +
|
|
|
|
+ randomFour() +
|
|
|
|
+ randomFour() +
|
|
|
|
+ randomFour()
|
|
|
|
+ );
|
|
|
|
+}
|
|
|
|
+function getCommentFunc(data) {
|
|
|
|
+ // 每次切换布局需要重新获取评论数据
|
|
|
|
+ let commentList = {
|
|
|
|
+ code: 0,
|
|
|
|
+ data: {
|
|
|
|
+ rows: [],
|
|
|
|
+ },
|
|
|
|
+ };
|
|
|
|
+ req
|
|
|
|
+ .getComment(data)
|
|
|
|
+ .then((res) => {
|
|
|
|
+ if (res) {
|
|
|
|
+ let data = JSON.parse(JSON.stringify(res));
|
|
|
|
+ commentList.data.total = data.total;
|
|
|
|
+ commentList.data.rows = data.rows;
|
|
|
|
+ }
|
|
|
|
+ if (data.initial) {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetCommentData({
|
|
|
|
+ commentList: commentList,
|
|
|
|
+ memberList,
|
|
|
|
+ user,
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetCommentData({
|
|
|
|
+ commentList: commentList,
|
|
|
|
+ pageNum: data.pageNum,
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ .catch((error) => {
|
|
|
|
+ if (data.initial) {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetCommentData({
|
|
|
|
+ commentList: commentList,
|
|
|
|
+ memberList,
|
|
|
|
+ user,
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetCommentData({
|
|
|
|
+ commentList: commentList,
|
|
|
|
+ pageNum: data.pageNum,
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ console.error(error);
|
|
|
|
+ });
|
|
|
|
+}
|
|
|
|
+function saveCommentFunc(data) {
|
|
|
|
+ let params = { pageNum: 1, pageSize: data.data.pageSize };
|
|
|
|
+ if (data.data) {
|
|
|
|
+ // 根据不同场景组织数据并保存
|
|
|
|
+ switch (data.type) {
|
|
|
|
+ case 'delete':
|
|
|
|
+ req
|
|
|
|
+ .deleteComment({
|
|
|
|
+ id: data.data.id,
|
|
|
|
+ })
|
|
|
|
+ .then(() => {
|
|
|
|
+ this.getCommentFunc(params);
|
|
|
|
+ });
|
|
|
|
+ break;
|
|
|
|
+ case 'edit':
|
|
|
|
+ // 编辑评论时需要更新数据
|
|
|
|
+ req
|
|
|
|
+ .editComment({
|
|
|
|
+ id: data.data.id,
|
|
|
|
+ content: data.data.content,
|
|
|
|
+ realContent: data.data.realContent,
|
|
|
|
+ mark: data.data.mark,
|
|
|
|
+ withMark: data.data.withMark,
|
|
|
|
+ withAt: data.data.withMark,
|
|
|
|
+ createBy: user.userId,
|
|
|
|
+ creator: user.userName,
|
|
|
|
+ })
|
|
|
|
+ .then(() => {
|
|
|
|
+ this.getCommentFunc(params);
|
|
|
|
+ });
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ {
|
|
|
|
+ //新增评论、回复评论的场景
|
|
|
|
+ data.data.id = guid();
|
|
|
|
+ data.data.createTime = new Date().getTime();
|
|
|
|
+ data.data.createBy = user.userId;
|
|
|
|
+ data.data.creator = user.userName;
|
|
|
|
+ // 有parentId表示是回复评论
|
|
|
|
+ if (data.data.parentId) {
|
|
|
|
+ req
|
|
|
|
+ .replyComment({
|
|
|
|
+ parentId: data.data.parentId,
|
|
|
|
+ content: data.data.content,
|
|
|
|
+ realContent: data.data.realContent,
|
|
|
|
+ mark: data.data.mark,
|
|
|
|
+ withMark: data.data.withMark,
|
|
|
|
+ withAt: data.data.withMark,
|
|
|
|
+ createBy: user.userId,
|
|
|
|
+ creator: user.userName,
|
|
|
|
+ })
|
|
|
|
+ .then(() => {
|
|
|
|
+ this.getCommentFunc(params);
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ // 新增评论
|
|
|
|
+ req
|
|
|
|
+ .addComment({
|
|
|
|
+ content: data.data.content,
|
|
|
|
+ realContent: data.data.realContent,
|
|
|
|
+ mark: data.data.mark,
|
|
|
|
+ withMark: data.data.withMark,
|
|
|
|
+ withAt: data.data.withMark,
|
|
|
|
+ createBy: user.userId,
|
|
|
|
+ creator: user.userName,
|
|
|
|
+ })
|
|
|
|
+ .then(() => {
|
|
|
|
+ this.getCommentFunc(params);
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
- timer = Date.now();
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
ZwCloud2D.ZwDataProcessor.ZwSetConnectUrl = (url1, url2, url3) => {
|
|
ZwCloud2D.ZwDataProcessor.ZwSetConnectUrl = (url1, url2, url3) => {
|
|
- javaUrl = url1;
|
|
|
|
- baseUrl = url2;
|
|
|
|
- wsUrl = url3;
|
|
|
|
|
|
+ baseUrl = url1;
|
|
|
|
+ wsUrl = url2;
|
|
|
|
+ javaUrl = url3;
|
|
};
|
|
};
|
|
-
|
|
|
|
ZwCloud2D.ZwDataProcessor.ZwSetLoadDwg = (path) => {
|
|
ZwCloud2D.ZwDataProcessor.ZwSetLoadDwg = (path) => {
|
|
dwgPath = path;
|
|
dwgPath = path;
|
|
};
|
|
};
|
|
-
|
|
|
|
ZwCloud2D.ZwDataProcessor.uploadDwg = (file) => {
|
|
ZwCloud2D.ZwDataProcessor.uploadDwg = (file) => {
|
|
let req = new Request();
|
|
let req = new Request();
|
|
- return new Promise((resolve, reject) => {
|
|
|
|
- req.uploadFile(file).then((res) => {
|
|
|
|
- resolve(res);
|
|
|
|
- });
|
|
|
|
- });
|
|
|
|
|
|
|
|
- // req.uploadFile(file).then(res => {
|
|
|
|
|
|
+ return req.uploadFile(file);
|
|
|
|
+ // .then((res) => {
|
|
// dwgPath = res.data.path;
|
|
// dwgPath = res.data.path;
|
|
// ZwCloud2D.ZwDataProcessor.ZwLoad();
|
|
// ZwCloud2D.ZwDataProcessor.ZwLoad();
|
|
- // let main = document.getElementById('main');
|
|
|
|
- // main.style.display = "none"
|
|
|
|
- // let mainMobile = document.getElementById('main-mobile');
|
|
|
|
- // mainMobile.style.display = "none"
|
|
|
|
- // let showDwgBtn = document.getElementById('showDwgBtn');
|
|
|
|
- // let showFontBtn = document.getElementById('showFontBtn');
|
|
|
|
- // showDwgBtn.style.display = "unset"
|
|
|
|
- // showFontBtn.style.display = "unset"
|
|
|
|
- // })
|
|
|
|
|
|
+ // let main = document.getElementById('main');
|
|
|
|
+ // main.style.display = 'none';
|
|
|
|
+ // let mainMobile = document.getElementById('main-mobile');
|
|
|
|
+ // mainMobile.style.display = 'none';
|
|
|
|
+ // let showDwgBtn = document.getElementById('showDwgBtn');
|
|
|
|
+ // let showFontBtn = document.getElementById('showFontBtn');
|
|
|
|
+ // showDwgBtn.style.display = 'unset';
|
|
|
|
+ // showFontBtn.style.display = 'unset';
|
|
|
|
+ // });
|
|
};
|
|
};
|
|
-
|
|
|
|
ZwCloud2D.ZwDataProcessor.uploadFont = (file) => {
|
|
ZwCloud2D.ZwDataProcessor.uploadFont = (file) => {
|
|
let req = new Request();
|
|
let req = new Request();
|
|
let pArray = new Array();
|
|
let pArray = new Array();
|
|
@@ -227,88 +710,230 @@ ZwCloud2D.ZwDataProcessor.uploadFont = (file) => {
|
|
alert('上传失败');
|
|
alert('上传失败');
|
|
});
|
|
});
|
|
};
|
|
};
|
|
-
|
|
|
|
-ZwCloud2D.ZwDataProcessor.ZwLoad = () => {
|
|
|
|
- let docId = new Date().getTime().toString();
|
|
|
|
- let req = new Request();
|
|
|
|
-
|
|
|
|
- // 切换布局时候触发回调
|
|
|
|
- ZwCloud2D.ZwMessageCallback.ZwEvtChangeLayout = (layout) => {
|
|
|
|
- req
|
|
|
|
- .getDisplayData(layout.handleId)
|
|
|
|
- .then((data) => {
|
|
|
|
- let timestamp = new Date().getTime();
|
|
|
|
- ZwCloud2D.ZwDataManager.ZwSetDwgData(layout.handleId, data, timestamp);
|
|
|
|
- })
|
|
|
|
- .catch((error) => {
|
|
|
|
- console.error(error);
|
|
|
|
- });
|
|
|
|
- };
|
|
|
|
- ZwCloud2D.ZwMessageCallback.ZwEvtLoadXrefData = (data) => {
|
|
|
|
- req
|
|
|
|
- .getXrefData(data.handleId, data.xrefIds)
|
|
|
|
- .then((res) => {
|
|
|
|
- ZwCloud2D.ZwDataManager.ZwSetXrefData(res);
|
|
|
|
- })
|
|
|
|
- .catch(() => {
|
|
|
|
- ZwCloud2D.ZwDataManager.ZwSetXrefData();
|
|
|
|
|
|
+ZwCloud2D.ZwDataProcessor.selectBaseDwgAndCompareDwg = () => {
|
|
|
|
+ return new Promise((res, rej) => {
|
|
|
|
+ req.getFileList().then((array) => {
|
|
|
|
+ new Modal({
|
|
|
|
+ title: '选择两个进行对比的图纸',
|
|
|
|
+ fcmpInfoContent: array,
|
|
|
|
+ onOk: () => {
|
|
|
|
+ res();
|
|
|
|
+ },
|
|
});
|
|
});
|
|
- };
|
|
|
|
- ZwCloud2D.ZwMessageCallback.ZwEvtDrawEnd = () => {};
|
|
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwDataProcessor.ZwProcessAboutVersionData = () => {
|
|
|
|
+ return req.getAbout().then((res) => {
|
|
|
|
+ let aboutVersion = '';
|
|
|
|
+ aboutVersion +=
|
|
|
|
+ 'Front side VERNUM: ' + ZwCloud2D.version.commitId + '<br/>';
|
|
|
|
+ aboutVersion +=
|
|
|
|
+ 'Front side COMMIT TIME: ' + ZwCloud2D.version.commitTime + '<br/>';
|
|
|
|
+ aboutVersion +=
|
|
|
|
+ 'Middleware VERNUM: ' + (res['git.commit.id'] || '') + '<br/>';
|
|
|
|
+ aboutVersion +=
|
|
|
|
+ 'Middleware COMMIT TIME: ' + (res['git.commit.time'] || '') + '<br/>';
|
|
|
|
+ aboutVersion +=
|
|
|
|
+ 'Core service VERNUM: ' + (res['cloud2d.server'] || '') + '<br/>';
|
|
|
|
|
|
- ZwCloud2D.ZwMessageCallback.ZwEvtGetRegenData = (data) => {
|
|
|
|
- req
|
|
|
|
- .getRegenData(data)
|
|
|
|
- .then((res) => {
|
|
|
|
- ZwCloud2D.ZwDataManager.ZwSetRegenData(res);
|
|
|
|
- })
|
|
|
|
- .catch(() => {
|
|
|
|
- ZwCloud2D.ZwDataManager.ZwSetRegenData(null);
|
|
|
|
- });
|
|
|
|
- };
|
|
|
|
- ZwCloud2D.ZwMessageCallback.ZwEvtLoadImageData = (data) => {
|
|
|
|
- let pArr = new Array();
|
|
|
|
- let imageMap = new Map();
|
|
|
|
- data.forEach((imageUrl) => {
|
|
|
|
- pArr.push(
|
|
|
|
- new Promise((res, rej) => {
|
|
|
|
- req
|
|
|
|
- .getImageData(imageUrl)
|
|
|
|
- .then((result) => {
|
|
|
|
- imageMap.set(imageUrl, result);
|
|
|
|
- res(true);
|
|
|
|
- })
|
|
|
|
- .catch((err) => {
|
|
|
|
- res(true);
|
|
|
|
- });
|
|
|
|
- }),
|
|
|
|
- );
|
|
|
|
|
|
+ ZwCloud2D.ZwSetting.ZwSetAbout({ version: aboutVersion });
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwDataProcessor.ZwProcessPermissionData = () => {
|
|
|
|
+ return req
|
|
|
|
+ .getPermissionList()
|
|
|
|
+ .then((data) => {
|
|
|
|
+ //启用电子签章功能
|
|
|
|
+ if (enableSign) {
|
|
|
|
+ ZwCloud2D.ZwEditor.ZwSetUserOptions({
|
|
|
|
+ panel: { signPanel: true },
|
|
|
|
+ commandButton: { Sign: true, Fcmp: true },
|
|
|
|
+ command: { FCMP: true },
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ //启用文件对比功能
|
|
|
|
+ ZwCloud2D.ZwEditor.ZwSetUserOptions({
|
|
|
|
+ commandButton: { Fcmp: true },
|
|
|
|
+ command: { FCMP: true },
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetSdkPermission(data);
|
|
|
|
+ })
|
|
|
|
+ .catch((error) => {
|
|
|
|
+ console.error(error);
|
|
});
|
|
});
|
|
- Promise.all(pArr)
|
|
|
|
- .then(() => {
|
|
|
|
- ZwCloud2D.ZwDataManager.ZwSetImageData(imageMap);
|
|
|
|
- })
|
|
|
|
- .catch((error) => {
|
|
|
|
- console.error(error);
|
|
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwDataProcessor.ZwProcessFontData = (missingFonts) => {
|
|
|
|
+ let pArr = [];
|
|
|
|
+ let fontArr = [];
|
|
|
|
+ missingFonts.forEach((fontName) => {
|
|
|
|
+ let arr = fontName.split('.');
|
|
|
|
+ let type = (arr[arr.length - 1] || '').toUpperCase();
|
|
|
|
+
|
|
|
|
+ pArr.push(
|
|
|
|
+ req.fontDownload(fontName).then(async (data) => {
|
|
|
|
+ if (data.type === 'application/octet-stream') {
|
|
|
|
+ let arraybuffer = await data.arrayBuffer();
|
|
|
|
+ fontArr.push({
|
|
|
|
+ name: fontName,
|
|
|
|
+ type: type,
|
|
|
|
+ data: arraybuffer,
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }),
|
|
|
|
+ );
|
|
|
|
+ });
|
|
|
|
+ return Promise.all(pArr).then(() => {
|
|
|
|
+ return ZwCloud2D.ZwDataManager.ZwSetFontDataList(fontArr);
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwDataProcessor.ZwProcessXrefData = (dwgPath, docName) => {
|
|
|
|
+ return req
|
|
|
|
+ .getXrefRelation(dwgPath)
|
|
|
|
+ .then((xrefRelations) => {
|
|
|
|
+ let xrefPromises = [];
|
|
|
|
+ let srcMap = new Map();
|
|
|
|
+ xrefRelations.forEach((xrefRelation) => {
|
|
|
|
+ if (xrefRelation.foundPath) {
|
|
|
|
+ xrefPromises.push(
|
|
|
|
+ new Promise((res, rej) => {
|
|
|
|
+ req.getXrefThumb(xrefRelation.foundPath).then((xrefThumb) => {
|
|
|
|
+ srcMap.set(xrefRelation.foundPath, xrefThumb);
|
|
|
|
+ res(true);
|
|
|
|
+ });
|
|
|
|
+ }),
|
|
|
|
+ );
|
|
|
|
+ }
|
|
});
|
|
});
|
|
- };
|
|
|
|
- ZwCloud2D.ZwMessageCallback.ZwEvtLoadImageList = () => {
|
|
|
|
- req.getImageList().then((res) => {
|
|
|
|
- res.forEach((image) => {
|
|
|
|
- let path = image.completePath + image.name;
|
|
|
|
- req.getImageSrc(path).then((imageData) => {
|
|
|
|
- let item = {
|
|
|
|
- name: image.name,
|
|
|
|
- data: imageData,
|
|
|
|
- completePath: image.completePath,
|
|
|
|
|
|
+ return Promise.all(xrefPromises)
|
|
|
|
+ .then(() => {
|
|
|
|
+ let params = {
|
|
|
|
+ docName: docName,
|
|
|
|
+ xrefRelations: xrefRelations,
|
|
|
|
+ srcMap: srcMap,
|
|
|
|
+ };
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetXrefList(params);
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {
|
|
|
|
+ let params = {
|
|
|
|
+ docName: docName,
|
|
|
|
+ xrefRelations: xrefRelations,
|
|
|
|
+ srcMap: srcMap,
|
|
};
|
|
};
|
|
- ZwCloud2D.ZwDataManager.ZwSetImageList(item);
|
|
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetXrefList(params);
|
|
});
|
|
});
|
|
|
|
+ })
|
|
|
|
+ .catch((error) => {
|
|
|
|
+ console.error(error);
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+//ZwCloud SDK 回调
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtChangeLayout = (layout) => {
|
|
|
|
+ req
|
|
|
|
+ .getDisplayData(layout.handleId)
|
|
|
|
+ .then((data) => {
|
|
|
|
+ let timestamp = new Date().getTime();
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetDwgData(layout.handleId, data, timestamp);
|
|
|
|
+ })
|
|
|
|
+ .catch((error) => {
|
|
|
|
+ console.error(error);
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtLoadXrefData = (data) => {
|
|
|
|
+ req
|
|
|
|
+ .getXrefData(data.handleId, data.xrefIds)
|
|
|
|
+ .then((res) => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetXrefData(res);
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetXrefData();
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtDrawEnd = () => {};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtGetRegenData = async (data) => {
|
|
|
|
+ req
|
|
|
|
+ .getRegenData(data)
|
|
|
|
+ .then((res) => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetRegenData(res);
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetRegenData(null);
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtLoadImageData = (data) => {
|
|
|
|
+ let pArr = new Array();
|
|
|
|
+ let imageMap = new Map();
|
|
|
|
+ data.forEach((imageUrl) => {
|
|
|
|
+ pArr.push(
|
|
|
|
+ new Promise((res, rej) => {
|
|
|
|
+ req
|
|
|
|
+ .getImageData(imageUrl)
|
|
|
|
+ .then(async (result) => {
|
|
|
|
+ if (result.type === 'application/octet-stream') {
|
|
|
|
+ let arraybuffer = await result.arrayBuffer();
|
|
|
|
+ imageMap.set(imageUrl, arraybuffer);
|
|
|
|
+ }
|
|
|
|
+ res(true);
|
|
|
|
+ })
|
|
|
|
+ .catch((err) => {
|
|
|
|
+ res(true);
|
|
|
|
+ });
|
|
|
|
+ }),
|
|
|
|
+ );
|
|
|
|
+ });
|
|
|
|
+ Promise.all(pArr)
|
|
|
|
+ .then(() => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetImageData(imageMap);
|
|
|
|
+ })
|
|
|
|
+ .catch((error) => {
|
|
|
|
+ console.error(error);
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtLoadImageList = () => {
|
|
|
|
+ req.getImageList().then((res) => {
|
|
|
|
+ res.forEach((image) => {
|
|
|
|
+ let path = image.completePath + image.name;
|
|
|
|
+ image.completePath = path;
|
|
|
|
+ req.getImageSrc(path).then((imageData) => {
|
|
|
|
+ let item = {
|
|
|
|
+ name: image.name,
|
|
|
|
+ data: imageData,
|
|
|
|
+ completePath: image.completePath,
|
|
|
|
+ };
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetImageList(item);
|
|
});
|
|
});
|
|
});
|
|
});
|
|
- };
|
|
|
|
- ZwCloud2D.ZwMessageCallback.ZwEvtPlotDwg = (data) => {
|
|
|
|
- let params = Object.assign(data.params, { dwgPath: dwgPath });
|
|
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtPlotDwg = (data) => {
|
|
|
|
+ let params = Object.assign(data.params, { dwgPath: dwgPath });
|
|
|
|
+ if (enableSign) {
|
|
|
|
+ params.docId = 0;
|
|
|
|
+ let { isZwPlot } = data.params;
|
|
|
|
+ if (isZwPlot) {
|
|
|
|
+ req
|
|
|
|
+ .getSignBatchPlotData(params)
|
|
|
|
+ .then((res) => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetPlotData(data, res);
|
|
|
|
+ ZwCloud2D.ZwEditor.ZwSetLoadingState(false);
|
|
|
|
+ })
|
|
|
|
+ .catch((error) => {
|
|
|
|
+ console.error(error);
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ req
|
|
|
|
+ .getSignPlotData(params)
|
|
|
|
+ .then((res) => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetPlotData(data, res);
|
|
|
|
+ ZwCloud2D.ZwEditor.ZwSetLoadingState(false);
|
|
|
|
+ })
|
|
|
|
+ .catch((error) => {
|
|
|
|
+ console.error(error);
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
req
|
|
req
|
|
.getPlotData(params)
|
|
.getPlotData(params)
|
|
.then((res) => {
|
|
.then((res) => {
|
|
@@ -318,148 +943,308 @@ ZwCloud2D.ZwDataProcessor.ZwLoad = () => {
|
|
.catch((error) => {
|
|
.catch((error) => {
|
|
console.error(error);
|
|
console.error(error);
|
|
});
|
|
});
|
|
- };
|
|
|
|
- ZwCloud2D.ZwEditor.ZwSetUserOptions({ panel: { commentPanel: false } });
|
|
|
|
- req
|
|
|
|
- .getPermissionList()
|
|
|
|
- .then((data) => {
|
|
|
|
- ZwCloud2D.ZwDataManager.ZwSetSdkPermission(data);
|
|
|
|
- })
|
|
|
|
- .catch((error) => {
|
|
|
|
- console.error(error);
|
|
|
|
- });
|
|
|
|
- if (!dwgPath) return;
|
|
|
|
- req
|
|
|
|
- .transferDoc()
|
|
|
|
- .then((data) => {
|
|
|
|
- // 显示当前布局的数据
|
|
|
|
- let layouts = [];
|
|
|
|
- data.layouts.forEach((layout) => {
|
|
|
|
- let res = {
|
|
|
|
- handleId: layout.handleId,
|
|
|
|
- isDefault: layout.isDefault === 1 ? 'YES' : 'NO',
|
|
|
|
- name: layout.layoutName,
|
|
|
|
- tabOrder: layout.order,
|
|
|
|
- };
|
|
|
|
- layouts.push(res);
|
|
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtSignBlockData = (res) => {
|
|
|
|
+ let { type, data } = res;
|
|
|
|
+ switch (type) {
|
|
|
|
+ case signBlockOper.GetBlockData:
|
|
|
|
+ req.getBlockData({ dwgPath, drawFramePrefix: '' }).then((res) => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSignBlockData({ type, data: res });
|
|
});
|
|
});
|
|
- ZwCloud2D.ZwDataManager.ZwSetDwgInfo({
|
|
|
|
- id: docId,
|
|
|
|
- fonts: data.fontList,
|
|
|
|
- layouts: layouts,
|
|
|
|
- name: data.name,
|
|
|
|
- }).then((res) => {
|
|
|
|
- let pArr = [];
|
|
|
|
- let fontArr = [];
|
|
|
|
- res.missingFonts.forEach((fontName) => {
|
|
|
|
- let arr = fontName.split('.');
|
|
|
|
- let type = (arr[arr.length - 1] || '').toUpperCase();
|
|
|
|
-
|
|
|
|
- pArr.push(
|
|
|
|
- req.fontDownload(fontName).then(async (data) => {
|
|
|
|
- if (data.type === 'application/octet-stream') {
|
|
|
|
- let arraybuffer = await data.arrayBuffer();
|
|
|
|
- fontArr.push({
|
|
|
|
- name: fontName,
|
|
|
|
- type: type,
|
|
|
|
- data: arraybuffer,
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- }),
|
|
|
|
- );
|
|
|
|
- });
|
|
|
|
- Promise.all(pArr)
|
|
|
|
- .then(() => {
|
|
|
|
- ZwCloud2D.ZwDataManager.ZwSetFontDataList(fontArr).then(() => {
|
|
|
|
- req
|
|
|
|
- .getDisplayData(res.layout.handleId)
|
|
|
|
- .then((lmfInfo) => {
|
|
|
|
- if (res.timestamp === '')
|
|
|
|
- res.timestamp = new Date().getTime();
|
|
|
|
- ZwCloud2D.ZwDataManager.ZwSetDwgData(
|
|
|
|
- res.layout.handleId,
|
|
|
|
- lmfInfo,
|
|
|
|
- res.timestamp,
|
|
|
|
- );
|
|
|
|
- })
|
|
|
|
- .catch((error) => {
|
|
|
|
- console.error(error);
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- req
|
|
|
|
- .getXrefRelation()
|
|
|
|
- .then((xrefRelations) => {
|
|
|
|
- let xrefPromises = [];
|
|
|
|
- let srcMap = new Map();
|
|
|
|
- xrefRelations.forEach((xrefRelation) => {
|
|
|
|
- if (xrefRelation.foundPath) {
|
|
|
|
- xrefPromises.push(
|
|
|
|
- new Promise((res, rej) => {
|
|
|
|
- req
|
|
|
|
- .getXrefThumb(xrefRelation.foundPath)
|
|
|
|
- .then((xrefThumb) => {
|
|
|
|
- srcMap.set(xrefRelation.foundPath, xrefThumb);
|
|
|
|
- res(true);
|
|
|
|
- });
|
|
|
|
- }),
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- Promise.all(xrefPromises)
|
|
|
|
- .then(() => {
|
|
|
|
- let params = {
|
|
|
|
- docName: data.name,
|
|
|
|
- xrefRelations: xrefRelations,
|
|
|
|
- srcMap: srcMap,
|
|
|
|
- };
|
|
|
|
- ZwCloud2D.ZwDataManager.ZwSetXrefList(params);
|
|
|
|
- })
|
|
|
|
- .catch(() => {
|
|
|
|
- let params = {
|
|
|
|
- docName: data.name,
|
|
|
|
- xrefRelations: xrefRelations,
|
|
|
|
- srcMap: srcMap,
|
|
|
|
- };
|
|
|
|
- ZwCloud2D.ZwDataManager.ZwSetXrefList(params);
|
|
|
|
- });
|
|
|
|
- })
|
|
|
|
- .catch((error) => {
|
|
|
|
- console.error(error);
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- if (wsUrl) {
|
|
|
|
- let url =
|
|
|
|
- wsUrl +
|
|
|
|
- '/CadService?sub=' +
|
|
|
|
- Math.floor(Math.random() * 1000) +
|
|
|
|
- '&docId=' +
|
|
|
|
- docId +
|
|
|
|
- '&dwgPath=' +
|
|
|
|
- dwgPath;
|
|
|
|
- ZwCloud2D.ZwDataManager.ZwEntryEdit(url);
|
|
|
|
- }
|
|
|
|
|
|
+ break;
|
|
|
|
+ case signBlockOper.UploadSign:
|
|
|
|
+ case signBlockOper.UploadCert:
|
|
|
|
+ case signBlockOper.UploadDwg:
|
|
|
|
+ req.uploadSign(data).then((res) => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSignBlockData({ type, data: res });
|
|
|
|
+ });
|
|
|
|
+ break;
|
|
|
|
+ case signBlockOper.ConFirmEdit:
|
|
|
|
+ req.saveBlockData(data).then((res) => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSignBlockData({ type, data: res });
|
|
|
|
+ });
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtSignPanelOperation = (signId) => {
|
|
|
|
+ req.deleteSign(signId).then((result) => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwDeleteSignCallback(result);
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtLoadSignHistoryData = async (data) => {
|
|
|
|
+ req.getSignHistoryData({ dwgPath }).then((signHistory) => {
|
|
|
|
+ if (signHistory.length === 0) {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetSignHistoryData([]);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ let attrs = [];
|
|
|
|
+ let promiseList = [];
|
|
|
|
+ for (let i = 0; i < signHistory.length; i++) {
|
|
|
|
+ let block = signHistory[i];
|
|
|
|
+ let handleId = block.layoutHandle;
|
|
|
|
+ for (let j = 0; j < block.blockData.length; j++) {
|
|
|
|
+ let ref = block.blockData[j];
|
|
|
|
+ for (let k = 0; k < ref.refData.length; k++) {
|
|
|
|
+ let attr = ref.refData[k];
|
|
|
|
+ let vv = attr.attrVvector;
|
|
|
|
+ let uv = attr.attrUvector;
|
|
|
|
+ let lb = attr.attrInsertPoint;
|
|
|
|
+ let lt = [lb[0] + vv[0], lb[1] + vv[1], lb[2] + vv[2]];
|
|
|
|
+ let rb = [lb[0] + uv[0], lb[1] + uv[1], lb[2] + uv[2]];
|
|
|
|
+ let preAttr = attrs.find((atr) => atr.signId === attr.signId);
|
|
|
|
+ if (preAttr) {
|
|
|
|
+ preAttr.position.push({
|
|
|
|
+ id: attr.signId + '-' + handleId,
|
|
|
|
+ ptLeftBottom: lb,
|
|
|
|
+ ptLeftTop: lt,
|
|
|
|
+ ptRightBottom: rb,
|
|
});
|
|
});
|
|
- })
|
|
|
|
- .catch((error) => {
|
|
|
|
- console.error(error);
|
|
|
|
- });
|
|
|
|
|
|
+ } else {
|
|
|
|
+ attrs.push({
|
|
|
|
+ signId: attr.signId,
|
|
|
|
+ signTime: attr.signTime,
|
|
|
|
+ name: attr.attrName,
|
|
|
|
+ signType: attr.type,
|
|
|
|
+ creator: '',
|
|
|
|
+ position: [
|
|
|
|
+ {
|
|
|
|
+ id: attr.signId + '-' + handleId,
|
|
|
|
+ ptLeftBottom: lb,
|
|
|
|
+ ptLeftTop: lt,
|
|
|
|
+ ptRightBottom: rb,
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ signFileId: attr.signFileId,
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ promiseList = attrs.map((attr) => {
|
|
|
|
+ return req.downloadSign(attr.signFileId).then((imageData) => {
|
|
|
|
+ return {
|
|
|
|
+ ...attr,
|
|
|
|
+ signData: imageData,
|
|
|
|
+ };
|
|
});
|
|
});
|
|
- })
|
|
|
|
- .catch((error) => {
|
|
|
|
- ZwCloud2D.ZwEditor.ZwSetLoadingState(false);
|
|
|
|
-
|
|
|
|
- alert(error);
|
|
|
|
- let main = document.getElementById('main');
|
|
|
|
- main.style.display = 'unset';
|
|
|
|
- let mainMobile = document.getElementById('main-mobile');
|
|
|
|
- mainMobile.style.display = 'unset';
|
|
|
|
- let showDwgBtn = document.getElementById('showDwgBtn');
|
|
|
|
- let showFontBtn = document.getElementById('showFontBtn');
|
|
|
|
- showDwgBtn.style.display = 'none';
|
|
|
|
- showFontBtn.style.display = 'none';
|
|
|
|
-
|
|
|
|
- resizeCheck();
|
|
|
|
- window.addEventListener('resize', resizeCheck);
|
|
|
|
- console.error(error);
|
|
|
|
});
|
|
});
|
|
|
|
+
|
|
|
|
+ Promise.all(promiseList).then((res) => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetSignHistoryData(res);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtLoadDwgFile = () => {
|
|
|
|
+ req.getDwgFile().then((dwgFile) => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetDwgFileData(dwgFile);
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtGetTextStyleFont = (data) => {
|
|
|
|
+ req.getTextStyleFont(data).then((res) => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetTextStyleFont(res.data.name);
|
|
|
|
+ });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtUpdateCommentData = async (data) => {
|
|
|
|
+ let commentList = {
|
|
|
|
+ code: 0,
|
|
|
|
+ data: {
|
|
|
|
+ rows: [data.data],
|
|
|
|
+ },
|
|
|
|
+ };
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetCommentData({ commentList: commentList });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtFileOperate = async () => {
|
|
|
|
+ //模拟在移动端触发文件对比功能
|
|
|
|
+ ZwCloud2D.ZwMessageCallback.ZwEvtFileCompare({ state: 'enterFcmp' });
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtFileCompare = async (data) => {
|
|
|
|
+ if (data.state === 'enterFcmp') {
|
|
|
|
+ await ZwCloud2D.ZwDataProcessor.selectBaseDwgAndCompareDwg();
|
|
|
|
+
|
|
|
|
+ ZwCloud2D.ZwEditor.ZwSetLoadingState(true);
|
|
|
|
+
|
|
|
|
+ await req.getXrefRelation(sourcePath);
|
|
|
|
+
|
|
|
|
+ let fcmpInfo = await req
|
|
|
|
+ .transferFcmp({ sourcePath, compareFilePath })
|
|
|
|
+ .catch(() => {
|
|
|
|
+ ZwCloud2D.ZwMessageCallback.ZwEvtFileCompare({ state: 'exitFcmp' });
|
|
|
|
+ return Promise.reject('');
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ dwgPath = sourcePath;
|
|
|
|
+
|
|
|
|
+ let res = await ZwCloud2D.ZwDataManager.ZwSetFcmpDwgInfo(fcmpInfo);
|
|
|
|
+
|
|
|
|
+ await ZwCloud2D.ZwDataProcessor.ZwProcessFontData(res.missingFonts);
|
|
|
|
+
|
|
|
|
+ ZwCloud2D.ZwDataProcessor.ZwProcessXrefData(
|
|
|
|
+ sourcePath,
|
|
|
|
+ fcmpInfo.baseFileName,
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ let fcmpLmfArrayBuffer = await req.getFcmpDisplayData(
|
|
|
|
+ compareFilePath,
|
|
|
|
+ sourcePath,
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetFcmpDwgData(
|
|
|
|
+ res.layout.handleId,
|
|
|
|
+ fcmpLmfArrayBuffer,
|
|
|
|
+ res.timestamp || new Date().getTime(),
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ if (data.state === 'getFcmpRegenData') {
|
|
|
|
+ let fcmpInfo = await req.transferFcmp({
|
|
|
|
+ sourcePath,
|
|
|
|
+ compareFilePath,
|
|
|
|
+ ...data.params,
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ let fcmpLmfArrayBuffer = await req.getFcmpDisplayData(
|
|
|
|
+ compareFilePath,
|
|
|
|
+ sourcePath,
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetFcmpRegenData({
|
|
|
|
+ lmfData: fcmpLmfArrayBuffer,
|
|
|
|
+ ...fcmpInfo,
|
|
|
|
+ fcmpErrorFlag: 0,
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ if (data.state === 'exitFcmp') {
|
|
|
|
+ ZwCloud2D.ZwEditor.ZwSetLoadingState(true);
|
|
|
|
+
|
|
|
|
+ ZwCloud2D.ZwDataProcessor.ZwLoad();
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtGetLayoutHandle = async (data) => {
|
|
|
|
+ // 获取布局id
|
|
|
|
+ curHandleId = data;
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtLoadCommentData = async (data) => {
|
|
|
|
+ getCommentFunc(data);
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwMessageCallback.ZwEvtUpdateCommentData = async (data) => {
|
|
|
|
+ // 评论数据添加到评论面板样例
|
|
|
|
+ saveCommentFunc(data);
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+ZwCloud2D.ZwDataProcessor.ZwLoad = async () => {
|
|
|
|
+ try {
|
|
|
|
+ ZwCloud2D.ZwDataProcessor.ZwProcessAboutVersionData();
|
|
|
|
+
|
|
|
|
+ ZwCloud2D.ZwDataProcessor.ZwProcessPermissionData();
|
|
|
|
+
|
|
|
|
+ if (!dwgPath) return;
|
|
|
|
+
|
|
|
|
+ let data = await req.transferDoc(dwgPath);
|
|
|
|
+
|
|
|
|
+ docId = new Date().getTime().toString();
|
|
|
|
+
|
|
|
|
+ let layouts = [];
|
|
|
|
+ data.layouts.forEach((layout) => {
|
|
|
|
+ let res = {
|
|
|
|
+ handleId: layout.handleId,
|
|
|
|
+ isDefault: layout.isDefault === 1 ? 'YES' : 'NO',
|
|
|
|
+ name: layout.layoutName,
|
|
|
|
+ tabOrder: layout.order,
|
|
|
|
+ };
|
|
|
|
+ layouts.push(res);
|
|
|
|
+ if (layout.isDefault === 1) {
|
|
|
|
+ curHandleId = layout.handleId;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ let res = await ZwCloud2D.ZwDataManager.ZwSetDwgInfo({
|
|
|
|
+ id: docId,
|
|
|
|
+ fonts: data.fontList,
|
|
|
|
+ layouts: layouts,
|
|
|
|
+ name: data.name,
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ await ZwCloud2D.ZwDataProcessor.ZwProcessFontData(res.missingFonts);
|
|
|
|
+
|
|
|
|
+ ZwCloud2D.ZwDataProcessor.ZwProcessXrefData(dwgPath, data.name);
|
|
|
|
+
|
|
|
|
+ req
|
|
|
|
+ .getDisplayData(res.layout.handleId)
|
|
|
|
+ .then((lmfInfo) => {
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetDwgData(
|
|
|
|
+ res.layout.handleId,
|
|
|
|
+ lmfInfo,
|
|
|
|
+ res.timestamp || new Date().getTime(),
|
|
|
|
+ );
|
|
|
|
+ })
|
|
|
|
+ .catch((error) => {
|
|
|
|
+ console.error(error);
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ if (wsUrl) {
|
|
|
|
+ let url =
|
|
|
|
+ wsUrl +
|
|
|
|
+ '/CadService?sub=' +
|
|
|
|
+ Math.floor(Math.random() * 1000) +
|
|
|
|
+ '&docId=' +
|
|
|
|
+ docId +
|
|
|
|
+ '&dwgPath=' +
|
|
|
|
+ dwgPath;
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwEntryEdit(url);
|
|
|
|
+ }
|
|
|
|
+ } catch (error) {
|
|
|
|
+ ZwCloud2D.ZwEditor.ZwSetLoadingState(false);
|
|
|
|
+
|
|
|
|
+ alert(error);
|
|
|
|
+ let main = document.getElementById('main');
|
|
|
|
+ main.style.display = 'unset';
|
|
|
|
+ let mainMobile = document.getElementById('main-mobile');
|
|
|
|
+ mainMobile.style.display = 'unset';
|
|
|
|
+ let showDwgBtn = document.getElementById('showDwgBtn');
|
|
|
|
+ let showFontBtn = document.getElementById('showFontBtn');
|
|
|
|
+ showDwgBtn.style.display = 'none';
|
|
|
|
+ showFontBtn.style.display = 'none';
|
|
|
|
+
|
|
|
|
+ resizeCheck();
|
|
|
|
+ window.addEventListener('resize', resizeCheck);
|
|
|
|
+ console.error(error);
|
|
|
|
+ }
|
|
|
|
+};
|
|
|
|
+ZwCloud2D.ZwDataProcessor.ZwFcmpLoad = async () => {
|
|
|
|
+ ZwCloud2D.ZwDataProcessor.ZwProcessAboutVersionData();
|
|
|
|
+
|
|
|
|
+ ZwCloud2D.ZwDataProcessor.ZwProcessPermissionData();
|
|
|
|
+
|
|
|
|
+ await req.getXrefRelation(sourcePath);
|
|
|
|
+
|
|
|
|
+ let fcmpInfo = await req
|
|
|
|
+ .transferFcmp({ sourcePath, compareFilePath })
|
|
|
|
+ .catch(() => {
|
|
|
|
+ ZwCloud2D.ZwMessageCallback.ZwEvtFileCompare({ state: 'exitFcmp' });
|
|
|
|
+ return Promise.reject('');
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ dwgPath = sourcePath;
|
|
|
|
+
|
|
|
|
+ let res = await ZwCloud2D.ZwDataManager.ZwSetFcmpDwgInfo(fcmpInfo);
|
|
|
|
+
|
|
|
|
+ await ZwCloud2D.ZwDataProcessor.ZwProcessFontData(res.missingFonts);
|
|
|
|
+
|
|
|
|
+ ZwCloud2D.ZwDataProcessor.ZwProcessXrefData(
|
|
|
|
+ sourcePath,
|
|
|
|
+ fcmpInfo.baseFileName,
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ let fcmpLmfArrayBuffer = await req.getFcmpDisplayData(
|
|
|
|
+ compareFilePath,
|
|
|
|
+ sourcePath,
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
+ ZwCloud2D.ZwDataManager.ZwSetFcmpDwgData(
|
|
|
|
+ res.layout.handleId,
|
|
|
|
+ fcmpLmfArrayBuffer,
|
|
|
|
+ res.timestamp || new Date().getTime(),
|
|
|
|
+ );
|
|
};
|
|
};
|