平铺不可以添加相同的token
This commit is contained in:
@@ -145,7 +145,7 @@
|
|||||||
const onDeleteItem = (object) => {
|
const onDeleteItem = (object) => {
|
||||||
const list = [{ token: object.token, action: ACTIONS.DELETE }];
|
const list = [{ token: object.token, action: ACTIONS.DELETE }];
|
||||||
emit("change-canvas", list);
|
emit("change-canvas", list);
|
||||||
canvas.remove(object);
|
DeleteItemByToken(object.token);
|
||||||
canvas.renderAll();
|
canvas.renderAll();
|
||||||
};
|
};
|
||||||
const urlToCanvas = (url) => {
|
const urlToCanvas = (url) => {
|
||||||
@@ -177,11 +177,12 @@
|
|||||||
canvas.renderAll();
|
canvas.renderAll();
|
||||||
};
|
};
|
||||||
const addObject = async (item) => {
|
const addObject = async (item) => {
|
||||||
|
const token = item.token;
|
||||||
const cwidth = canvas.width;
|
const cwidth = canvas.width;
|
||||||
const cheight = canvas.height;
|
const cheight = canvas.height;
|
||||||
let pattern = await setFill(item);
|
let pattern = await setFill(item);
|
||||||
let rect = new fabric.Rect({
|
let rect = new fabric.Rect({
|
||||||
token: item.token,
|
token: token,
|
||||||
width: cwidth,
|
width: cwidth,
|
||||||
height: cheight,
|
height: cheight,
|
||||||
fill: pattern,
|
fill: pattern,
|
||||||
@@ -200,8 +201,11 @@
|
|||||||
let scaleX = ((cwidth / image.width) * item.scale[0]) / 5;
|
let scaleX = ((cwidth / image.width) * item.scale[0]) / 5;
|
||||||
let scaleY = ((cheight / image.height) * item.scale[1]) / 5;
|
let scaleY = ((cheight / image.height) * item.scale[1]) / 5;
|
||||||
let scale = cwidth > cheight ? scaleX : scaleY;
|
let scale = cwidth > cheight ? scaleX : scaleY;
|
||||||
let offsetX = item.location[0] * cwidth / props.width - (image.width * scale) / 2;
|
let offsetX =
|
||||||
let offsetY = item.location[1] * cheight / props.height - (image.height * scale) / 2;
|
(item.location[0] * cwidth) / props.width - (image.width * scale) / 2;
|
||||||
|
let offsetY =
|
||||||
|
(item.location[1] * cheight) / props.height -
|
||||||
|
(image.height * scale) / 2;
|
||||||
let angle = item.angle;
|
let angle = item.angle;
|
||||||
let gapX = item.object.gapX;
|
let gapX = item.object.gapX;
|
||||||
let gapY = item.object.gapY;
|
let gapY = item.object.gapY;
|
||||||
@@ -298,9 +302,9 @@
|
|||||||
list.value = list_;
|
list.value = list_;
|
||||||
canvas.renderAll();
|
canvas.renderAll();
|
||||||
} else if (item.action === ACTIONS.DELETE) {
|
} else if (item.action === ACTIONS.DELETE) {
|
||||||
list.value = list.value.filter((v) => v.token !== item.token);
|
DeleteItemByToken(item.token);
|
||||||
if (object) canvas.remove(object);
|
|
||||||
} else if (item.action === ACTIONS.ADD) {
|
} else if (item.action === ACTIONS.ADD) {
|
||||||
|
DeleteItemByToken(item.token);
|
||||||
list.value.push(item.data);
|
list.value.push(item.data);
|
||||||
await addObject(item.data);
|
await addObject(item.data);
|
||||||
}
|
}
|
||||||
@@ -309,6 +313,12 @@
|
|||||||
};
|
};
|
||||||
taskQueue.addTask(async () => await cd(list_));
|
taskQueue.addTask(async () => await cd(list_));
|
||||||
};
|
};
|
||||||
|
/** 删除 */
|
||||||
|
const DeleteItemByToken = (token) => {
|
||||||
|
list.value = list.value.filter((v) => v.token !== token);
|
||||||
|
const objects = canvas.getObjects().filter((o) => o.token === token);
|
||||||
|
objects.forEach((o) => canvas.remove(o));
|
||||||
|
};
|
||||||
defineExpose({
|
defineExpose({
|
||||||
updataList,
|
updataList,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -185,7 +185,6 @@ export default defineComponent({
|
|||||||
width:props.sketchSize.width,
|
width:props.sketchSize.width,
|
||||||
height:props.sketchSize.height,
|
height:props.sketchSize.height,
|
||||||
}).then((rv)=>{
|
}).then((rv)=>{
|
||||||
console.log(rv,'================',props.sketchSize)
|
|
||||||
if(oldSelectDetail?.partialDesign)oldSelectDetail.partialDesign.partialDesignBase64 = rv
|
if(oldSelectDetail?.partialDesign)oldSelectDetail.partialDesign.partialDesignBase64 = rv
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user