页面调整
This commit is contained in:
@@ -4,8 +4,8 @@
|
||||
|
||||
<div class="page_content_body">
|
||||
<div class="designPage_body">
|
||||
<div class="designPage_left" ref="hidden">
|
||||
<div class="designPage_left_content" :class="{'active':(domHidden)}">
|
||||
<div class="designPage_left" :class="{'active':(domHidden)}" ref="hidden">
|
||||
<div class="designPage_left_content">
|
||||
<!-- 有图状态 start-->
|
||||
|
||||
<div class="home_left_info">
|
||||
@@ -38,12 +38,12 @@
|
||||
</div>
|
||||
<div class="generage_btn_box white">
|
||||
<div class="generage_btn started_btn" style="margin-left: 2rem;">
|
||||
<div class="" @click.stop="openEditTools()" style="margin-left: 1rem;">
|
||||
<div class="" @click.stop="openEditTools()" style="margin-left: 1rem;font-weight: 900">
|
||||
{{ $t('Header.Tools') }}
|
||||
</div>
|
||||
<div class="icon iconfont icon-xiala" :class="{active:speedState}" @click.stop="openSpeed"></div>
|
||||
<div class="content" v-show="speedState">
|
||||
<div v-for="item in speedList" :key="item.value" style="font-size: 1.4rem;" :class="{active:item.value == speedData.value}" @click.stop="setSpeed(item)" :title="item.title">{{ item.label }}</div>
|
||||
<div v-for="item in speedList" v-show="(item.value != 'poseTransfer' || selectProbject.type != 'singleProductDesign')" :key="item.value" style="font-size: 1.4rem;" :class="{active:item.value == speedData.value}" @click.stop="setSpeed(item)" :title="item.title">{{ item.label }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -72,7 +72,7 @@
|
||||
{{ $t('HomeView.SelectedDesign') }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="generalModel_state" v-show="likeDesignTools">
|
||||
<div class="generalModel_state">
|
||||
<div>
|
||||
<selectMenu
|
||||
:selectList="resultTypeList"
|
||||
@@ -90,7 +90,7 @@
|
||||
v-model:select="resultType"
|
||||
>
|
||||
<template v-slot:btnText>
|
||||
Classify
|
||||
{{ $t('Header.Filter') }}
|
||||
</template>
|
||||
</selectMenu>
|
||||
</div>
|
||||
@@ -98,11 +98,11 @@
|
||||
<selectMenu
|
||||
:selectList="[
|
||||
{
|
||||
label:'Unfold',
|
||||
label:$t('Header.expand'),
|
||||
value:true,
|
||||
},
|
||||
{
|
||||
label:'Merge',
|
||||
label:$t('Header.collapse'),
|
||||
value:false,
|
||||
},
|
||||
]"
|
||||
@@ -168,13 +168,13 @@
|
||||
'like'
|
||||
)">
|
||||
<img class="content_img"
|
||||
v-if="design?.resultType == 'PoseTransfer'"
|
||||
v-if="design?.resultType == 'PoseTransfer' && design?.firstFrameUrl"
|
||||
:src="design?.firstFrameUrl" alt=""
|
||||
@mouseenter.stop="gifPlay($event,design)"
|
||||
@mouseleave.stop="gifPause($event,design)" >
|
||||
<!-- <div :style="{'background-image': `url(${design?.designOutfitUrl||design?.url})`}" class="content_img" v-if="design?.designOutfitUrl||design?.url" :key="design?.designOutfitUrl" designType="like" :index="index"></div> -->
|
||||
<img class="content_img" v-if="design?.designOutfitUrl||design?.url" :src="design?.designOutfitUrl||design?.url"
|
||||
:key="design?.designOutfitUrl" designType="like" :index="index"/>
|
||||
:key="design?.status" designType="like" :index="index"/>
|
||||
<a-spin v-show="!design?.designOutfitUrl && !design?.url && !design?.firstFrameUrl" size="large"></a-spin>
|
||||
|
||||
<!-- <div class="content_img_block_child" @click.stop>
|
||||
@@ -215,7 +215,7 @@
|
||||
<div class="designPage_left_bottom left" @click="setShowHide('domHidden')" >
|
||||
<span class="icon iconfont icon-xiala" :class="{'active':domHidden}"></span>
|
||||
</div>
|
||||
<div class="designPage_left_bottom right" :class="{active:recycleDomHidden}" @click="setShowHide('recycleDomHidden')" v-show="designCollectionId">
|
||||
<div class="designPage_left_bottom right" :class="{active:recycleDomHidden}" @click="setShowHide('recycleDomHidden')" v-show="designCollectionList.length > 0">
|
||||
<span class="icon iconfont icon-xiala" :class="{'active':recycleDomHidden}"></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -280,19 +280,24 @@
|
||||
<div class="text">{{$t('Header.toolsToProduct')}}</div>
|
||||
<i class="fi fi fi-ss-box-open"></i>
|
||||
</div>
|
||||
<div class="item" v-show="selectEditBtn?.resultType == 'ToProductImage' || selectEditBtn?.resultType == 'Relight'" @click="setEditDesignType(selectLikeDesign,selectEditBtnIndex,'Relight','add','like')">
|
||||
<div class="item" v-show="(selectEditBtn?.resultType == 'ToProductImage' || selectEditBtn?.resultType == 'Relight')" @click="setEditDesignType(selectLikeDesign,selectEditBtnIndex,'Relight','add','like')">
|
||||
<div class="text">{{$t('Header.toolsRelight')}}</div>
|
||||
<i class="fi fi fi-br-keyboard-brightness"></i>
|
||||
</div>
|
||||
<div class="item" v-show="selectEditBtn?.resultType == 'ToProductImage' || selectEditBtn?.resultType == 'Relight'" @click="setEditDesignType(selectLikeDesign,selectEditBtnIndex,'PoseTransfer','add','like')">
|
||||
<div class="item" v-show="(selectEditBtn?.resultType == 'ToProductImage' || selectEditBtn?.resultType == 'Relight') && (selectProbject.type != 'singleProductDesign')" @click="setEditDesignType(selectLikeDesign,selectEditBtnIndex,'PoseTransfer','add','like')">
|
||||
<div class="text">{{$t('Header.toolsToTransferPose')}}</div>
|
||||
<i class="fi fi fi-rr-play-alt"></i>
|
||||
</div>
|
||||
<div class="item" @click="dislikeDesignCollection(selectEditBtn,selectEditBtn?.resultType,selectEditBtnIndex)">
|
||||
<div class="item" v-show="selectEditBtn?.resultType != 'Design'" @click="setNoDesignLike(selectEditBtn,selectEditBtnIndex,selectEditBtn?.resultType,'disLike')">
|
||||
<div class="text">{{$t('Header.Delete')}}</div>
|
||||
<i class="fi fi-rr-trash icon_delete">
|
||||
</i>
|
||||
</div>
|
||||
<div class="item" v-show="selectEditBtn?.resultType == 'Design'" @click="dislikeDesignCollection(selectEditBtn,selectEditBtn?.resultType,selectEditBtnIndex)">
|
||||
<div class="text">{{$t('Header.onLiked')}}</div>
|
||||
<i class="icon iconfont icon-jushoucang icon_like">
|
||||
</i>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<collectionModal ref="collectionModal"></collectionModal>
|
||||
@@ -308,20 +313,20 @@
|
||||
<DesignDetailcopy v-if="detailDestroy" ref="designDetail" @destroy="setDetailDestroy" @finishRedesign="finishRedesign"></DesignDetailcopy>
|
||||
<editDesignType ref="editDesignType"
|
||||
@addGenerateImg="addGenerateImg"
|
||||
@setGenerateAwait="generateLoad"
|
||||
@upDataDesignLikeList="generateLoad"
|
||||
:productData="{
|
||||
upload:upload,
|
||||
RelightDirection:RelightDirection,
|
||||
RelightDirectionList:RelightDirectionList,
|
||||
}"
|
||||
:isProductimg="true"></editDesignType>
|
||||
<designTools ref="designTools" @editToolsSuccess="editToolsSuccess"></designTools>
|
||||
<designTools ref="designTools" :source="'design'" @editToolsSuccess="generateLoad"></designTools>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent, h, ref, computed, toRefs, inject,provide,nextTick,reactive,onBeforeUnmount, toRef, watch} from "vue";
|
||||
import { defineComponent, h, ref, computed, toRefs, createVNode,provide,nextTick,reactive,onBeforeUnmount, toRef, watch} from "vue";
|
||||
// import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
|
||||
import NewCollectionReview from "@/component/HomePage/NewCollectionReview.vue";
|
||||
import generalCanvas from "@/component/modules/generalCanvas.vue";
|
||||
@@ -344,6 +349,7 @@ import { removeClass } from "element-plus/es/utils";
|
||||
import collectionModal from './collection.vue'
|
||||
import designTools from './tools.vue'
|
||||
import selectMenu from '@/component/modules/selectMenu.vue'
|
||||
import { forEach } from "jszip";
|
||||
|
||||
export default defineComponent({
|
||||
name: "homePage",
|
||||
@@ -368,6 +374,9 @@ export default defineComponent({
|
||||
const {t} = useI18n()
|
||||
const store = useStore();
|
||||
const editDesignType = reactive({
|
||||
selectProbject:computed(()=>{
|
||||
return store.state.Workspace.probjects
|
||||
}),
|
||||
upload:{id:store.state.Workspace.probjects.id},
|
||||
RelightDirectionList:[
|
||||
{
|
||||
@@ -463,12 +472,12 @@ export default defineComponent({
|
||||
label:computed(()=>t('Header.toolsToProduct')),
|
||||
value:'toProduct',
|
||||
|
||||
},{
|
||||
label:computed(()=>t('Header.toolsToTransferPose')),
|
||||
value:'poseTransfer',
|
||||
},{
|
||||
label:computed(()=>t('Header.toolsRelight')),
|
||||
value:'relight',
|
||||
},{
|
||||
label:computed(()=>t('Header.toolsToTransferPose')),
|
||||
value:'poseTransfer',
|
||||
},
|
||||
],
|
||||
speedState:false,
|
||||
@@ -496,12 +505,6 @@ export default defineComponent({
|
||||
const openCanvas = ()=>{
|
||||
dataDom.designTools.init('editCanvas')
|
||||
}
|
||||
const editToolsSuccess = ()=>{
|
||||
nextTick().then(()=>{
|
||||
designData.isUnfold = true
|
||||
uploadLikeDom()
|
||||
})
|
||||
}
|
||||
const designData = reactive({
|
||||
openEditBtnId:-1,
|
||||
selectEditBtn:null as any,
|
||||
@@ -674,8 +677,10 @@ export default defineComponent({
|
||||
store.commit("cancelDeleteDesignCollectionList",index);
|
||||
}
|
||||
const designMousedown = (e:any,design:any,str:string)=>{
|
||||
if(design.resultType != 'Design' || designData.isUnfold)return
|
||||
if(str != 'like' && showDesignMark.value) return
|
||||
if(str != 'disLike'){
|
||||
if(design.resultType != 'Design' || designData.isUnfold)return
|
||||
if(str != 'like' && showDesignMark.value) return
|
||||
}
|
||||
let Id = design.userLikeSortId || design.id
|
||||
let arr = str == 'like'? posiitonData.value.likeElList:posiitonData.value.generateElList
|
||||
let item:any = arr.filter((item:any)=>item.userLikeSortId == Id)[0]
|
||||
@@ -786,17 +791,17 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
const setLikeDislLike = (str:string,value:any)=>{
|
||||
designData.selectLikeDesign = []
|
||||
posiitonData.value.likeSelectIndex = 0
|
||||
nextTick(()=>{
|
||||
if(str == 'like'){
|
||||
designData.selectLikeDesign = []
|
||||
let elArr = likeItemDom.value.children
|
||||
posiitonData.value.likeElList.push({
|
||||
el: elArr[0],
|
||||
sort: value.sort - 1,
|
||||
index: value.sort - 1,
|
||||
userLikeSortId:value.userLikeSortId
|
||||
});
|
||||
// posiitonData.value.likeElList.push({
|
||||
// el: elArr[0],
|
||||
// sort: value.sort - 1,
|
||||
// index: value.sort - 1,
|
||||
// userLikeSortId:value.userLikeSortId
|
||||
// });
|
||||
let collItem = posiitonData.value.generateElList.filter((item:any)=>(item.userLikeSortId == value.designItemId || item.userLikeSortId == value.id))[0]
|
||||
if(collItem){
|
||||
posiitonData.value.generateElList = posiitonData.value.generateElList.filter((item:any)=>item.userLikeSortId != value.designItemId)
|
||||
@@ -808,12 +813,12 @@ export default defineComponent({
|
||||
}
|
||||
}else if(str == 'disLike'){
|
||||
let elArr = collItemDom.value.querySelectorAll('.content_img_GetWidth')
|
||||
posiitonData.value.likeElList = posiitonData.value.likeElList.filter((item:any)=>(item.sort + 1) != value.sort)
|
||||
posiitonData.value.likeElList.forEach((item:any)=>{
|
||||
if(item.sort > value.sort - 1){
|
||||
item.sort-=1
|
||||
}
|
||||
})
|
||||
// posiitonData.value.likeElList = posiitonData.value.likeElList.filter((item:any)=>(item.sort + 1) != value.sort)
|
||||
// posiitonData.value.likeElList.forEach((item:any)=>{
|
||||
// if(item.sort > value.sort - 1){
|
||||
// item.sort-=1
|
||||
// }
|
||||
// })
|
||||
posiitonData.value.generateElList.push({
|
||||
el: elArr[elArr.length-1],
|
||||
sort: posiitonData.value.generateElList.length,
|
||||
@@ -821,8 +826,10 @@ export default defineComponent({
|
||||
userLikeSortId:value.designItemId||value.id
|
||||
});
|
||||
}
|
||||
setDesignItemStyle()
|
||||
setSystemDesigner(100)
|
||||
setDesignItemStyle()
|
||||
uploadLikeDom()
|
||||
|
||||
// moveItem('disLike');
|
||||
})
|
||||
}
|
||||
@@ -878,6 +885,7 @@ export default defineComponent({
|
||||
}
|
||||
let setEditDesignType = (arr:any,index:any,type:any,status:any,listType:string)=>{
|
||||
arr = JSON.parse(JSON.stringify(arr))
|
||||
store.commit('setOpenChatStatus',false)
|
||||
let item = arr[index]
|
||||
if(status == 'add'){
|
||||
item.sourceUrl = item.designOutfitUrl || item.url
|
||||
@@ -887,89 +895,28 @@ export default defineComponent({
|
||||
arr[index].resultType = type
|
||||
// dataDom.editDesignType.isProductimg = isLike
|
||||
dataDom.editDesignType.isProductimg = true
|
||||
clearInterval(prductimgTime.ToProductImage)
|
||||
clearInterval(prductimgTime.PoseTransfer)
|
||||
clearInterval(prductimgTime.Relight)
|
||||
dataDom.editDesignType.init(arr,index,null,status,listType)
|
||||
dataDom.editDesignType.isLike = false
|
||||
dataDom.editDesignType.productimgRelightDirection = editDesignType.RelightDirection
|
||||
dataDom.editDesignType.isComparison = true
|
||||
}
|
||||
const addGenerateImg = (data:any)=>{
|
||||
const addGenerateImg = async (data:any)=>{
|
||||
if(!data.id)return
|
||||
let obj = {
|
||||
id:data.id,
|
||||
designItemId:data.id,
|
||||
// designItemId:data.elementId,
|
||||
designOutfitId:'',
|
||||
designOutfitUrl:data.designOutfitUrl,
|
||||
sourceUrl:data.sourceUrl,
|
||||
resultType:data.resultType,
|
||||
elementId:data.elementId,
|
||||
elementType:data.elementType,
|
||||
userGroupId:data.userGroupId || data.id,
|
||||
firstFrameUrl:data.firstFrameUrl,
|
||||
gifUrl:data.gifUrl,
|
||||
awaitId:data.awaitId,
|
||||
taskId:data.taskId,
|
||||
parentId:data.parentId || data.userLikeSortId,
|
||||
videoUrl:data?.videoUrl,
|
||||
}
|
||||
|
||||
let list = []
|
||||
if(data.listType == 'disLike'){
|
||||
list = designCollectionList.value
|
||||
}else{
|
||||
list = likeDesignCollectionList.value
|
||||
}
|
||||
if(list[data.isIndex]?.generateAwait)list[data.isIndex].generateAwait = false;
|
||||
if(data.status == 'add'){
|
||||
if(data.listType == 'like'){
|
||||
likeDesignCollection(obj,-1,data.resultType)
|
||||
}else{
|
||||
list.unshift(obj)
|
||||
}
|
||||
}else if(data.status == 'cove'){
|
||||
// collectionLikeUpdate
|
||||
// Https
|
||||
if(data.listType == 'like'){
|
||||
let value = {
|
||||
"oldRelationId": data.oldId,
|
||||
"relationId": data.id,
|
||||
"relationType": data.resultType,
|
||||
}
|
||||
Https.axiosPost(Https.httpUrls.collectionLikeUpdate,value).then((rv:any)=>{
|
||||
if(rv){
|
||||
}
|
||||
})
|
||||
}
|
||||
list.forEach((item)=>{
|
||||
if(data.parentId == item.userLikeSortId){
|
||||
item.childList.forEach((childItem)=>{
|
||||
if(childItem.id == data.awaitId){
|
||||
childItem.designOutfitUrl = obj.designOutfitUrl
|
||||
childItem.resultType = obj.resultType
|
||||
childItem.id = obj.id
|
||||
childItem.designItemId = obj.designItemId
|
||||
childItem.sourceUrl = obj.sourceUrl
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
nextTick().then(()=>{
|
||||
uploadLikeDom()
|
||||
})
|
||||
|
||||
}
|
||||
// nextTick().then(()=>{
|
||||
// // setDesignItemStyle()
|
||||
// // setSystemDesigner(100)
|
||||
// uploadLikeDom()
|
||||
// })
|
||||
await nextTick().then(()=>{
|
||||
designData.isUnfold = true
|
||||
uploadLikeDom()
|
||||
})
|
||||
upDataSuccess(data)
|
||||
}
|
||||
const setNoDesignLike = (design:any,index:any,type:any,str:string) => {
|
||||
let url
|
||||
let data = {
|
||||
toProductImageResultId:[(design.designItemId || design.id)],
|
||||
projectId: store.state.Workspace.probjects.id,
|
||||
collectionSortParentId:designData?.selectDesign?.parentId || design.parentId,
|
||||
collectionSortParentId:designData?.selectDesign?.parentId || design?.parentId,
|
||||
} as any
|
||||
let params = {} as any
|
||||
if(type == 'ToProductImage' || type == 'Relight'){
|
||||
@@ -1004,41 +951,43 @@ export default defineComponent({
|
||||
}
|
||||
designData.likeLoading = true;
|
||||
Https.axiosPost(url, data,{params:params.likeOrDislike?params:''}).then(
|
||||
(rv) => {
|
||||
if(str == 'like'){
|
||||
// likeDesignCollectionList.value.forEach((item)=>{
|
||||
// if(item.userLikeSortId == designData.selectDesign.userLikeSortId){
|
||||
// // if(item?.childList.)
|
||||
// item.unshift(data)
|
||||
// }
|
||||
// })
|
||||
// if(){
|
||||
|
||||
// }else{
|
||||
|
||||
// }
|
||||
likeDesignCollectionList.value.forEach((item:any)=>{
|
||||
if(item.resultType == 'Design' && item.userLikeSortId == designData.selectDesign.userLikeSortId){
|
||||
if(!item?.childList)item.childList = []
|
||||
// if(item?.childList)
|
||||
const removeIndex = item?.childList.findIndex(childItem => childItem?.taskId === design?.taskId);
|
||||
if (removeIndex !== -1) {
|
||||
item.childList[removeIndex] = design
|
||||
}else{
|
||||
item.childList.push(design)
|
||||
async (rv) => {
|
||||
await new Promise((resolve, reject) => {
|
||||
if(str == 'like'){
|
||||
likeDesignCollectionList.value.forEach((item:any)=>{
|
||||
if(item.resultType == 'Design' && item.userLikeSortId == designData.selectDesign.userLikeSortId){
|
||||
if(!item?.childList)item.childList = []
|
||||
// if(item?.childList)
|
||||
const removeIndex = item?.childList.findIndex(childItem => childItem?.taskId === design?.taskId);
|
||||
if (removeIndex !== -1) {
|
||||
item.childList[removeIndex] = design
|
||||
}else{
|
||||
item.childList.push(design)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}else{
|
||||
likeDesignCollectionList.value.forEach((item:any)=>{
|
||||
if(item.resultType == 'Design' && item.userLikeSortId == designData.selectDesign.userLikeSortId){
|
||||
item.childList = item.childList.filter((childItem:any)=>{
|
||||
return childItem.id != design.id
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}else{
|
||||
console.log(design)
|
||||
likeDesignCollectionList.value.forEach((item:any)=>{
|
||||
if(item.resultType == 'Design' && item.userLikeSortId == designData.selectDesign.userLikeSortId){
|
||||
item.childList.forEach((childItem:any)=>{
|
||||
if(childItem.sort > design.oldSort){
|
||||
console.log(childItem)
|
||||
childItem.sort -= 1
|
||||
}
|
||||
})
|
||||
item.childList = item.childList.filter((childItem:any)=>{
|
||||
return childItem.id != design.id
|
||||
})
|
||||
console.log(item)
|
||||
}
|
||||
})
|
||||
}
|
||||
resolve('')
|
||||
})
|
||||
|
||||
nextTick().then(()=>{
|
||||
console.log(111)
|
||||
designData.isUnfold = true
|
||||
uploadLikeDom()
|
||||
})
|
||||
@@ -1073,76 +1022,175 @@ export default defineComponent({
|
||||
designData.likeLoading = false;
|
||||
});
|
||||
}
|
||||
let likeDesignCollection = (design:any,index:any,type:any) => {
|
||||
if (designData.likeLoading) {
|
||||
return;
|
||||
}
|
||||
if(type != 'Design'){
|
||||
setNoDesignLike(design,index,type,'like')
|
||||
return
|
||||
}
|
||||
let data = {
|
||||
designItemId: design.designItemId,
|
||||
userGroupId: store.state.HomeStoreModule.userGroupId,
|
||||
projectId: store.state.Workspace.probjects.id,
|
||||
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
||||
designPythonOutfitId:design.designOutfitId?design.designOutfitId:design.designPythonOutfitId
|
||||
};
|
||||
|
||||
|
||||
designData.likeLoading = true;
|
||||
Https.axiosPost(Https.httpUrls.designLike, data)
|
||||
.then((rv: any) => {
|
||||
if (rv) {
|
||||
let value:any = {
|
||||
...design,
|
||||
id:rv.userLikeId,
|
||||
groupDetailId:rv.userLikeId,
|
||||
userLikeSortId:rv.userLikeSortId,
|
||||
userLikeGroupId:rv.userGroupId,
|
||||
sort:rv.sort,
|
||||
}
|
||||
store.commit("setUserGroupId", rv.userGroupId);
|
||||
design.groupDetailId = rv.groupDetailId;
|
||||
store.commit(
|
||||
"addLikeDesignCollectionList",
|
||||
value
|
||||
);
|
||||
setLikeDislLike('like',value)
|
||||
if(index != -1)store.commit("deleteDesignCollectionList", index);
|
||||
}
|
||||
designData.likeLoading = false;
|
||||
})
|
||||
.catch((rv) => {
|
||||
designData.likeLoading = false;
|
||||
});
|
||||
}
|
||||
const upDataLikeListType = ()=>{
|
||||
|
||||
}
|
||||
const generateLoad = (data:any)=>{
|
||||
if(!data.taskId)return
|
||||
let list = []
|
||||
if(data.listType == 'disLike'){
|
||||
list = designCollectionList.value
|
||||
}else{
|
||||
// list = designData.selectLikeDesign
|
||||
list = likeDesignCollectionList.value
|
||||
const upDataSuccess = (element)=>{
|
||||
console.log(JSON.parse(JSON.stringify(likeDesignCollectionList.value)))
|
||||
if(designData.isUnfold){
|
||||
designData.selectLikeDesign.forEach((item:any,index:any) => {
|
||||
if(element.taskId == item.taskId){
|
||||
designData.selectLikeDesign[index].url = element.url
|
||||
designData.selectLikeDesign[index].status = element.status
|
||||
designData.selectLikeDesign[index].elementType = element.elementType
|
||||
designData.selectLikeDesign[index].elementId = element.elementId
|
||||
designData.selectLikeDesign[index].id = element.id
|
||||
}
|
||||
});
|
||||
}
|
||||
list.forEach((item)=>{
|
||||
if(data.parentId == item.userLikeSortId){
|
||||
const removeIndex = item?.childList.findIndex(childItem => childItem?.taskId === data?.taskId);
|
||||
if(removeIndex == -1){
|
||||
item.childList.push(data)
|
||||
likeDesignCollectionList.value.forEach((likeItem:any,index:any)=>{
|
||||
if(likeItem?.childList?.length > 0){
|
||||
likeItem.childList.forEach((childItem:any,index:any)=>{
|
||||
if(childItem.taskId == element.taskId){
|
||||
console.log(childItem)
|
||||
likeItem.childList[index].url = element.url
|
||||
likeItem.childList[index].status = element.status
|
||||
likeItem.childList[index].elementType = element.elementType
|
||||
likeItem.childList[index].elementId = element.elementId
|
||||
likeItem.childList[index].id = element.id
|
||||
console.log(likeItem.childList)
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
nextTick(()=>{
|
||||
setSystemDesigner(0)
|
||||
})
|
||||
}
|
||||
const upDataSort = (generateCourseItem:any,likeIndex:number)=>{
|
||||
let list = likeDesignCollectionList.value
|
||||
if(list[likeIndex].childList.length == 0)return
|
||||
list[likeIndex].childList.forEach((likeItem:any,index:any)=>{
|
||||
console.log(likeItem)
|
||||
if(likeItem.sort >= generateCourseItem.sort){
|
||||
likeItem.sort += 1
|
||||
}
|
||||
})
|
||||
}
|
||||
const generateLoad = async (data:any)=>{
|
||||
// return
|
||||
clearInterval(prductimgTime.ToProductImage)
|
||||
clearInterval(prductimgTime.PoseTransfer)
|
||||
clearInterval(prductimgTime.Relight)
|
||||
let list = likeDesignCollectionList.value
|
||||
data.generateCourse.forEach((generateCourseItem:any)=>{
|
||||
let oldData = generateCourseItem.oldData
|
||||
if(oldData?.resultType == "Design"){
|
||||
let index = list.findIndex((item:any)=>(item.userLikeSortId == generateCourseItem.parentId && item.resultType == "Design"))
|
||||
if(!list[index]?.childList)list[index].childList = []
|
||||
if(data.status == 'add'){
|
||||
generateCourseItem.sort = list[index]?.childList.length + 1
|
||||
upDataSort(generateCourseItem,index)
|
||||
list[index]?.childList.push(generateCourseItem)
|
||||
}
|
||||
}else{
|
||||
console.log(generateCourseItem)
|
||||
let index = list.findIndex((item:any)=>(item.userLikeSortId == generateCourseItem.parentId))
|
||||
if(!list[index]?.childList){
|
||||
list[index].childList = []
|
||||
}
|
||||
if(data.status == 'add'){
|
||||
upDataSort(generateCourseItem,index)
|
||||
list[index]?.childList.push(generateCourseItem)
|
||||
}else{
|
||||
let childIndex = list[index].childList.findIndex((item:any)=>(item.id == generateCourseItem.id))
|
||||
list[index].childList[childIndex] = generateCourseItem
|
||||
}
|
||||
}
|
||||
})
|
||||
nextTick().then(()=>{
|
||||
await nextTick().then(()=>{
|
||||
designData.isUnfold = true
|
||||
uploadLikeDom()
|
||||
})
|
||||
// list[data.index].generateAwait = true;
|
||||
|
||||
let toProductImage = []
|
||||
let poseTransfer = []
|
||||
let relight = []
|
||||
list.forEach((item:any)=>{
|
||||
if(!item?.childList)item.childList = []
|
||||
item.childList.forEach((childItem:any)=>{
|
||||
if(childItem.resultType == 'PoseTransfer'){
|
||||
if(!childItem.status && !childItem?.firstFrameUrl){
|
||||
poseTransfer.push(childItem.taskId)
|
||||
}
|
||||
}else if(childItem.resultType == 'ToProductImage'){
|
||||
if(!childItem.status && (!childItem?.url || !childItem?.designOutfitUrl)){
|
||||
toProductImage.push(childItem.taskId)
|
||||
}
|
||||
}else if(childItem.resultType == 'Relight'){
|
||||
if(!childItem.status && (!childItem?.url || !childItem?.designOutfitUrl)){
|
||||
relight.push(childItem.taskId)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
setPrductimg(toProductImage,'ToProductImage')
|
||||
setPrductimg(poseTransfer,'PoseTransfer')
|
||||
setPrductimg(relight,'Relight')
|
||||
}
|
||||
let prductimgTime = {
|
||||
ToProductImage:null,
|
||||
PoseTransfer:null,
|
||||
Relight:null,
|
||||
}
|
||||
const setFail = (list:any)=>{
|
||||
list.forEach((listItem)=>{
|
||||
if(designData.isUnfold){
|
||||
let index = designData.selectLikeDesign.findIndex((item:any)=>{return item.taskId == listItem})
|
||||
designData.selectLikeDesign.splice(index,1)
|
||||
}
|
||||
likeDesignCollectionList.value.forEach((likeItem:any,index:any)=>{
|
||||
if(likeItem?.childList?.length > 0){
|
||||
let index = likeItem.childList.findIndex((item:any)=>{return item.taskId == listItem})
|
||||
likeItem.childList.splice(index,1)
|
||||
}
|
||||
})
|
||||
})
|
||||
nextTick().then(()=>{
|
||||
uploadLikeDom()
|
||||
})
|
||||
}
|
||||
let setPrductimg = (dataList:any,type:string)=>{
|
||||
if(dataList.length == 0)return
|
||||
let data = dataList
|
||||
let state = true
|
||||
let url = Https.httpUrls.relightResult
|
||||
if(type == 'ToProductImage'){
|
||||
url = Https.httpUrls.toProductImageResult
|
||||
}else if(type == 'PoseTransfer'){
|
||||
url = Https.httpUrls.poseTransformResult
|
||||
}
|
||||
// url = Https.httpUrls.poseTransformResult
|
||||
// data = {taskId: "00169296-220e-4032-bfce-ca8ff67d6468-83"}
|
||||
prductimgTime[type] = setInterval(()=>{
|
||||
if(!state)return
|
||||
state = false
|
||||
Https.axiosPost(url, data).then(
|
||||
(rv) => {
|
||||
if(type == 'PoseTransfer'){
|
||||
rv = [rv]
|
||||
}
|
||||
state = true
|
||||
rv.forEach((element:any) => {
|
||||
if(element?.status == 'Success'){
|
||||
// setFail([element.taskId])
|
||||
upDataSuccess(element)
|
||||
data = data.filter((item:any) => item !== element.taskId);
|
||||
}else if(element?.status == 'Fail' || element?.status == 'Invalid'){
|
||||
data = data.filter((item:any) => item !== element.taskId);
|
||||
setFail([element.taskId])
|
||||
message.info(t('Generate.everyTimeEffectPoor'));
|
||||
}
|
||||
});
|
||||
if(data.length == 0){
|
||||
store.state.store.dispatch('getCredits')
|
||||
clearInterval(prductimgTime[type])
|
||||
}
|
||||
}
|
||||
).catch(res=>{
|
||||
clearInterval(prductimgTime[type])
|
||||
setFail(data)
|
||||
});
|
||||
},type == 'PoseTransfer'?20000:3000)
|
||||
}
|
||||
const gifPlay = (e:any,item:any)=>{
|
||||
e.target.src = item.gif || item.gifUrl//使用gif图片
|
||||
@@ -1172,7 +1220,10 @@ export default defineComponent({
|
||||
item.oldSort = item.sort
|
||||
if(item?.childList?.length > 0){
|
||||
item.childList.forEach((childItem:any,childIndex:number)=>{
|
||||
childItem.sort = childIndex + item.sort + childLength
|
||||
childItem.oldSort = childItem.sort
|
||||
console.log(childItem.sort,childLength,index)
|
||||
childItem.sort = childItem.sort + childLength + index
|
||||
// childItem.sort = childIndex + item.sort + childLength
|
||||
designData.selectLikeDesign.push(childItem)
|
||||
})
|
||||
childLength = item.childList.length + childLength
|
||||
@@ -1193,6 +1244,7 @@ export default defineComponent({
|
||||
const parents = designData.selectLikeDesign.filter((item:any) => item.resultType === 'Design');
|
||||
parents.map((parent:any) => {
|
||||
parent.sort = parent.oldSort||parent.sort
|
||||
delete parent.oldSort
|
||||
return {
|
||||
...parent,
|
||||
childList: designData.selectLikeDesign.filter((item:any) =>
|
||||
@@ -1207,6 +1259,13 @@ export default defineComponent({
|
||||
})
|
||||
}
|
||||
const changeResultType = ()=>{
|
||||
if(designData.resultType == 'Design'){
|
||||
designData.isUnfold = false
|
||||
setUnfold()
|
||||
}else{
|
||||
designData.isUnfold = true
|
||||
// setUnfold()
|
||||
}
|
||||
if(designData.resultType != 'All'){
|
||||
if(designData.oldSelectLikeDesign.length == 0)designData.oldSelectLikeDesign = designData.selectLikeDesign
|
||||
if(designData.resultType == 'Product'){
|
||||
@@ -1263,7 +1322,6 @@ export default defineComponent({
|
||||
setSpeed,
|
||||
openEditTools,
|
||||
openCanvas,
|
||||
editToolsSuccess,
|
||||
uploadLikeDom,
|
||||
|
||||
likeItemDom,
|
||||
@@ -1284,7 +1342,6 @@ export default defineComponent({
|
||||
openCollection,
|
||||
setEditDesignType,
|
||||
openEditBtn,
|
||||
addGenerateImg,
|
||||
setNoDesignLike,
|
||||
upDataLikeListType,
|
||||
generateLoad,
|
||||
@@ -1294,6 +1351,7 @@ export default defineComponent({
|
||||
endHover,
|
||||
setUnfold,
|
||||
changeResultType,
|
||||
addGenerateImg,
|
||||
};
|
||||
},
|
||||
data() {
|
||||
@@ -1785,7 +1843,27 @@ export default defineComponent({
|
||||
},
|
||||
|
||||
//不喜欢设计
|
||||
dislikeDesignCollection(design:any,type:string, index: any) {
|
||||
async dislikeDesignCollection(design:any,type:string) {
|
||||
if(design?.childList?.length > 0){
|
||||
await new Promise((resolve, reject) => {
|
||||
Modal.confirm({
|
||||
title: this.t('LibraryPage.jsContent11'),
|
||||
icon: createVNode(ExclamationCircleOutlined),
|
||||
okText: 'Yes',
|
||||
cancelText: 'No',
|
||||
mask:false,
|
||||
zIndex:99999,
|
||||
centered:true,
|
||||
onOk() {
|
||||
resolve('')
|
||||
},
|
||||
onCancel(){
|
||||
return
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
}
|
||||
let data = {
|
||||
designId: design.designId || this.designId,
|
||||
designPythonOutfitId:design.designOutfitId,
|
||||
@@ -1793,10 +1871,6 @@ export default defineComponent({
|
||||
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
||||
projectId:this.store.state.Workspace.probjects.id,
|
||||
};
|
||||
if(type != 'Design'){
|
||||
this.setNoDesignLike(design,index,type,'disLike')
|
||||
return
|
||||
}
|
||||
if (this.disLikeLoading) {
|
||||
return;
|
||||
}
|
||||
@@ -1804,17 +1878,27 @@ export default defineComponent({
|
||||
Https.axiosPost(Https.httpUrls.designDislike, data)
|
||||
.then((rv: any) => {
|
||||
if (rv) {
|
||||
// this.store.commit("addDesignCollectionList", [design]);
|
||||
this.likeDesignCollectionList.forEach((item:any)=>{
|
||||
if(item.sort > design.sort){
|
||||
this.recycleDomHidden = true
|
||||
this.store.commit("addDesignCollectionList", [design]);
|
||||
let index = -1
|
||||
this.likeDesignCollectionList.forEach((item:any,likeIndex:number)=>{
|
||||
if(item.id == design.id){
|
||||
design.childList = []
|
||||
index = likeIndex
|
||||
}
|
||||
if((item?.oldSort || item.sort) > (design?.oldSort || design.sort)){
|
||||
item.sort-=1
|
||||
}
|
||||
})
|
||||
this.store.commit(
|
||||
"deleteLikeDesignCollectionList",
|
||||
index
|
||||
);
|
||||
this.setLikeDislLike('disLike',design)
|
||||
this.likeDesignCollectionList.splice(index,1)
|
||||
// this.store.commit(
|
||||
// "deleteLikeDesignCollectionList",
|
||||
// index
|
||||
// );
|
||||
design.childList = []
|
||||
nextTick(()=>{
|
||||
this.setLikeDislLike('disLike',design)
|
||||
})
|
||||
}
|
||||
this.disLikeLoading = false;
|
||||
})
|
||||
@@ -1997,6 +2081,7 @@ export default defineComponent({
|
||||
) {
|
||||
// if()
|
||||
if(this.isMove)return
|
||||
this.store.commit('setOpenChatStatus',false)
|
||||
if(design.resultType != "Design"){
|
||||
this.setEditDesignType(collectionList,index,design.resultType,'edit',type)
|
||||
return
|
||||
@@ -2123,29 +2208,29 @@ export default defineComponent({
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
// padding-left: 0.7rem;
|
||||
box-sizing: border-box;
|
||||
// overflow: hidden;
|
||||
|
||||
.designPage_left {
|
||||
// width: 44.4rem;
|
||||
width: 33%;
|
||||
height: 100%;
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
position: relative;
|
||||
// overflow: hidden;
|
||||
|
||||
|
||||
.designPage_left_content {
|
||||
height: 100%;
|
||||
width: 50rem;
|
||||
// width: 55rem;
|
||||
overflow: hidden;
|
||||
// transition: all .3s;
|
||||
padding-right: 1.2rem;
|
||||
&.active{
|
||||
&.active{
|
||||
width: 0;
|
||||
.designPage_left_content{
|
||||
padding-right: 0;
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
.designPage_left_content {
|
||||
height: 100%;
|
||||
// width: 50rem;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
padding-right: 1.2rem;
|
||||
|
||||
.home_left_info {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
@@ -2273,8 +2358,9 @@ export default defineComponent({
|
||||
flex: 1;
|
||||
display: flex;
|
||||
position: relative;
|
||||
width: 0;
|
||||
flex-direction: column;
|
||||
// min-width: 40%;
|
||||
width: 50%;
|
||||
&.recycleBin{
|
||||
flex: none;
|
||||
margin-left: 0;
|
||||
@@ -2283,9 +2369,10 @@ export default defineComponent({
|
||||
&.recycleBinShow{
|
||||
width: auto;
|
||||
margin-left: 2rem;
|
||||
width: calc(50% - 2rem);
|
||||
}
|
||||
.right_content_body {
|
||||
width: 55rem;
|
||||
width: 100%;
|
||||
// width: 55rem;
|
||||
.right_content_img_block{
|
||||
|
||||
@@ -2413,11 +2500,11 @@ export default defineComponent({
|
||||
top: 0rem;
|
||||
> .childItem{
|
||||
> .content_img_flex{
|
||||
object-fit: contain;
|
||||
border: 2px solid #00000070;
|
||||
}
|
||||
position: relative !important;
|
||||
>img{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2431,20 +2518,21 @@ export default defineComponent({
|
||||
border: 2px solid #000;
|
||||
}
|
||||
&.PoseTransfer{
|
||||
border: 2px solid #f0d9d0;
|
||||
border: 2px solid #c7c7c7;
|
||||
}
|
||||
&.ToProductImage{
|
||||
border: 2px solid #ccece5;
|
||||
border: 2px solid #c7c7c7;
|
||||
}
|
||||
&.Relight{
|
||||
border: 2px solid #ccece5;
|
||||
border: 2px solid #c7c7c7;
|
||||
}
|
||||
}
|
||||
}
|
||||
.content_img {
|
||||
height: 100%;
|
||||
// object-fit: contain;
|
||||
object-fit: cover;
|
||||
width: 100%;
|
||||
object-fit: contain;
|
||||
// object-fit: cover;
|
||||
}
|
||||
|
||||
.btn{
|
||||
@@ -2454,6 +2542,10 @@ export default defineComponent({
|
||||
position: absolute;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
@media (min-width: 1024px) {
|
||||
top: 1.5rem;
|
||||
right: 1.5rem;
|
||||
}
|
||||
> i{
|
||||
cursor: pointer;
|
||||
width: 3rem;
|
||||
@@ -2464,6 +2556,9 @@ export default defineComponent({
|
||||
text-shadow: 0px 0px 2px black, 0px 0px 2px black, 0px 0px 2px black;
|
||||
color: #fff;
|
||||
font-size: 1.7rem;
|
||||
@media (min-width: 1024px) {
|
||||
font-size: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.icon_like,.icon_delete {
|
||||
|
||||
Reference in New Issue
Block a user