Merge branch 'dev_vite' of ssh://18.167.251.121:10002/aidlab/aida_front into dev_vite

This commit is contained in:
2026-01-20 16:41:41 +08:00
5 changed files with 22 additions and 10 deletions

View File

@@ -425,6 +425,7 @@ export class PartManager {
// this.partGroup.add(path); // this.partGroup.add(path);
this.canvas.add(path); this.canvas.add(path);
this.canvas.renderAll(); this.canvas.renderAll();
this.clearPart();
} }
/** 清空点位 */ /** 清空点位 */
clearPart() { clearPart() {

View File

@@ -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,
@@ -197,11 +198,14 @@
const cwidth = canvas.width; const cwidth = canvas.width;
const cheight = canvas.height; const cheight = canvas.height;
let image = await urlToCanvas(item.path); let image = await urlToCanvas(item.path);
let offsetX = item.location[0];
let offsetY = item.location[1];
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 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,
}); });

View File

@@ -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
}) })

View File

@@ -900,13 +900,14 @@ export default defineComponent({
} }
const inputFillOffset = (offset:any)=>{ const inputFillOffset = (offset:any)=>{
let arr = editPrintElementData.printStyleList[props.type].overall let arr = editPrintElementData.printStyleList[props.type].overall
arr[editPrintElementData.imgDomIndex].location = [offset.left * offset.size[0] / 100,offset.top * offset.size[1] / 100] let location = [offset.left * offset.size[0] / 100,offset.top * offset.size[1] / 100]
arr[editPrintElementData.imgDomIndex].location = location
editPrintElementDom.pingpuRef.updataList([ editPrintElementDom.pingpuRef.updataList([
{ {
action: ACTIONS.UPDATE, action: ACTIONS.UPDATE,
token: arr[editPrintElementData.imgDomIndex].token, token: arr[editPrintElementData.imgDomIndex].token,
key: 'location[0]', key: 'location[0]',
value: offset.left, value: location[0],
}, },
]); ]);
editPrintElementDom.pingpuRef.updataList([ editPrintElementDom.pingpuRef.updataList([
@@ -914,7 +915,7 @@ export default defineComponent({
action: ACTIONS.UPDATE, action: ACTIONS.UPDATE,
token: arr[editPrintElementData.imgDomIndex].token, token: arr[editPrintElementData.imgDomIndex].token,
key: 'location[1]', key: 'location[1]',
value: offset.top, value: location[1],
}, },
]); ]);
// editPrintElementData.overallDetail.offsetX = offset.left // editPrintElementData.overallDetail.offsetX = offset.left

View File

@@ -92,6 +92,7 @@
let img = new Image(); let img = new Image();
let size = [0,0]; let size = [0,0];
img.src = props.sketchPath; img.src = props.sketchPath;
console.log(props.sketchPath)
await new Promise((resolve, reject) => { await new Promise((resolve, reject) => {
img.onload = () => { img.onload = () => {
size = [img.width, img.height] size = [img.width, img.height]