|
@@ -127,7 +127,7 @@ export const _save = async (
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
if (
|
|
if (
|
|
- vType === 'le5leV-components' &&
|
|
|
|
|
|
+ vType === 'v-components' &&
|
|
meta2d.store.active &&
|
|
meta2d.store.active &&
|
|
meta2d.store.active.length === 1 &&
|
|
meta2d.store.active.length === 1 &&
|
|
meta2d.store.active[0].name === 'combine'
|
|
meta2d.store.active[0].name === 'combine'
|
|
@@ -167,7 +167,7 @@ export const _save = async (
|
|
comData.name =
|
|
comData.name =
|
|
(meta2d.store.active[0] as any).description ||
|
|
(meta2d.store.active[0] as any).description ||
|
|
`meta2d.${new Date().toLocaleString()}`;
|
|
`meta2d.${new Date().toLocaleString()}`;
|
|
- let ret: any = await addCollection('le5leV-components', comData); // 新增
|
|
|
|
|
|
+ let ret: any = await addCollection('v-components', comData); // 新增
|
|
if (ret.error) {
|
|
if (ret.error) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -186,7 +186,7 @@ export const _save = async (
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
if (!data.tags.includes('系统模板') && !data.tags.includes('系统方案')) {
|
|
if (!data.tags.includes('系统模板') && !data.tags.includes('系统方案')) {
|
|
- if (vType === 'le5leV-template') {
|
|
|
|
|
|
+ if (vType === 'v-template') {
|
|
if (data.tags && !data.tags.includes('模板')) {
|
|
if (data.tags && !data.tags.includes('模板')) {
|
|
delete data._id;
|
|
delete data._id;
|
|
delete data.id;
|
|
delete data.id;
|
|
@@ -244,7 +244,7 @@ export const _save = async (
|
|
// }, 1000);
|
|
// }, 1000);
|
|
}
|
|
}
|
|
// setTimeout(async () => {
|
|
// setTimeout(async () => {
|
|
- if (data.component || vType === 'le5leV-components') {
|
|
|
|
|
|
+ if (data.component || vType === 'v-components') {
|
|
data.component = true;
|
|
data.component = true;
|
|
// pens 存储原数据用于二次编辑 ; componentDatas 组合后的数据,用于复用
|
|
// pens 存储原数据用于二次编辑 ; componentDatas 组合后的数据,用于复用
|
|
data.componentDatas = meta2d.toComponent(
|
|
data.componentDatas = meta2d.toComponent(
|
|
@@ -255,7 +255,7 @@ export const _save = async (
|
|
} else {
|
|
} else {
|
|
data.component = false; // 必要值
|
|
data.component = false; // 必要值
|
|
}
|
|
}
|
|
- let collection = data.component ? 'le5leV-components' : 'le5leV';
|
|
|
|
|
|
+ let collection = data.component ? 'v-components' : 'v';
|
|
let ret: any;
|
|
let ret: any;
|
|
if (!data.name) {
|
|
if (!data.name) {
|
|
// 文件名称
|
|
// 文件名称
|
|
@@ -274,7 +274,7 @@ export const _save = async (
|
|
if (!folder._id) {
|
|
if (!folder._id) {
|
|
let type = vType;
|
|
let type = vType;
|
|
if (!type) {
|
|
if (!type) {
|
|
- type = 'le5leV';
|
|
|
|
|
|
+ type = 'v';
|
|
}
|
|
}
|
|
let folderRet: any = await axios.post('/api/data/folders/get', {
|
|
let folderRet: any = await axios.post('/api/data/folders/get', {
|
|
query: {
|
|
query: {
|
|
@@ -357,12 +357,12 @@ export const _save = async (
|
|
router.currentRoute.value.query.version ||
|
|
router.currentRoute.value.query.version ||
|
|
type === SaveType.SaveAs // 另存为肯定走新增,也会产生新的 id
|
|
type === SaveType.SaveAs // 另存为肯定走新增,也会产生新的 id
|
|
) {
|
|
) {
|
|
- data._id = ret._id;
|
|
|
|
- (meta2d.store.data as Meta2dBackData)._id = data._id;
|
|
|
|
|
|
+ data.id = ret.id;
|
|
|
|
+ (meta2d.store.data as Meta2dBackData).id = data.id;
|
|
router.replace({
|
|
router.replace({
|
|
path: '/',
|
|
path: '/',
|
|
query: {
|
|
query: {
|
|
- id: data._id,
|
|
|
|
|
|
+ id: data.id,
|
|
r: Date.now() + '',
|
|
r: Date.now() + '',
|
|
c: data.component ? 1 : undefined,
|
|
c: data.component ? 1 : undefined,
|
|
},
|
|
},
|
|
@@ -376,7 +376,7 @@ export const _save = async (
|
|
return true;
|
|
return true;
|
|
// }, 2000);
|
|
// }, 2000);
|
|
};
|
|
};
|
|
-
|
|
|
|
|
|
+// TODO 保存图纸
|
|
export const save = async (
|
|
export const save = async (
|
|
type: SaveType = SaveType.Save,
|
|
type: SaveType = SaveType.Save,
|
|
vType?: string,
|
|
vType?: string,
|
|
@@ -395,13 +395,15 @@ export const save = async (
|
|
|
|
|
|
meta2d.stopAnimate();
|
|
meta2d.stopAnimate();
|
|
const data: Meta2dBackData = meta2d.data();
|
|
const data: Meta2dBackData = meta2d.data();
|
|
|
|
+ console.log('data',deepClone(data))
|
|
if (!(user && user.id)) {
|
|
if (!(user && user.id)) {
|
|
MessagePlugin.warning(noLoginTip);
|
|
MessagePlugin.warning(noLoginTip);
|
|
localforage.setItem(localStorageName, JSON.stringify(data));
|
|
localforage.setItem(localStorageName, JSON.stringify(data));
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
+ // 保存为组件
|
|
if (
|
|
if (
|
|
- vType === 'le5leV-components' &&
|
|
|
|
|
|
+ vType === 'v-components' &&
|
|
meta2d.store.active &&
|
|
meta2d.store.active &&
|
|
meta2d.store.active.length === 1 &&
|
|
meta2d.store.active.length === 1 &&
|
|
meta2d.store.active[0].name === 'combine'
|
|
meta2d.store.active[0].name === 'combine'
|
|
@@ -442,7 +444,7 @@ export const save = async (
|
|
(meta2d.store.data as Meta2dBackData).showChild,
|
|
(meta2d.store.data as Meta2dBackData).showChild,
|
|
false
|
|
false
|
|
);
|
|
);
|
|
- let ret: any = await addCollection('le5leV-components', comData); // 新增
|
|
|
|
|
|
+ let ret: any = await addCollection('v-components', comData); // 新增
|
|
if (ret.error) {
|
|
if (ret.error) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -458,20 +460,21 @@ export const save = async (
|
|
) {
|
|
) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (!data.tags) {
|
|
|
|
- data.tags = [];
|
|
|
|
- }
|
|
|
|
- if (!data.tags.includes('系统模板') && !data.tags.includes('系统方案')) {
|
|
|
|
- if (vType === 'le5leV-template') {
|
|
|
|
|
|
+ if (
|
|
|
|
+ data.tags &&
|
|
|
|
+ !data.tags.includes('系统模板') &&
|
|
|
|
+ !data.tags.includes('系统方案')
|
|
|
|
+ ) {
|
|
|
|
+ if (vType === 'v-template') {
|
|
if (data.tags && !data.tags.includes('模板')) {
|
|
if (data.tags && !data.tags.includes('模板')) {
|
|
- delete data._id;
|
|
|
|
|
|
+ delete data.id;
|
|
delete data.id;
|
|
delete data.id;
|
|
delete data.folder;
|
|
delete data.folder;
|
|
}
|
|
}
|
|
data.tags = ['模板'];
|
|
data.tags = ['模板'];
|
|
} else if (!vType) {
|
|
} else if (!vType) {
|
|
if (data.tags && !data.tags.includes('方案')) {
|
|
if (data.tags && !data.tags.includes('方案')) {
|
|
- delete data._id;
|
|
|
|
|
|
+ delete data.id;
|
|
delete data.id;
|
|
delete data.id;
|
|
delete data.folder;
|
|
delete data.folder;
|
|
}
|
|
}
|
|
@@ -479,9 +482,9 @@ export const save = async (
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const thumbFolder =
|
|
const thumbFolder =
|
|
- vType === 'le5leV-template'
|
|
|
|
|
|
+ vType === 'v-template'
|
|
? '模板'
|
|
? '模板'
|
|
- : vType === 'le5leV-components'
|
|
|
|
|
|
+ : vType === 'v-components'
|
|
? '组件'
|
|
? '组件'
|
|
: '方案';
|
|
: '方案';
|
|
if (type === SaveType.SaveAs) {
|
|
if (type === SaveType.SaveAs) {
|
|
@@ -513,17 +516,20 @@ export const save = async (
|
|
);
|
|
);
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (data._id && type === SaveType.Save) {
|
|
|
|
|
|
+ let conflict = undefined;
|
|
|
|
+ console.log()
|
|
|
|
+ if (data.id && type === SaveType.Save) {
|
|
if (data.image && !(await delImage(data.image))) {
|
|
if (data.image && !(await delImage(data.image))) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- const file = await upload(
|
|
|
|
|
|
+ const file:any = await upload(
|
|
blob,
|
|
blob,
|
|
- true,
|
|
|
|
- data.name,
|
|
|
|
- `/大屏/${thumbFolder}/${data.folder || '默认'}`
|
|
|
|
|
|
+ // true,
|
|
|
|
+ data.image?.split('/').pop() || data.name,
|
|
|
|
+ `/大屏/${thumbFolder}/${data.folder || '默认'}`,
|
|
|
|
+ conflict
|
|
);
|
|
);
|
|
if (!file) {
|
|
if (!file) {
|
|
return;
|
|
return;
|
|
@@ -535,7 +541,7 @@ export const save = async (
|
|
(meta2d.store.data as Meta2dBackData).image = data.image;
|
|
(meta2d.store.data as Meta2dBackData).image = data.image;
|
|
(meta2d.store.data as Meta2dBackData).filename = data.filename;
|
|
(meta2d.store.data as Meta2dBackData).filename = data.filename;
|
|
}
|
|
}
|
|
- if (data.component || vType === 'le5leV-components') {
|
|
|
|
|
|
+ if (data.component || vType === 'v-components') {
|
|
data.component = true;
|
|
data.component = true;
|
|
// pens 存储原数据用于二次编辑 ; componentDatas 组合后的数据,用于复用
|
|
// pens 存储原数据用于二次编辑 ; componentDatas 组合后的数据,用于复用
|
|
data.componentDatas = meta2d.toComponent(
|
|
data.componentDatas = meta2d.toComponent(
|
|
@@ -546,7 +552,7 @@ export const save = async (
|
|
} else {
|
|
} else {
|
|
data.component = false; // 必要值
|
|
data.component = false; // 必要值
|
|
}
|
|
}
|
|
- let collection = data.component ? 'le5leV-components' : 'le5leV';
|
|
|
|
|
|
+ let collection = data.component ? 'v-components' : 'v';
|
|
let ret: any;
|
|
let ret: any;
|
|
|
|
|
|
!data.version && (data.version = baseVer);
|
|
!data.version && (data.version = baseVer);
|
|
@@ -554,7 +560,13 @@ export const save = async (
|
|
if (!data.folder) {
|
|
if (!data.folder) {
|
|
data.folder = ''; // folder.name;
|
|
data.folder = ''; // folder.name;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ const body = {
|
|
|
|
+ data,
|
|
|
|
+ image:data.image,
|
|
|
|
+ name:data.name,
|
|
|
|
+ folder:data.folder,
|
|
|
|
+ shared:true
|
|
|
|
+ }
|
|
if (type === SaveType.SaveAs) {
|
|
if (type === SaveType.SaveAs) {
|
|
// 另存为一定走 新增 ,由于后端 未控制 userId 等属性,清空一下
|
|
// 另存为一定走 新增 ,由于后端 未控制 userId 等属性,清空一下
|
|
for (const k of delAttrs) {
|
|
for (const k of delAttrs) {
|
|
@@ -570,30 +582,28 @@ export const save = async (
|
|
// delete data.folder;
|
|
// delete data.folder;
|
|
// ret = await updateCollection(collection, data);
|
|
// ret = await updateCollection(collection, data);
|
|
// } else
|
|
// } else
|
|
- if (data._id) {
|
|
|
|
- ret = await updateCollection(collection, data);
|
|
|
|
|
|
+ if (data.id) {
|
|
|
|
+ ret = await updateCollection(collection, {id:data.id,...body});
|
|
} else {
|
|
} else {
|
|
- ret = await addCollection(collection, data); // 新增
|
|
|
|
|
|
+ ret = await addCollection(collection, body); // 新增
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
if (ret.error) {
|
|
if (ret.error) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
// 保存图纸之后的钩子函数
|
|
// 保存图纸之后的钩子函数
|
|
globalThis.afterSaveMeta2d && (await globalThis.afterSaveMeta2d(ret));
|
|
globalThis.afterSaveMeta2d && (await globalThis.afterSaveMeta2d(ret));
|
|
if (
|
|
if (
|
|
- !data._id ||
|
|
|
|
- data.owner?.id !== user.id ||
|
|
|
|
|
|
+ !data.id ||
|
|
router.currentRoute.value.query.version ||
|
|
router.currentRoute.value.query.version ||
|
|
type === SaveType.SaveAs // 另存为肯定走新增,也会产生新的 id
|
|
type === SaveType.SaveAs // 另存为肯定走新增,也会产生新的 id
|
|
) {
|
|
) {
|
|
- data._id = ret._id;
|
|
|
|
- (meta2d.store.data as Meta2dBackData)._id = data._id;
|
|
|
|
|
|
+ data.id = ret.id;
|
|
|
|
+ (meta2d.store.data as Meta2dBackData).id = data.id;
|
|
router.replace({
|
|
router.replace({
|
|
path: '/',
|
|
path: '/',
|
|
query: {
|
|
query: {
|
|
- id: data._id,
|
|
|
|
|
|
+ id: data.id,
|
|
r: Date.now() + '',
|
|
r: Date.now() + '',
|
|
c: data.component ? 1 : undefined,
|
|
c: data.component ? 1 : undefined,
|
|
},
|
|
},
|
|
@@ -682,7 +692,7 @@ export function autoSave(force = false) {
|
|
) {
|
|
) {
|
|
let _vType = '';
|
|
let _vType = '';
|
|
if (data.tags.includes('模板')) {
|
|
if (data.tags.includes('模板')) {
|
|
- _vType = 'le5leV-template';
|
|
|
|
|
|
+ _vType = 'v-template';
|
|
}
|
|
}
|
|
save(SaveType.Save, _vType);
|
|
save(SaveType.Save, _vType);
|
|
} else {
|
|
} else {
|