From 318fcc634f07682020534ade8384bfe25828973a Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Fri, 20 Jun 2025 11:36:44 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E5=88=86bug=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=92=8C=E5=AF=B9=E8=AF=9D=E4=B8=AD=E7=9A=84=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E8=BF=87=E6=9C=9F=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/style/style.css | 10 +- src/assets/style/style.less | 10 +- .../DetailCopy/detailLeft/colorBox/index.vue | 2 + src/component/HomePage/Generate.vue | 23 ++- src/component/HomePage/selectImgList.vue | 2 +- src/component/home/batchGeneration/index.vue | 30 +-- src/component/home/chat/index.vue | 32 +++- src/component/home/design/collection.vue | 2 +- .../design/collection/ColorboardUpload.vue | 16 +- .../home/design/editDesignType/index.vue | 13 +- src/component/home/design/index.vue | 107 +++++++++-- src/component/home/design/tools.vue | 181 ++++++++++++++++++ src/component/home/index.vue | 1 + src/component/home/newProject/index.vue | 9 +- .../home/tools/patternMaking3D/index.vue | 5 +- .../home/tools/poseTransfer/index.vue | 28 ++- src/component/home/tools/toProduct/index.vue | 81 ++++---- src/component/modules/generalDrag.vue | 3 +- src/tool/https.js | 1 + src/views/HomeMain.vue | 26 +-- src/views/HomeView/library.vue | 28 ++- 21 files changed, 477 insertions(+), 133 deletions(-) create mode 100644 src/component/home/design/tools.vue diff --git a/src/assets/style/style.css b/src/assets/style/style.css index 1ce865f0..cc723b4a 100644 --- a/src/assets/style/style.css +++ b/src/assets/style/style.css @@ -1943,7 +1943,7 @@ textarea:focus { .accountEdit_page .input_border .input_box_btnBox.sketch .upload_item, .generalMenu_printModel_upload .input_border .input_box_btnBox.sketch .upload_item, .generate .input_border .input_box_btnBox.sketch .upload_item { - width: 6rem; + width: 8rem; } .collection_modal_body .input_border .input_box_btnBox.sketch .upload_item .upload_file_item, .design_detail_modal_component .input_border .input_box_btnBox.sketch .upload_item .upload_file_item, @@ -1954,8 +1954,8 @@ textarea:focus { .accountEdit_page .input_border .input_box_btnBox.sketch .upload_item .upload_file_item, .generalMenu_printModel_upload .input_border .input_box_btnBox.sketch .upload_item .upload_file_item, .generate .input_border .input_box_btnBox.sketch .upload_item .upload_file_item { - height: 6rem; - width: 6rem; + height: 8rem; + width: 8rem; } .collection_modal_body .input_border .input_box_btnBox > .textarea, .design_detail_modal_component .input_border .input_box_btnBox > .textarea, @@ -2248,9 +2248,11 @@ textarea:focus { margin-left: 2rem; display: flex; font-size: 1.6rem; - padding: 1rem 2rem; box-sizing: content-box; justify-content: center; + padding: 0 2rem; + line-height: 5.4rem; + height: 5.4rem; } .generage_btn_box .generage_btn { width: 10rem; diff --git a/src/assets/style/style.less b/src/assets/style/style.less index 9f921e86..4a4a865c 100644 --- a/src/assets/style/style.less +++ b/src/assets/style/style.less @@ -2004,10 +2004,10 @@ textarea:focus{ border: none; background-color: rgba(0, 0, 0, 0); .upload_item{ - width: 6rem; + width: 8rem; .upload_file_item{ - height: 6rem; - width: 6rem; + height: 8rem; + width: 8rem; } } } @@ -2171,9 +2171,11 @@ textarea:focus{ margin-left: 2rem; display: flex; font-size: 1.6rem; - padding: 1rem 2rem; box-sizing: content-box; justify-content: center; + padding: 0 2rem; + line-height: 5.4rem; + height: 5.4rem; } .generage_btn{ width: 10rem; diff --git a/src/component/DetailCopy/detailLeft/colorBox/index.vue b/src/component/DetailCopy/detailLeft/colorBox/index.vue index c85f0371..a2fed3fc 100644 --- a/src/component/DetailCopy/detailLeft/colorBox/index.vue +++ b/src/component/DetailCopy/detailLeft/colorBox/index.vue @@ -273,6 +273,8 @@ export default defineComponent({ border: 2px solid #000; } >.box{ + width: 100%; + height: 100%; > .background{ flex: 1; height: 7rem; diff --git a/src/component/HomePage/Generate.vue b/src/component/HomePage/Generate.vue index 5c355e72..4bbd978a 100644 --- a/src/component/HomePage/Generate.vue +++ b/src/component/HomePage/Generate.vue @@ -131,13 +131,18 @@
-
+
-
{{ item.label }}
- +
{{ item.label }}
-
{{ item.label }}
+
{{ item.label }}
@@ -296,10 +301,6 @@ export default defineComponent({ ], extractList:[ { - title:'This method may produce slight discrepancies between the extracted line art and the original image.', - label:'High', - value:'', - },{ title:'Note: The extracted line art might have minor variations from the original.', label:'FLUX', value:'flux', @@ -323,13 +324,17 @@ export default defineComponent({ watch(()=>props.scene,(newVal,oldVal)=>{ if(newVal.value == 'extract'){ speed.speedData = speed.extractList[0] + }else if(newVal.value == 'Logo' || newVal.value == 'Slogan'){ + speed.speedData.value = '' + speed.speedData.label = '' }else{ speed.speedData = speed.speedList[0] } + speed.speedState = false }) const setSpeed = (item:any)=>{ - speed.speedData = item speed.speedState = false + speed.speedData = item } return { userDetail, diff --git a/src/component/HomePage/selectImgList.vue b/src/component/HomePage/selectImgList.vue index 836ca16e..4db0cffc 100644 --- a/src/component/HomePage/selectImgList.vue +++ b/src/component/HomePage/selectImgList.vue @@ -31,7 +31,7 @@
- +
diff --git a/src/component/home/batchGeneration/index.vue b/src/component/home/batchGeneration/index.vue index af9e1b02..38b05ff3 100644 --- a/src/component/home/batchGeneration/index.vue +++ b/src/component/home/batchGeneration/index.vue @@ -55,7 +55,7 @@
-
+
{{header?.fun?header.fun(row[header.value]) : row[header.value]}}
@@ -193,23 +193,25 @@ export default defineComponent({ },{ name:'Quantity generated', value:'nums', - },{ + }, + { name:'Creation time', - value:'updateTime', + value:'createTime', fun:(value:any)=>{ if(!value)return return value.split('T')[0] + ' ' + value.split('T')[1].split('.')[0] } - },{ + }, + { name:'Start time', - value:'updateTime', + value:'startTime', fun:(value:any)=>{ //没开始内容为 - if(!value)return return value.split('T')[0] + ' ' + value.split('T')[1].split('.')[0] } },{ - name:'End time', + name:'Update time', value:'updateTime', fun:(value:any)=>{ if(!value)return @@ -360,14 +362,14 @@ export default defineComponent({ },1000) } const submitGetContentList = (project:any)=>{ - data.isGetContentList = true - if(project){ - data.projectData = project - }else{ - data.projectData = null - } - data.currentPage = 1 - getContentList() + // data.isGetContentList = true + // if(project){ + // data.projectData = project + // }else{ + // data.projectData = null + // } + // data.currentPage = 1 + // getContentList() if(data.settingGetHistory)data.settingGetHistory() } const handleChange = (event:any,value:any)=>{ diff --git a/src/component/home/chat/index.vue b/src/component/home/chat/index.vue index e1d6a3c3..bd4965a5 100644 --- a/src/component/home/chat/index.vue +++ b/src/component/home/chat/index.vue @@ -9,7 +9,7 @@
-
+
@@ -29,7 +29,11 @@
- + + +
@@ -76,6 +80,7 @@ import { defineComponent,computed,ref,inject,nextTick,createVNode,toRefs, reactive, watch} from 'vue' import { ExclamationCircleOutlined } from '@ant-design/icons-vue'; import { Https } from "@/tool/https"; +import {getMinioUrl} from '@/tool/util' import { useStore } from "vuex"; import { Modal,message,Upload,CascaderProps } from 'ant-design-vue'; import { useI18n } from 'vue-i18n' @@ -157,7 +162,7 @@ export default defineComponent({ }else if(eventData.type == 'think'){ data.chatList[data.chatList.length-1].content.think+=eventData.content }else if(eventData.type == "tools_response"){ - let nameList = ['moodboard','printboard','sketchboard','generate_color_code'] + let nameList = ['moodboard','printboard','sketchboard','generate_color_code','search_sketch_img'] let nameData = { moodboard:'moodBoard', printboard:'printBoard', @@ -171,14 +176,17 @@ export default defineComponent({ getData = 'colorBoard' }else{ data.chatList[data.chatList.length-1].content.img = JSON.parse(JSON.parse(event.data).content).receiveCollectionElementList - getData = nameData[eventData.tools_name] + if(eventData.tools_name == 'search_sketch_img'){ + getData = 'sketchBoard' + }else{ + getData = nameData[eventData.tools_name] + } } data.chatList.push({content:{message:''},role:'system'}) }else if(eventData.tools_name == 'design_control_signal'){ emit('chatChange',{type:eventData.tools_name,design:true}) } emit('chatChange',{type:eventData.type,module:getData}) - } //emit('chatChange',{type:JSON.parse(event.data).status}) }; @@ -306,6 +314,19 @@ export default defineComponent({ const deleteFile = (item:any,index:number)=>{ data.filList.splice(index,1) } + const imgError = (item:any,index:number,imgIndex:number,event:any)=>{ + if(!item?.loadNum) item.loadNum = 0 + if(item?.loadNum >= 1)return + let value = { + path:getMinioUrl(item.minioUrl) + } + Https.axiosGet(Https.httpUrls.refreshMinioUrl,{params:value}).then((rv:any)=>{ + event.target.src = rv + item.loadNum += 1 + data.chatList[index].content.img[imgIndex].monioUrl = rv + }) + + } return{ ...toRefs(dataDom), ...toRefs(data), @@ -314,6 +335,7 @@ export default defineComponent({ openChattingRecords, handleFileUpload, deleteFile, + imgError, } }, provide() { diff --git a/src/component/home/design/collection.vue b/src/component/home/design/collection.vue index cab84381..503e3d93 100644 --- a/src/component/home/design/collection.vue +++ b/src/component/home/design/collection.vue @@ -94,7 +94,7 @@ export default defineComponent({ openType:'', collectionStep:1, selectObject:computed(()=>store.state.Workspace.probjects),//选择的项目 - createProbject:inject('createProbject') as any + createProbject:inject('createProbject',()=>{}) as any }) let driver__:any = computed(()=>{ diff --git a/src/component/home/design/collection/ColorboardUpload.vue b/src/component/home/design/collection/ColorboardUpload.vue index 8bd4f40c..c56cc87e 100644 --- a/src/component/home/design/collection/ColorboardUpload.vue +++ b/src/component/home/design/collection/ColorboardUpload.vue @@ -806,8 +806,18 @@ export default defineComponent({ this.setColorboardList(colorList) }, setPrintImg(){ - let printImgListData = JSON.parse(JSON.stringify(this.store?.state?.UploadFilesModule.printboard)) - let moodImgListData = JSON.parse(JSON.stringify(this.store?.state?.UploadFilesModule.moodboard)) + let printImgListData = [] + if(this.store?.state?.UploadFilesModule.printboard == 0){ + printImgListData = JSON.parse(JSON.stringify(this.store?.state?.UploadFilesModule.allBoardData.printboardFiles)) + }else{ + printImgListData = JSON.parse(JSON.stringify(this.store?.state?.UploadFilesModule.printboard)) + } + let moodImgListData = [] + if(this.store?.state?.UploadFilesModule.printboard == 0){ + moodImgListData = JSON.parse(JSON.stringify(this.store?.state?.UploadFilesModule.allBoardData.moodboardFiles)) + }else{ + moodImgListData = JSON.parse(JSON.stringify(this.store?.state?.UploadFilesModule.moodboard)) + } let imgListData = [...moodImgListData,...printImgListData] if(imgListData?.length==0){ message.info(this.t('ColorboardUpload.jsContent6')) @@ -821,7 +831,7 @@ export default defineComponent({ setImgGetColor(data){ data.status = 'await' this.fileList[0] = data - fetch(data.imgUrl) + fetch(data.imgUrl || data.url) .then(response => response.blob()) .then(blob => { const reader = new FileReader(); diff --git a/src/component/home/design/editDesignType/index.vue b/src/component/home/design/editDesignType/index.vue index 423fdc72..7f683818 100644 --- a/src/component/home/design/editDesignType/index.vue +++ b/src/component/home/design/editDesignType/index.vue @@ -506,7 +506,8 @@ setup(props:any,{emit}) { status:productimg.generateSuccess.status, listType:productimg.generateSuccess.listType, isIndex:productimg.generateSuccess.isIndex, - userLikeSortId:productimg.generateSuccess.userLikeSortId + userLikeSortId:productimg.generateSuccess.userLikeSortId, + parentId:productimg.generateSuccess.parentId } emit('addGenerateImg',data) @@ -588,14 +589,16 @@ methods: { } // this. + console.log(list[index]) this.generateSuccess.userLikeSortId = list[index].userLikeSortId + this.generateSuccess.parentId = list[index].parentId this.generateSuccess.productimgIsProductimg = !!this.generateSuccess.productimgIsProductimg this.generateSuccess.productimgRemProductimg = !!this.generateSuccess.productimgRemProductimg this.generateSuccess.isShowMark = !!this.generateSuccess.isShowMark this.generateSuccess.remPrductimgTime = this.generateSuccess.remPrductimgTime?this.generateSuccess.remPrductimgTime:null this.generateSuccess.prductimgTime = this.generateSuccess.prductimgTime?this.generateSuccess.prductimgTime:null this.scaleImage = true - if(this.poseList.length == 0){ + if(this.poseList.length == 0 && list[index].type == 'PoseTransfer'){ this.getPoseList() } // if(status == 'edit'){ @@ -623,7 +626,11 @@ methods: { }else{ this.speedList = this.speedTypeList.toPorductImg } - this.speedData = JSON.parse(JSON.stringify(this.speedList[0])) + if(this.scaleImageList[index].resultType == "Relight"){ + this.speedData = JSON.parse(JSON.stringify(this.speedList[1])) + }else{ + this.speedData = JSON.parse(JSON.stringify(this.speedList[0])) + } // if(this.scaleImageList[index]?.resultType == 'ToProductImage')this.scaleImageList[index].sourceUrl = this.scaleImageList[index].imgUrl this.scaleImageIndex = index if(dialogueIndex)this.robotAssits = dialogueIndex diff --git a/src/component/home/design/index.vue b/src/component/home/design/index.vue index 19e6ed81..c8b486c5 100644 --- a/src/component/home/design/index.vue +++ b/src/component/home/design/index.vue @@ -37,9 +37,20 @@
+
+
+
+ Tools +
+
+
+
{{ item.label }}
+
+
+
+ @@ -250,6 +262,7 @@ }" @setGenerateAwait="setGenerateAwait" :isProductimg="true"> +
@@ -275,6 +288,7 @@ import { useI18n } from "vue-i18n"; import { getMousePosition } from "@/tool/mdEvent"; import { removeClass } from "element-plus/es/utils"; import collectionModal from './collection.vue' +import designTools from './tools.vue' const FileSaver = require("file-saver"); export default defineComponent({ @@ -287,6 +301,7 @@ export default defineComponent({ generalCanvas, DesignDetailcopy, editDesignType, + designTools, }, emits:['setTask'], activated() { @@ -383,7 +398,50 @@ export default defineComponent({ collectionModal:null as any, editDesignType:null as any, designBtn:null as any, + designTools:null as any, }) + //可使用的tools类型 + let speed = reactive({ + speedList:[ + { + label:'To Product Image', + value:'toProduct', + + },{ + label:'Transfer Pose', + value:'poseTransfer', + },{ + label:'Relight', + value:'relight', + }, + ], + speedState:false, + speedData:{ + label:'To Product Image', + value:'toProduct', + }, + }) + const openSpeed = ()=>{ + speed.speedState = !speed.speedState + if(speed.speedState){ + document.addEventListener('click',openSpeed) + }else{ + document.removeEventListener('click',openSpeed) + } + } + const setSpeed = (item:any)=>{ + speed.speedState = false + speed.speedData = item + } + const openEditTools = ()=>{ + dataDom.designTools.init(speed.speedData.value,likeDesignCollectionList.value) + } + const editToolsSuccess = ()=>{ + nextTick().then(()=>{ + designData.isUnfold = true + uploadLikeDom() + }) + } const designData = reactive({ openEditBtnId:-1, selectEditBtn:null as any, @@ -404,7 +462,6 @@ export default defineComponent({ selectDesign:null as any,//当前选择的design isUnfold:false, selectLikeDesign:[] as any, - //类型 resultTypeList:[ { @@ -791,7 +848,7 @@ export default defineComponent({ userGroupId:data.userGroupId || data.id, firstFrameUrl:data.firstFrameUrl, gifUrl:data.gifUrl, - userLikeSortId:data.userLikeSortId, + parentId:data.parentId || data.userLikeSortId, } let list = [] if(data.listType == 'disLike'){ @@ -837,7 +894,7 @@ export default defineComponent({ let data = { toProductImageResultId:[(design.designItemId || design.id)], projectId: store.state.Workspace.probjects.id, - collectionSortParentId:designData?.selectDesign?.userLikeSortId || design.parentId, + collectionSortParentId:designData?.selectDesign?.parentId || design.parentId, } as any let params = {} as any if(type == 'ToProductImage' || type == 'Relight'){ @@ -853,14 +910,14 @@ export default defineComponent({ likeOrDislike:'like', transformedId:design.id, projectId:store.state.Workspace.probjects.id, - collectionSortParentId:designData?.selectDesign?.userLikeSortId || design.parentId, + collectionSortParentId:design.parentId || designData?.selectDesign?.userLikeSortId, } }else{ params = { likeOrDislike:'dislike', transformedId:design.id, projectId:store.state.Workspace.probjects.id, - collectionSortParentId:designData?.selectDesign?.userLikeSortId || design.parentId, + collectionSortParentId:design.parentId || designData?.selectDesign?.userLikeSortId, } } }else{ @@ -883,13 +940,14 @@ export default defineComponent({ }else{ likeDesignCollectionList.value.forEach((item:any)=>{ if(item.resultType == 'Design' && item.userLikeSortId == designData.selectDesign.userLikeSortId){ - item.childList = item.childList.filter((item:any)=>{ - return item.id != design.id + item.childList = item.childList.filter((childItem:any)=>{ + return childItem.id != design.id }) } }) } nextTick().then(()=>{ + designData.isUnfold = true uploadLikeDom() }) @@ -1093,6 +1151,13 @@ export default defineComponent({ ...toRefs(collItemSize), ...toRefs(designData), ...toRefs(dataDom), + //编辑tools相关 + ...toRefs(speed), + openSpeed, + setSpeed, + openEditTools, + editToolsSuccess, + likeItemDom, collItemDom, domHidden, @@ -1215,6 +1280,8 @@ export default defineComponent({ this.setShowHide('recycleDomHidden') }) } + this.isUnfold = true + this.setUnfold() }, directives:{ mousewheel:{ diff --git a/src/component/home/design/tools.vue b/src/component/home/design/tools.vue new file mode 100644 index 00000000..e3c29262 --- /dev/null +++ b/src/component/home/design/tools.vue @@ -0,0 +1,181 @@ + + + \ No newline at end of file diff --git a/src/component/home/index.vue b/src/component/home/index.vue index 6cbb6e98..994eee55 100644 --- a/src/component/home/index.vue +++ b/src/component/home/index.vue @@ -450,6 +450,7 @@ export default defineComponent({ let queue = [] as any let start = false const chatChange = (value:any)=>{ + if(value.type == 'design_control_signal' && dataDom.design){ queue.push( { diff --git a/src/component/home/newProject/index.vue b/src/component/home/newProject/index.vue index c05a27b7..4ed989ed 100644 --- a/src/component/home/newProject/index.vue +++ b/src/component/home/newProject/index.vue @@ -126,8 +126,10 @@ export default defineComponent({ } const addChatContent = (item:any)=>{ if((data.textarea.value?.length + item.length) > 10000)return - data.chatContent += item - data.textarea.value += item + // data.chatContent += item + // data.textarea.value += item + data.chatContent = item + data.textarea.value = item } const sendChat = ()=>{ if(!data.chatContent)return @@ -215,7 +217,8 @@ export default defineComponent({ data.chatOrSetting = str } const setProject = (item:any)=>{ - router.push(`home?history=${item.id}`) + emit('newProject',item) + // router.push(`home?history=${item.id}`) } onMounted(()=>{ store.commit('createProbject') diff --git a/src/component/home/tools/patternMaking3D/index.vue b/src/component/home/tools/patternMaking3D/index.vue index 9f78c9be..dfc9041b 100644 --- a/src/component/home/tools/patternMaking3D/index.vue +++ b/src/component/home/tools/patternMaking3D/index.vue @@ -67,7 +67,7 @@
-
+
Flat pattern
@@ -112,6 +112,7 @@ export default defineComponent({ // printCatecoryList:computed(()=>{ // return store.state.UserHabit.printType // }), + userDetail:computed(()=>store.state.UserHabit.userDetail),//选择的项目 selectObject:computed(()=>store.state.Workspace.probjects),//选择的项目 patternMaking3D:computed(()=>store.state.HomeStoreModule.patternMaking3D),//选择的项目 modelList:[] as any, @@ -137,7 +138,7 @@ export default defineComponent({ data.isNoData = false data.isShowMark = false } - const createProbject:any = inject('createProbject') as any + const createProbject:any = inject('createProbject',()=>{}) as any const setSelectModel = async (item:any)=>{ if(!data.selectObject.id)await createProbject() data.isShowMark = true diff --git a/src/component/home/tools/poseTransfer/index.vue b/src/component/home/tools/poseTransfer/index.vue index e071d94b..5b995789 100644 --- a/src/component/home/tools/poseTransfer/index.vue +++ b/src/component/home/tools/poseTransfer/index.vue @@ -28,7 +28,7 @@
-
+
store.state.Workspace.probjects.id) + projectId:computed(()=>store.state.Workspace.probjects.id), + CollectionType:'PoseTransfer', }, waitList:[], likeList:computed(()=>store.state.HomeStoreModule.poseTransfer.likedList), @@ -164,6 +168,8 @@ export default defineComponent({ }) watch(()=>store.state.HomeStoreModule.uploadElement.length,(newVal,oldVal)=>{ data.fileList = store.state.HomeStoreModule.uploadElement + data.fileList[0].isChecked = true + data.selectImg = data.fileList[0] }) watch(()=>store.state.HomeStoreModule.poseTransfer.list.length,(newVal,oldVal)=>{ let list = store.state.HomeStoreModule.poseTransfer.list @@ -192,7 +198,7 @@ export default defineComponent({ }, }) const setIsShowMark:any = inject('setIsShowMark') - const createProbject:any = inject('createProbject') + const createProbject:any = inject('createProbject',()=>{}) const dataDom = reactive({ generalDragLeft:null as any, generalDragRight:null as any, @@ -209,7 +215,11 @@ export default defineComponent({ item.isChecked = true if(item.url || item.imgUrl)data.selectImg.minioUrl = getMinioUrl(item.url || item.imgUrl) } - const openSetData = ()=>{ + const openSetData = (designList:any)=>{ + if(props.isDesignPage){ + data.fileList = designList + return + } // dataDom.generalDrag.openSetData() data.currentList = store.state.UploadFilesModule.modularData.toProduct data.currentList = data.currentList?data.currentList:[] @@ -341,6 +351,7 @@ export default defineComponent({ }); } } + let isSelectObject = false let beforeUpload = async (file: any)=>{ const isJpgOrPng = file.type === "image/jpeg" || @@ -354,7 +365,8 @@ export default defineComponent({ if (!isLt2M) { message.info(useI18n().t('MoodboardUpload.jsContent4')); } - if(!data.upload.projectId){ + if(!data.upload.projectId && !isSelectObject){ + isSelectObject = true await createProbject() } return (isJpgOrPng && isLt2M && data.upload.projectId) || Upload.LIST_IGNORE; @@ -422,12 +434,14 @@ export default defineComponent({ likeOrDislike:'like', transformedId:item.id, projectId:store.state.Workspace.probjects.id, + collectionSortParentId:props.isDesignPage?item.parentId:'', } }else{ value = { likeOrDislike:'dislike', transformedId:item.id, projectId:store.state.Workspace.probjects.id, + collectionSortParentId:props.isDesignPage?item.parentId:'', } } Https.axiosPost(Https.httpUrls.poselikeOrDisike, {},{params:value}).then( @@ -455,9 +469,9 @@ export default defineComponent({ }); } const selectPose = (item:any)=>{ + data.poseList.forEach((listItem:any)=>listItem.isChecked = false) item.isChecked = true data.selectPose = item?.id || 1 - data.poseList.forEach((listItem:any)=>listItem.isChecked = false) } onMounted(()=>{ // showViewVideo({url:'https://www.minio.aida.com.hk:12025/api/v1/download-shared-object/aHR0cHM6Ly93d3cubWluaW8uYWlkYS5jb20uaGs6MTIwMjQvYWlkYS11c2Vycy84OS9wb3NlX3RyYW5zZm9ybV92aWRlby8xMjMtODkubXA0P1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9N0tOVDdNWlNLWkRXM1RVOEJZVlklMkYyMDI1MDQwOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTA0MDhUMDUxOTM1WiZYLUFtei1FeHBpcmVzPTQzMTk5JlgtQW16LVNlY3VyaXR5LVRva2VuPWV5SmhiR2NpT2lKSVV6VXhNaUlzSW5SNWNDSTZJa3BYVkNKOS5leUpoWTJObGMzTkxaWGtpT2lJM1MwNVVOMDFhVTB0YVJGY3pWRlU0UWxsV1dTSXNJbVY0Y0NJNk1UYzBOREV4T0RneE9Td2ljR0Z5Wlc1MElqb2lZV1J0YVc0aWZRLmY0Z3RoTU1BeC1GUnM3eGhWNFdjTUFCUW5lU19BVkIxUDlYbnJQbEFNWUFsVnJwY3RpYXgtU2cyY2FkZHZ0a0VCOU1NbWxGeUlIbU90aGhUWDlqN2lnJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZ2ZXJzaW9uSWQ9bnVsbCZYLUFtei1TaWduYXR1cmU9Yjg5YmQ4ZDg5M2I4ZjBjYmYxZDI3NDFjZmY0NGRiZGNmYWM2NmU0ZGM2OGIwYzQzZDA2OGI4YjYzZjE5YjhhOA'}) diff --git a/src/component/home/tools/toProduct/index.vue b/src/component/home/tools/toProduct/index.vue index 1976b0b1..09c3c740 100644 --- a/src/component/home/tools/toProduct/index.vue +++ b/src/component/home/tools/toProduct/index.vue @@ -23,7 +23,7 @@
- +
@@ -34,7 +34,7 @@
-
+
- +
@@ -167,7 +167,7 @@
- +
@@ -210,7 +210,24 @@ export default defineComponent({ scaleImage, generalMenu,UpgradePlan,generalDrag }, - props: ['setTask','productimgMenu'], + props:{ + setTask:{ + type:Object, + default:()=>{ + return {} + } + }, + productimgMenu:{ + type:Object, + default:()=>{ + return {} + } + }, + isDesignPage:{ + type:Boolean, + default:false, + }, + }, setup(props,{emit}) { const store = useStore(); let userDetail:any= computed(()=>{ @@ -224,7 +241,7 @@ export default defineComponent({ return store.state.Guide.guide }) const route = useRoute() - const createProbject:any = inject('createProbject') + const createProbject:any = inject('createProbject',()=>{}) let productImgData:any = reactive({ isShowMark:false, fileList:{}, @@ -283,6 +300,7 @@ export default defineComponent({ }, ); watch(()=>store.state.HomeStoreModule.uploadElement.length,(newVal,oldVal)=>{ + if(props.isDesignPage)return productImgData.fileList[props.productimgMenu.value] = store.state.HomeStoreModule.uploadElement }) const productImgDom = reactive({ @@ -315,7 +333,6 @@ export default defineComponent({ } ]) let RelightDirection:any = ref(RelightDirectionList.value[0].value) - let selectList:any = ref({}) // let likeDesignCollectionList: any = computed(() => { // return store.state.HomeStoreModule.likeDesignCollectionList; // }); @@ -323,14 +340,17 @@ export default defineComponent({ return store.state.UploadFilesModule.modularData; }); let userlikeGroupId = 0 - const openSetData = ()=>{ + const openSetData = (designList:any)=>{ // cleardata() - if(props.productimgMenu.value == 'ToProductImage'){ - selectList.value['ToProductImage'] = JSON.parse(JSON.stringify(selectDesignList.value.design.likeData)) - }else if(props.productimgMenu.value == 'Relight'){ - selectList.value['Relight'] = JSON.parse(JSON.stringify(selectDesignList.value.toProduct)) + // if(props.productimgMenu.value == 'ToProductImage'){ + // selectList.value['ToProductImage'] = JSON.parse(JSON.stringify(selectDesignList.value.design.likeData)) + // }else if(props.productimgMenu.value == 'Relight'){ + // selectList.value['Relight'] = JSON.parse(JSON.stringify(selectDesignList.value.toProduct)) + // } + if(props.isDesignPage){ + productImgData.fileList[props.productimgMenu.value] = designList + return } - userlikeGroupId = selectDesignList.value.userlikeGroupId // getLikeProductImage(selectDesignList.value.userlikeGroupId) productImgDom.generalDragLeft.setItemPosition() @@ -378,7 +398,6 @@ export default defineComponent({ } let cleardata = ()=>{ productImgData.generateList = [] - selectList.value = {} // props.productimgMenu = productimgMenuList.value[0] } @@ -404,6 +423,7 @@ export default defineComponent({ bor = false } } + let isSelectObject = false let beforeUpload = async (file: any)=>{ const isJpgOrPng = file.type === "image/jpeg" || @@ -417,10 +437,12 @@ export default defineComponent({ if (!isLt2M) { message.info(useI18n().t('MoodboardUpload.jsContent4')); } - if(!productImgData.selectObject.id){ + if(!productImgData.selectObject.id && !isSelectObject){ + isSelectObject = true productImgData.selectObject.id = await createProbject() upload.value = { - projectId:productImgData.selectObject.id + projectId:productImgData.selectObject.id, + CollectionType:props.productimgMenu.value, } } return (isJpgOrPng && isLt2M) || Upload.LIST_IGNORE; @@ -446,7 +468,9 @@ export default defineComponent({ let likeFile = (item:any,str:any,index:any) =>{ let url let data = { - toProductImageResultId:[item.id] + toProductImageResultId:[item.id], + projectId: store.state.Workspace.probjects.id, + collectionSortParentId:props.isDesignPage?item.parentId:'', } if(str == 'like'){ url = Https.httpUrls.productImageLike @@ -504,26 +528,17 @@ export default defineComponent({ if(productImgData.fileList[props.productimgMenu.value]){ productImgData.fileList[props.productimgMenu.value].forEach((item:any)=>{ if(item.isChecked){ - obj.elementId = item.id - obj.elementType = item.type || 'ProductElement' - selectArr.push(JSON.parse(JSON.stringify(obj))) - } - }) - } - if(selectList.value[props.productimgMenu.value]){ - selectList.value[props.productimgMenu.value].forEach((item:any)=>{ - if(item.isChecked){ - obj.elementId = item.designOutfitId - obj.elementType = 'DesignOutfit' - if(props.productimgMenu.value == 'Relight'){ + if(item.resultType == 'Design'){ + obj.elementId = item.designOutfitId + obj.elementType = 'DesignOutfit' + }else{ obj.elementId = item.id - obj.elementType = 'ToProductImage' + obj.elementType = item.type || 'ProductElement' } selectArr.push(JSON.parse(JSON.stringify(obj))) } }) } - if(selectArr.length == 0) { message.info(t('ProductImg.jsContent2')) return @@ -612,11 +627,12 @@ export default defineComponent({ let index = productImgData.generateList.findIndex((obj:any) => obj.taskId === element.taskId); productImgData.generateList[index] = element // productImgData.generateList[props.productimgMenu.value].unshift(element) + data = data.filter((item:any) => item !== element.taskId); }else if(element.status == 'Fail'){ let index = productImgData.generateList.findIndex((obj:any) => obj.taskId === element.taskId); productImgData.generateList.splice(index,1) + data = data.filter((item:any) => item !== element.taskId); } - data = data.filter((item:any) => item !== element.taskId); }); generateProceedList = data if((data.length == 0)|| (rv.filter((item:any)=>item.status == 'Invalid').length ==data.length)){ @@ -796,7 +812,6 @@ export default defineComponent({ RelightDirectionList, RelightDirection, - selectList, setproduct, fileUploadChange, beforeUpload, diff --git a/src/component/modules/generalDrag.vue b/src/component/modules/generalDrag.vue index 7772a9bf..e3091383 100644 --- a/src/component/modules/generalDrag.vue +++ b/src/component/modules/generalDrag.vue @@ -27,7 +27,7 @@
-
+
@@ -54,6 +54,7 @@ export default defineComponent({ showMark:{type:Boolean,default:false}, isLike:{type:Boolean,default:false}, isDelete:{type:Boolean,default:true}, + isCopy:{type:Boolean,default:true}, type:{type:String,default:''}, }, emits:['setBtn','setSort'], diff --git a/src/tool/https.js b/src/tool/https.js index f5c52a0e..835690aa 100644 --- a/src/tool/https.js +++ b/src/tool/https.js @@ -426,6 +426,7 @@ export const Https = { getHistoryNotification:`/api/message/getHistoryNotification`,//获取历史消息 oneClickRead:`/api/message/oneClickRead`,//全部设为已读 personalHomepage:`/api/account/personalHomepage`,//获取个人主页信息 + refreshMinioUrl:`/api/third/party/refreshMinioUrl`,//获取可以使用的minio地址 }, diff --git a/src/views/HomeMain.vue b/src/views/HomeMain.vue index 43333e11..7aaf9a27 100644 --- a/src/views/HomeMain.vue +++ b/src/views/HomeMain.vue @@ -47,7 +47,7 @@
-
+
Rename @@ -306,7 +306,7 @@ export default defineComponent({ searchCollectionName:'', historyTextarea:'', updateTimeType:['Todaylist','Yesterdaylist','WithinAWeeklist','EarlierTodaylist'], - selectHistoryIndex:-1, + selectHistoryId:-1, page:1, size:10, isToday:false, @@ -581,33 +581,33 @@ export default defineComponent({ }); } const editHistory = (item,index,el,list)=>{ - if(homeMainData.historyData.selectHistoryIndex == -1){ - let top = el.target.parentNode.parentNode.getBoundingClientRect().top - let parentTop = el.target.parentNode.parentNode.parentNode.offsetTop - let parentHeight = el.target.parentNode.parentNode.parentNode.offsetHeight + if(homeMainData.historyData.selectHistoryId == -1){ + let top = el.target.parentNode.parentNode.getBoundingClientRect().y + let parentTop = el.target.parentNode.parentNode.parentNode.parentNode.parentNode.getBoundingClientRect().y + let parentHeight = el.target.parentNode.parentNode.parentNode.parentNode.parentNode.offsetHeight let operation = el.target.parentNode.querySelector('.operation') - homeMainData.historyData.selectHistoryIndex = index + homeMainData.historyData.selectHistoryId = item.id //判断弹窗是加载按钮上面还是下面 if(list.length == 1){ operation.classList.add('activeLeft') return } - if((parentTop+parentHeight)/2 < top){//加在按钮上面 + if(top > parentHeight/2 + parentTop){//加在按钮上面 operation.classList.add('active') }else{ operation.classList.remove('active') } }else{ - homeMainData.historyData.selectHistoryIndex = -1 + homeMainData.historyData.selectHistoryId = -1 } let operationCli = ()=>{ - homeMainData.historyData.selectHistoryIndex = -1 + homeMainData.historyData.selectHistoryId = -1 document.removeEventListener("click", operationCli); } document.addEventListener("click",operationCli,); } const editName = (item)=>{ - homeMainData.historyData.selectHistoryIndex = -1 + homeMainData.historyData.selectHistoryId = -1 for (const key in homeMainData.openTypeList.history) { let list = ['EarlierTodaylist','Todaylist','WithinAWeeklist','Yesterdaylist'] if(list.indexOf(key) == -1)continue @@ -622,7 +622,7 @@ export default defineComponent({ const deleteItem = (item)=>{ Https.axiosPost(Https.httpUrls.projectDetail,{},{params:{projectId:item.id}}).then( (rv) => { - homeMainData.historyData.selectHistoryIndex = -1 + homeMainData.historyData.selectHistoryId = -1 settingGetHistory() if(homeMainData.openTypeChild == item.id){ router.push('/home') @@ -653,7 +653,7 @@ export default defineComponent({ } const bathGeneration = (item)=>{ homeMainData.openType = '' - homeMainData.historyData.selectHistoryIndex = -1 + homeMainData.historyData.selectHistoryId = -1 router.push(`/home/cloud?type=creation&id=${item.id}&name=${item.name}`) } return { diff --git a/src/views/HomeView/library.vue b/src/views/HomeView/library.vue index 47681030..e54c31ee 100644 --- a/src/views/HomeView/library.vue +++ b/src/views/HomeView/library.vue @@ -423,13 +423,17 @@ (selectCode == 'Sketchboard')" class="fi fi-bs-magic-wand" style="background-color: #000; font-size: 2.3rem; flex: 1;margin: 0;"> {{ $t('LibraryPage.Generate') }}
-
+
-
{{ item.label }}
+
{{ item.label }}
{{ item.label }}
@@ -716,14 +720,14 @@ export default defineComponent({ title:'Generate using Wanxiang', label:'WX', value:'wx', + },{ + title:'', + label:'FLUX', + value:'flux', }, ], extractList:[ { - title:'This method may produce slight discrepancies between the extracted line art and the original image.', - label:'High', - value:'', - },{ title:'Note: The extracted line art might have minor variations from the original.', label:'FLUX', value:'flux', @@ -774,7 +778,7 @@ export default defineComponent({ level1Type:selectCode.value, level2Type:design, page:1, - ageGroup:selectCode.value == 'Sketchboard'?pageData.ageGroup:'', + ageGroup:selectCode.value == 'Models'?pageData.ageGroup:'', modelSex:sex.value?sex.value:'', pictureName:searchPictureName.value, size:pageSize.value, @@ -933,9 +937,13 @@ export default defineComponent({ } if(newVal.value == 'extract'){ this.speedData = this.extractList[0] + }else if(newVal.value == 'Logo' || newVal.value == 'Slogan'){ + this.speedData.value = '' + this.speedData.label = '' }else{ this.speedData = this.speedList[0] } + this.speedState = false } }, '$route.query':{