合并画布代码

This commit is contained in:
X1627315083
2025-06-18 11:05:23 +08:00
parent 903c0ebdf5
commit 9c7fae36eb
118 changed files with 23633 additions and 8201 deletions

View File

@@ -32,7 +32,7 @@ export default defineComponent({
components:{
design,newPorject,chat
},
emits:['setTask','newProject'],
emits:['setTask','setNewProject'],
setup(props,{emit}) {
const store = useStore();
const route = useRoute()
@@ -98,6 +98,11 @@ export default defineComponent({
store.commit("setAllBoardDataChoose",{});
store.commit("clearShowSketchboard",{});
store.commit("clearAllCollection");
store.commit("clearAllCloudList");
let arr = ['moodBoard','printBoard','sketchBoard','colorBoard']
arr.forEach((item:any)=>{
store.commit("clearAllBoardData",item);
})
}
const getWorks = (id:any)=>{
let value:any = {
@@ -214,69 +219,81 @@ export default defineComponent({
// })
// }
const getCollection = (type:string,module:any)=>{
let moduleList = [] as any
if(type == 'design'){
moduleList = ["moodBoard", "printBoard", "colorBoard", "sketchBoard",'design','mannequin']
}else{
moduleList = ["printBoard", "colorBoard", "sketchBoard",'design','toProduct','relight','poseTransfer','mannequin',"patternMaking3D",'deReconstruction']
}
if(module)moduleList = [module]
let value:any = {
"id":data.selectObject.id,
"moduleList":moduleList,
}
Https.axiosPost(Https.httpUrls.getModuleContent,value).then(async (rv)=>{
historyChooseData(rv)//设置历史数据
if(rv.mannequin.length>0){
let arr = [] as any
rv.mannequin.forEach((item:any)=>{
arr.push({
url:item.url,
id:item.mannequinRelationId,
type:item.mannequinRelationType,
collectionElementId:item.collectionId
})
})
store.commit('setProbject',{model:arr})
}
let allBoardData = ['sketchBoard','moodBoard','printBoard','colorBoard']
// let allBoardData = ['sketchBoard','moodBoard','printBoard','colorBoard','toProduct','relight','poseTransfer','mannequin']
if(module){
let canvasData = ['canvas','deReconstruction']
for (let index = 0; index < canvasData.length; index++) {
const item = canvasData[index];
await getCanvasData(item)
}
}
// await setitemData(allBoardData)
//还有一个canvas
if(rv.boundingBox)store.commit('setShowSketchboard',rv.boundingBox)
allBoardData.forEach((item)=>{
let value = {
type:item,
objectName:data.selectObject.type,
}
let arr = ['sketchBoard','moodBoard','printBoard','colorBoard']
if(arr.indexOf(item) != -1){
// store.dispatch('setAllBoardData',value)
}else{
store.dispatch('setModularData',value)
}
})
data.isShowMark = false
data.dataLoad = false
return new Promise((resolve, reject) => {
let moduleList = [] as any
if(type == 'design'){
nextTick(()=>{
dataDom.design.openSetData()
})
moduleList = ["moodBoard", "printBoard", "colorBoard", "sketchBoard",'design','mannequin']
}else{
moduleList = ["printBoard", "colorBoard", "sketchBoard",'design','toProduct','relight','poseTransfer','mannequin',"patternMaking3D",'deReconstruction','uploadElement']
}
}).catch(()=>{
data.isShowMark = false
data.dataLoad = false
if(module)moduleList = [module]
let value:any = {
"id":data.selectObject.id,
"moduleList":moduleList,
}
Https.axiosPost(Https.httpUrls.getModuleContent,value).then(async (rv)=>{
if(rv.uploadElement){//toproduct、relight、poseTransfer
let uploadElementData = {
str:'add',
list:rv.uploadElement,
}
store.commit('setUploadElement',uploadElementData)
}
historyChooseData(rv)//设置历史数据
if(rv.mannequin.length>0){
let arr = [] as any
rv.mannequin.forEach((item:any)=>{
arr.push({
url:item.url,
id:item.mannequinRelationId,
type:item.mannequinRelationType,
collectionElementId:item.collectionId
})
})
store.commit('setProbject',{model:arr})
}
let allBoardData = ['sketchBoard','moodBoard','printBoard','colorBoard']
// let allBoardData = ['sketchBoard','moodBoard','printBoard','colorBoard','toProduct','relight','poseTransfer','mannequin']
if(module){
let canvasData = ['canvas','deReconstruction']
for (let index = 0; index < canvasData.length; index++) {
const item = canvasData[index];
await getCanvasData(item)
}
}
// await setitemData(allBoardData)
//还有一个canvas
if(rv.boundingBox)store.commit('setShowSketchboard',rv.boundingBox)
allBoardData.forEach((item)=>{
let value = {
type:item,
objectName:data.selectObject.type,
}
let arr = ['sketchBoard','moodBoard','printBoard','colorBoard']
if(arr.indexOf(item) != -1){
// store.dispatch('setAllBoardData',value)
}else{
store.dispatch('setModularData',value)
}
})
data.isShowMark = false
data.dataLoad = false
if(type == 'design'){
nextTick(()=>{
dataDom.design.openSetData()
})
}
resolve('')
}).catch(()=>{
data.isShowMark = false
data.dataLoad = false
resolve('')
})
})
}
const getCanvasData = (str:any)=>{
return new Promise((resolve, reject) => {
@@ -312,7 +329,7 @@ export default defineComponent({
),
generatePrintFiles: [],
colorBoards: dealViewChooseColor(
dataValue.colorBoard
dataValue.colorBoard
),
sketchboardFiles: dealViewChooseData(
dataValue.sketchBoard,"Sketchboard"
@@ -320,7 +337,7 @@ export default defineComponent({
};
if(dataValue.moodBoard?.moodTemplateId)store.commit("setMoodTemplateId", dataValue.moodBoard.moodTemplateId);
store.commit("setAllBoardDataChoose", collectionData);
store.commit("setShowSketchboard", dataValue.sketchBoards);
if(dataValue.sketchBoards)store.commit("setShowSketchboard", dataValue.sketchBoards);
let likeDesignCollectionList:any = []
if(dataValue.design?.userLikeDetails){
dataValue.design?.userLikeDetails.map(
@@ -355,7 +372,8 @@ export default defineComponent({
}
if(dataValue.poseTransfer){
let value = {
list: dataValue.poseTransfer,
list:dataValue.poseTransfer.list,
likedList:dataValue.poseTransfer.likedList,
str:'add',
index:-1,
}
@@ -363,6 +381,7 @@ export default defineComponent({
}
if(dataValue.patternMaking3D){
let patternMaking3DData = {
collectionElementId:dataValue.patternMaking3D.collectionElementId,
threeDSimpleId:dataValue.patternMaking3D.threeDSimpleId,
url:dataValue.patternMaking3D.printMinioUrl,
printMinioUrl:getMinioUrl(dataValue.patternMaking3D.printMinioUrl),
@@ -428,16 +447,53 @@ export default defineComponent({
});
return colorList;
}
let queue = [] as any
let start = false
const chatChange = (value:any)=>{
if(value.type == 'design_control_signal' && dataDom.design){
dataDom.design.designNewCollection()
queue.push(
{
type:'design',
fun:dataDom.design.designNewCollection,
}
)
// dataDom.design.designNewCollection()
}else{
getCollection('design',value.module)
queue.push(
{
type:'promise',
fun:getCollection,
module:value.module,
str:'design'
}
)
// getCollection('design',value.module)
}
if(!start){
startQueue()
}
}
const startQueue = async ()=>{
start = true
if(queue[0].type){
if(queue[0].type == 'promise'){
await queue[0].fun(queue[0].str,queue[0].module)
}else{
await queue[0].fun()
}
queue.splice(0,1)
}
if(queue.length>0){
startQueue()
}else{
start = false
}
}
const newProject = (value:any)=>{
settingGetHistory()
router.push(`home?history=${value.id}`)
emit('setNewProject')
router.push(`home?history=${value.id}&create=true`)
data.chatData = value
}