Merge branch 'dev_vite' of ssh://18.167.251.121:10002/aidlab/aida_front into dev_vite
This commit is contained in:
@@ -339,6 +339,7 @@ setup(props:any,{emit}) {
|
|||||||
projectId:productimg.selectObject.id,
|
projectId:productimg.selectObject.id,
|
||||||
productImage:getMinioUrl(productimg.scaleImageList[productimg.scaleImageIndex].sourceUrl),
|
productImage:getMinioUrl(productimg.scaleImageList[productimg.scaleImageIndex].sourceUrl),
|
||||||
modelName:speed.speedData.value,
|
modelName:speed.speedData.value,
|
||||||
|
mode:1,
|
||||||
parentId:productimg.selectGenerate.parentId || productimg.selectGenerate.userLikeSortId,
|
parentId:productimg.selectGenerate.parentId || productimg.selectGenerate.userLikeSortId,
|
||||||
userLikeSortId:productimg.openType == 'add'?(productimg.selectGenerate.userLikeSortId || null):null,
|
userLikeSortId:productimg.openType == 'add'?(productimg.selectGenerate.userLikeSortId || null):null,
|
||||||
isDefaultLike:true,//表示是否生成就like
|
isDefaultLike:true,//表示是否生成就like
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
<div
|
<div
|
||||||
class="item"
|
class="item"
|
||||||
:class="{ active: item.id == selectImg.id }"
|
:class="{ active: item.id == selectImg.id }"
|
||||||
v-for="(item, index) in fileList"
|
v-for="(item, index) in showFirstFrameList"
|
||||||
@click="selectImgItem(item)"
|
@click="selectImgItem(item)"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
@@ -65,7 +65,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="upload_item item"
|
class="upload_item item"
|
||||||
v-show="!isDesignPage && !(videoType === 3 && fileList.length > 0)"
|
v-show="
|
||||||
|
!isDesignPage && !(videoType === 3 && showFirstFrameList.length > 0)
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<div class="upload_file_item">
|
<div class="upload_file_item">
|
||||||
<a-upload
|
<a-upload
|
||||||
@@ -74,8 +76,7 @@
|
|||||||
list-type="picture-card"
|
list-type="picture-card"
|
||||||
:capture="null"
|
:capture="null"
|
||||||
:data="{
|
:data="{
|
||||||
...upload,
|
...upload
|
||||||
type: 'first'
|
|
||||||
}"
|
}"
|
||||||
:headers="{ Authorization: token }"
|
:headers="{ Authorization: token }"
|
||||||
:before-upload="beforeUpload"
|
:before-upload="beforeUpload"
|
||||||
@@ -121,7 +122,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="item lastframe-list"
|
class="item lastframe-list"
|
||||||
:class="{ active: item.id == selectImg.id }"
|
:class="{ active: item.id == lastSelectImg.id }"
|
||||||
v-for="(item, index) in lastFrameList"
|
v-for="(item, index) in lastFrameList"
|
||||||
@click="selectImgItem(item, true)"
|
@click="selectImgItem(item, true)"
|
||||||
>
|
>
|
||||||
@@ -231,12 +232,6 @@
|
|||||||
<div v-show="isGenerate" class="generage_btn started_btn">
|
<div v-show="isGenerate" class="generage_btn started_btn">
|
||||||
<i class="fi fi-br-loading"></i>
|
<i class="fi fi-br-loading"></i>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div v-show="isGenerate && remGenerate" class="generage_btn started_btn">
|
|
||||||
<i class="fi fi-br-loading"></i>
|
|
||||||
</div> -->
|
|
||||||
<!-- <div v-show="remGenerate" @click="setRemoveGenerate" class="generage_btn started_btn">
|
|
||||||
{{$t('Generate.Close')}}
|
|
||||||
</div> -->
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="likeBox">
|
<div class="likeBox">
|
||||||
@@ -344,7 +339,7 @@ export default defineComponent({
|
|||||||
token: getCookie('token'),
|
token: getCookie('token'),
|
||||||
upload: {
|
upload: {
|
||||||
projectId: computed(() => store.state.Workspace.probjects.id),
|
projectId: computed(() => store.state.Workspace.probjects.id),
|
||||||
type: 'first' // first首帧 last尾帧
|
type: null // first首帧 last尾帧
|
||||||
},
|
},
|
||||||
waitList: [],
|
waitList: [],
|
||||||
likeList: computed(() => {
|
likeList: computed(() => {
|
||||||
@@ -362,7 +357,6 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
isGenerate: false, //判断是否正在进行generate
|
isGenerate: false, //判断是否正在进行generate
|
||||||
remGenerate: false,
|
|
||||||
removeGenerate: false,
|
removeGenerate: false,
|
||||||
generateTime: null as any,
|
generateTime: null as any,
|
||||||
poseList: [],
|
poseList: [],
|
||||||
@@ -431,7 +425,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 处理首帧选择
|
// 处理首帧选择
|
||||||
data.fileList.forEach((listItem: any) => (listItem.isChecked = false))
|
showFirstFrameList.value.forEach((listItem: any) => (listItem.isChecked = false))
|
||||||
data.currentList.forEach((listItem: any) => (listItem.isChecked = false))
|
data.currentList.forEach((listItem: any) => (listItem.isChecked = false))
|
||||||
item.isChecked = true
|
item.isChecked = true
|
||||||
data.selectImg = item
|
data.selectImg = item
|
||||||
@@ -516,7 +510,12 @@ export default defineComponent({
|
|||||||
}, 200)
|
}, 200)
|
||||||
}
|
}
|
||||||
const getgenerate = async () => {
|
const getgenerate = async () => {
|
||||||
if (!data.selectImg.minioUrl) return message.info(t('ProductImg.jsContent2'))
|
if (videoType.value === 3 && !data.lastSelectImg.minioUrl) {
|
||||||
|
message.info(t('poseTransfer.NeedLastFrame'))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!data.selectImg.minioUrl) return message.info(t('poseTransfer.NeedFirstFrame'))
|
||||||
|
debugger
|
||||||
if (data.isGenerate) return
|
if (data.isGenerate) return
|
||||||
await new Promise((res, reject) => {
|
await new Promise((res, reject) => {
|
||||||
Modal.confirm({
|
Modal.confirm({
|
||||||
@@ -536,8 +535,6 @@ export default defineComponent({
|
|||||||
})
|
})
|
||||||
|
|
||||||
data.isGenerate = true
|
data.isGenerate = true
|
||||||
// data.remGenerateTime = setTimeout(()=>{
|
|
||||||
// },10000)
|
|
||||||
|
|
||||||
let value = {
|
let value = {
|
||||||
poseId: data.selectPose,
|
poseId: data.selectPose,
|
||||||
@@ -561,7 +558,6 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
Https.axiosPost(Https.httpUrls.poseTransform, value)
|
Https.axiosPost(Https.httpUrls.poseTransform, value)
|
||||||
.then(rv => {
|
.then(rv => {
|
||||||
data.remGenerate = true
|
|
||||||
data.noLikeList.unshift({
|
data.noLikeList.unshift({
|
||||||
taskId: rv.taskId,
|
taskId: rv.taskId,
|
||||||
parentId: data.selectImg.parentId
|
parentId: data.selectImg.parentId
|
||||||
@@ -570,8 +566,6 @@ export default defineComponent({
|
|||||||
})
|
})
|
||||||
.catch((res: any) => {
|
.catch((res: any) => {
|
||||||
data.isGenerate = false
|
data.isGenerate = false
|
||||||
clearInterval(data.remGenerateTime)
|
|
||||||
data.remGenerate = false
|
|
||||||
if (res.errCode === 2) {
|
if (res.errCode === 2) {
|
||||||
Modal.confirm({
|
Modal.confirm({
|
||||||
title: res.errMsg,
|
title: res.errMsg,
|
||||||
@@ -594,7 +588,7 @@ export default defineComponent({
|
|||||||
data.waitList = list
|
data.waitList = list
|
||||||
let state = true
|
let state = true
|
||||||
data.generateTime = setInterval(() => {
|
data.generateTime = setInterval(() => {
|
||||||
if (!data.isGenerate || !data.remGenerate) return
|
if (!data.isGenerate) return
|
||||||
if (!state) return
|
if (!state) return
|
||||||
state = false
|
state = false
|
||||||
Https.axiosPost(Https.httpUrls.poseTransformResult, list)
|
Https.axiosPost(Https.httpUrls.poseTransformResult, list)
|
||||||
@@ -612,8 +606,6 @@ export default defineComponent({
|
|||||||
data.noLikeList[index] = element
|
data.noLikeList[index] = element
|
||||||
list = ''
|
list = ''
|
||||||
clearInterval(data.generateTime)
|
clearInterval(data.generateTime)
|
||||||
clearInterval(data.remGenerateTime)
|
|
||||||
data.remGenerate = false
|
|
||||||
data.isGenerate = false
|
data.isGenerate = false
|
||||||
// if(list?.filter)list = list?.filter((item:any) => item !== element.taskId);
|
// if(list?.filter)list = list?.filter((item:any) => item !== element.taskId);
|
||||||
store.dispatch('getCredits')
|
store.dispatch('getCredits')
|
||||||
@@ -624,8 +616,6 @@ export default defineComponent({
|
|||||||
message.info(t('ProductImg.jsContent3'))
|
message.info(t('ProductImg.jsContent3'))
|
||||||
data.noLikeList.splice(index, 1)
|
data.noLikeList.splice(index, 1)
|
||||||
clearInterval(data.generateTime)
|
clearInterval(data.generateTime)
|
||||||
clearInterval(data.remGenerateTime)
|
|
||||||
data.remGenerate = false
|
|
||||||
data.isGenerate = false
|
data.isGenerate = false
|
||||||
store.dispatch('getCredits')
|
store.dispatch('getCredits')
|
||||||
}
|
}
|
||||||
@@ -636,16 +626,13 @@ export default defineComponent({
|
|||||||
let index = data.noLikeList.findIndex((obj: any) => obj.taskId === list)
|
let index = data.noLikeList.findIndex((obj: any) => obj.taskId === list)
|
||||||
data.noLikeList.splice(index, 1)
|
data.noLikeList.splice(index, 1)
|
||||||
clearInterval(data.generateTime)
|
clearInterval(data.generateTime)
|
||||||
clearInterval(data.remGenerateTime)
|
|
||||||
data.isGenerate = false
|
data.isGenerate = false
|
||||||
data.remGenerate = false
|
|
||||||
})
|
})
|
||||||
}, 10000)
|
}, 10000)
|
||||||
}
|
}
|
||||||
const setRemoveGenerate = () => {
|
const setRemoveGenerate = () => {
|
||||||
//取消操作
|
//取消操作
|
||||||
data.isGenerate = false
|
data.isGenerate = false
|
||||||
data.remGenerate = false
|
|
||||||
clearInterval(data.generateTime)
|
clearInterval(data.generateTime)
|
||||||
if (data.waitList) {
|
if (data.waitList) {
|
||||||
// let str = data.waitList.map((obj:any) => obj.taskId).join(',');
|
// let str = data.waitList.map((obj:any) => obj.taskId).join(',');
|
||||||
@@ -691,7 +678,7 @@ export default defineComponent({
|
|||||||
if (!isLt2M) {
|
if (!isLt2M) {
|
||||||
message.info(useI18n().t('MoodboardUpload.jsContent4'))
|
message.info(useI18n().t('MoodboardUpload.jsContent4'))
|
||||||
}
|
}
|
||||||
if (!data?.upload?.projectId && !isSelectObject) {
|
if (!route?.query?.id && !isSelectObject) {
|
||||||
isSelectObject = true
|
isSelectObject = true
|
||||||
await createProbject()
|
await createProbject()
|
||||||
}
|
}
|
||||||
@@ -705,26 +692,28 @@ export default defineComponent({
|
|||||||
if (res.errCode == 0) {
|
if (res.errCode == 0) {
|
||||||
file.imgUrl = res.data.url
|
file.imgUrl = res.data.url
|
||||||
file.id = res.data.id
|
file.id = res.data.id
|
||||||
file.frameType = 'first'
|
|
||||||
data.currentList.forEach((listItem: any) => (listItem.isChecked = false))
|
data.currentList.forEach((listItem: any) => (listItem.isChecked = false))
|
||||||
// data.fileList.forEach((listItem:any)=>{
|
|
||||||
// if(listItem.id == file.id){
|
|
||||||
// listItem.isChecked = true
|
|
||||||
// }else{
|
|
||||||
// listItem.isChecked = false
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
file.type = 'ProductElement'
|
file.type = 'ProductElement'
|
||||||
// if(props.productimgMenu.value == 'Relight'){
|
if (videoType.value === 3) {
|
||||||
// file.type = "ToProductImage"
|
file.frameType = 'first'
|
||||||
// }
|
}
|
||||||
data.selectImg = res.data
|
|
||||||
// data.fileList.filter((v: any) => v.status === "done");
|
|
||||||
let storeData = {
|
let storeData = {
|
||||||
str: 'add',
|
str: 'add',
|
||||||
list: [file]
|
list: [file]
|
||||||
}
|
}
|
||||||
store.commit('setUploadElement', storeData)
|
store.commit('setUploadElement', storeData)
|
||||||
|
// 上传成功后,设置选中状态
|
||||||
|
file.isChecked = true
|
||||||
|
// 取消 showFirstFrameList 中其他项的选中状态
|
||||||
|
showFirstFrameList.value.forEach((listItem: any) => {
|
||||||
|
if (listItem.id !== file.id) {
|
||||||
|
listItem.isChecked = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
data.selectImg = res.data
|
||||||
|
if (res.data.url || res.data.imgUrl) {
|
||||||
|
data.selectImg.minioUrl = getMinioUrl(res.data.url || res.data.imgUrl)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
bor = false
|
bor = false
|
||||||
}
|
}
|
||||||
@@ -816,34 +805,62 @@ export default defineComponent({
|
|||||||
.then(rv => {
|
.then(rv => {
|
||||||
if (str == 'like') {
|
if (str == 'like') {
|
||||||
item.newLike = true
|
item.newLike = true
|
||||||
let value = {
|
// 从 noLikeList 中查找索引并删除
|
||||||
|
const noLikeIndex = store.state.HomeStoreModule.poseTransfer.list.findIndex(
|
||||||
|
(v: any) => v.id === item.id
|
||||||
|
)
|
||||||
|
if (noLikeIndex !== -1) {
|
||||||
|
let deleteValue = {
|
||||||
|
list: [],
|
||||||
|
str: 'splice',
|
||||||
|
index: noLikeIndex
|
||||||
|
}
|
||||||
|
store.commit('setPoseTransfer', deleteValue)
|
||||||
|
}
|
||||||
|
// 添加到 likedList
|
||||||
|
let addValue = {
|
||||||
likedList: [
|
likedList: [
|
||||||
{
|
{
|
||||||
...item,
|
...item,
|
||||||
sort: rv.sort,
|
sort: rv?.sort ?? item.sort,
|
||||||
parentId: rv.parentId
|
parentId: rv?.parentId ?? item.parentId
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
str: 'add',
|
str: 'add',
|
||||||
index: -1
|
index: -1
|
||||||
}
|
}
|
||||||
store.commit('setPoseTransfer', value)
|
store.commit('setPoseTransfer', addValue)
|
||||||
data.noLikeList.splice(index, 1)
|
|
||||||
} else {
|
} else {
|
||||||
let value = {
|
item.newLike = false
|
||||||
likedList: [
|
// 从 likedList 中查找索引并删除
|
||||||
|
const likedIndex =
|
||||||
|
store.state.HomeStoreModule.poseTransfer.likedList.findIndex(
|
||||||
|
(v: any) => v.id === item.id
|
||||||
|
)
|
||||||
|
if (likedIndex !== -1) {
|
||||||
|
let deleteValue = {
|
||||||
|
likedList: [],
|
||||||
|
str: 'splice',
|
||||||
|
index: likedIndex
|
||||||
|
}
|
||||||
|
store.commit('setPoseTransfer', deleteValue)
|
||||||
|
}
|
||||||
|
// 添加到 noLikeList
|
||||||
|
let addValue = {
|
||||||
|
list: [
|
||||||
{
|
{
|
||||||
...item
|
...item
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
str: 'splice',
|
str: 'add',
|
||||||
index: index
|
index: -1
|
||||||
}
|
}
|
||||||
data.noLikeList.push(item)
|
store.commit('setPoseTransfer', addValue)
|
||||||
store.commit('setPoseTransfer', value)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(res => {})
|
.catch(res => {
|
||||||
|
console.error('likeFile error:', res)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
const selectPose = (item: any) => {
|
const selectPose = (item: any) => {
|
||||||
data.poseList.forEach((listItem: any) => (listItem.isChecked = false))
|
data.poseList.forEach((listItem: any) => (listItem.isChecked = false))
|
||||||
@@ -873,8 +890,16 @@ export default defineComponent({
|
|||||||
{ params: value }
|
{ params: value }
|
||||||
).then(rv => {
|
).then(rv => {
|
||||||
if (isLastFrame) {
|
if (isLastFrame) {
|
||||||
|
// 如果删除的是当前选中的尾帧,清空选中状态
|
||||||
|
if (data.lastSelectImg?.id === item.id) {
|
||||||
|
data.lastSelectImg = {}
|
||||||
|
}
|
||||||
store.commit('setPoseTransferLastFrameList')
|
store.commit('setPoseTransferLastFrameList')
|
||||||
}else{
|
} else {
|
||||||
|
// 如果删除的是当前选中的首帧,清空选中状态
|
||||||
|
if (data.selectImg?.id === item.id) {
|
||||||
|
data.selectImg = {}
|
||||||
|
}
|
||||||
let storeData = {
|
let storeData = {
|
||||||
str: 'delete',
|
str: 'delete',
|
||||||
index
|
index
|
||||||
@@ -883,28 +908,50 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const videoType = ref(2)
|
||||||
|
const showMotion = computed(() => videoType.value === 1)
|
||||||
|
const options = ref([
|
||||||
|
{ vlaue: 2, label: t('poseTransfer.FirstFrame') },
|
||||||
|
{ value: 3, label: t('poseTransfer.FirstAndLastFrames') },
|
||||||
|
{ value: 1, label: t('poseTransfer.FirstFrameAndSkeleton') }
|
||||||
|
])
|
||||||
|
|
||||||
|
const firstFrameList = ref([])
|
||||||
|
const lastFrameList = ref([])
|
||||||
|
const showFirstFrameList = computed(() => {
|
||||||
|
if(props.isDesignPage) return data.fileList
|
||||||
|
return videoType.value === 3 ? firstFrameList.value : data.fileList
|
||||||
|
})
|
||||||
watch(
|
watch(
|
||||||
() => store.state.HomeStoreModule.uploadElement.length,
|
() => store.state.HomeStoreModule.uploadElement.length,
|
||||||
(newVal, oldVal) => {
|
(newVal, oldVal) => {
|
||||||
if (props.isDesignPage) return
|
if (props.isDesignPage || (!route.query?.id && !route.query?.history)) return
|
||||||
data.fileList = store.state.HomeStoreModule.uploadElement.filter(
|
data.fileList = store.state.HomeStoreModule.uploadElement.filter(
|
||||||
|
item => !item.frameType
|
||||||
|
)
|
||||||
|
|
||||||
|
firstFrameList.value = store.state.HomeStoreModule.uploadElement.filter(
|
||||||
item => item.frameType === 'first'
|
item => item.frameType === 'first'
|
||||||
)
|
)
|
||||||
|
|
||||||
lastFrameList.value = store.state.HomeStoreModule.uploadElement.filter(
|
lastFrameList.value = store.state.HomeStoreModule.uploadElement.filter(
|
||||||
item => item.frameType === 'last'
|
item => item.frameType === 'last'
|
||||||
)
|
)
|
||||||
|
// 更新 showFirstFrameList 中项的选中状态
|
||||||
data.fileList.forEach((listItem: any) => {
|
showFirstFrameList.value.forEach((listItem: any) => {
|
||||||
if (listItem.id == data.selectImg.id) {
|
if (listItem.id == data.selectImg.id) {
|
||||||
listItem.isChecked = true
|
listItem.isChecked = true
|
||||||
} else {
|
} else {
|
||||||
listItem.isChecked = false
|
listItem.isChecked = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
{
|
||||||
|
immediate: true
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
// 全局维护尾帧上传列表,保持与主上传一致
|
|
||||||
const lastFrameList = ref([])
|
|
||||||
watch(
|
watch(
|
||||||
() => store.state.HomeStoreModule.lastFrameList,
|
() => store.state.HomeStoreModule.lastFrameList,
|
||||||
val => {
|
val => {
|
||||||
@@ -917,6 +964,31 @@ export default defineComponent({
|
|||||||
{ immediate: true }
|
{ immediate: true }
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// 首帧图片的type 切换为首尾帧时type=first,其他情况type为null
|
||||||
|
watch(
|
||||||
|
() => videoType.value,
|
||||||
|
newVal => {
|
||||||
|
if (newVal === 3) {
|
||||||
|
data.upload.type = 'first'
|
||||||
|
} else {
|
||||||
|
delete data.upload.type
|
||||||
|
}
|
||||||
|
// 当 videoType 改变时,检查 selectImg 是否在当前 showFirstFrameList 中
|
||||||
|
// 如果不在,清空选中状态或选择列表中的第一项
|
||||||
|
const currentList = showFirstFrameList.value
|
||||||
|
if (data.selectImg?.id) {
|
||||||
|
const exists = currentList.some((item: any) => item.id === data.selectImg.id)
|
||||||
|
if (!exists) {
|
||||||
|
// 如果当前选中的项不在新列表中,清空选中状态
|
||||||
|
data.selectImg = {}
|
||||||
|
// 取消所有项的选中状态
|
||||||
|
currentList.forEach((item: any) => (item.isChecked = false))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ immediate: true }
|
||||||
|
)
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => data.noLikeList.length,
|
() => data.noLikeList.length,
|
||||||
(newVal, oldVal) => {
|
(newVal, oldVal) => {
|
||||||
@@ -925,7 +997,6 @@ export default defineComponent({
|
|||||||
let taskIdList = list.filter((item: any) => !item.videoUrl)[0]
|
let taskIdList = list.filter((item: any) => !item.videoUrl)[0]
|
||||||
if (taskIdList?.length > 0) {
|
if (taskIdList?.length > 0) {
|
||||||
data.isGenerate = true
|
data.isGenerate = true
|
||||||
data.remGenerate = true
|
|
||||||
setGenerate(taskIdList[0].taskId)
|
setGenerate(taskIdList[0].taskId)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -933,19 +1004,9 @@ export default defineComponent({
|
|||||||
{ immediate: true }
|
{ immediate: true }
|
||||||
)
|
)
|
||||||
|
|
||||||
const videoType = ref(2)
|
|
||||||
const showMotion = computed(() => videoType.value === 1)
|
|
||||||
const options = ref([
|
|
||||||
{ vlaue: 2, label: t('poseTransfer.FirstFrame') },
|
|
||||||
{ value: 3, label: t('poseTransfer.FirstAndLastFrames') },
|
|
||||||
{ value: 1, label: t('poseTransfer.FirstFrameAndSkeleton') }
|
|
||||||
])
|
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
clearInterval(data.generateTime)
|
clearInterval(data.generateTime)
|
||||||
clearInterval(data.remGenerateTime)
|
|
||||||
data.isGenerate = false
|
data.isGenerate = false
|
||||||
data.remGenerate = false
|
|
||||||
})
|
})
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -953,6 +1014,8 @@ export default defineComponent({
|
|||||||
...toRefs(dataDom),
|
...toRefs(dataDom),
|
||||||
...toRefs(data),
|
...toRefs(data),
|
||||||
lastFrameList,
|
lastFrameList,
|
||||||
|
firstFrameList,
|
||||||
|
showFirstFrameList,
|
||||||
openSetData,
|
openSetData,
|
||||||
selectImgItem,
|
selectImgItem,
|
||||||
setSize,
|
setSize,
|
||||||
|
|||||||
@@ -295,6 +295,8 @@ export default {
|
|||||||
GeneratedVideo: '生成的视频',
|
GeneratedVideo: '生成的视频',
|
||||||
hint: '将这张图像转化为一张逼真、达到工作室水准的照片。在生活中真实存在的人',
|
hint: '将这张图像转化为一张逼真、达到工作室水准的照片。在生活中真实存在的人',
|
||||||
jsContent1: '生成视频预计需要三分钟,请问是否继续',
|
jsContent1: '生成视频预计需要三分钟,请问是否继续',
|
||||||
|
NeedFirstFrame:'请选择首帧图片',
|
||||||
|
NeedLastFrame:'请选择尾帧图片',
|
||||||
SingleGarment:
|
SingleGarment:
|
||||||
'专业产品摄影:服装展示于隐形模特上,模特不可见。完整保留设计细节——所有图案、颜色、质地及细节特征。', // 单品样衣
|
'专业产品摄影:服装展示于隐形模特上,模特不可见。完整保留设计细节——所有图案、颜色、质地及细节特征。', // 单品样衣
|
||||||
SingleChildTryOn:
|
SingleChildTryOn:
|
||||||
|
|||||||
@@ -305,6 +305,8 @@ export default {
|
|||||||
GeneratedVideo: 'Generated Video',
|
GeneratedVideo: 'Generated Video',
|
||||||
hint: 'Transform this image into a realistic, studio-quality photograph. To the real photo real people',
|
hint: 'Transform this image into a realistic, studio-quality photograph. To the real photo real people',
|
||||||
jsContent1: 'Video generation will take approximately 3 minutes. Continue?',
|
jsContent1: 'Video generation will take approximately 3 minutes. Continue?',
|
||||||
|
NeedFirstFrame: 'Please select the first frame image',
|
||||||
|
NeedLastFrame: 'Please select the last frame image',
|
||||||
SingleGarment:
|
SingleGarment:
|
||||||
'Professional product photo: garment on invisible mannequin, no model visible. Preserve exact design - all patterns, colors, textures, details.', // 单品样衣
|
'Professional product photo: garment on invisible mannequin, no model visible. Preserve exact design - all patterns, colors, textures, details.', // 单品样衣
|
||||||
SingleChildTryOn:
|
SingleChildTryOn:
|
||||||
@@ -332,7 +334,8 @@ export default {
|
|||||||
firstAndLastFramePlaceholder1: '[Camera Movement]',
|
firstAndLastFramePlaceholder1: '[Camera Movement]',
|
||||||
firstAndLastFrameText2: 'to follow the motion, under',
|
firstAndLastFrameText2: 'to follow the motion, under',
|
||||||
firstAndLastFramePlaceholder2: '[Light]',
|
firstAndLastFramePlaceholder2: '[Light]',
|
||||||
firstAndLastFrameText3: ', maintaining full consistency of model identity, styling, and outfit across all frames.',
|
firstAndLastFrameText3:
|
||||||
|
', maintaining full consistency of model identity, styling, and outfit across all frames.',
|
||||||
firstFrameText1: 'Set the',
|
firstFrameText1: 'Set the',
|
||||||
firstFramePlaceholder1: '[Scene]',
|
firstFramePlaceholder1: '[Scene]',
|
||||||
firstFrameText2: ', where the model',
|
firstFrameText2: ', where the model',
|
||||||
|
|||||||
@@ -523,7 +523,7 @@ export default defineComponent({
|
|||||||
bathGenerationList: ['poseTransfer', 'SERIES_DESIGN', 'toProduct', 'relight'],
|
bathGenerationList: ['poseTransfer', 'SERIES_DESIGN', 'toProduct', 'relight'],
|
||||||
showHistory: false,
|
showHistory: false,
|
||||||
isNewProject: false,
|
isNewProject: false,
|
||||||
cachedRoutes:computed(()=>store.state.Workspace.cachedRoutes),//
|
cachedRoutes: computed(() => store.state.Workspace.cachedRoutes) //
|
||||||
})
|
})
|
||||||
let userDetail = computed(() => {
|
let userDetail = computed(() => {
|
||||||
return store.state.UserHabit.userDetail
|
return store.state.UserHabit.userDetail
|
||||||
@@ -578,7 +578,7 @@ export default defineComponent({
|
|||||||
nextTick(async () => {
|
nextTick(async () => {
|
||||||
const key = Object.keys(query)?.[0]
|
const key = Object.keys(query)?.[0]
|
||||||
if (key) {
|
if (key) {
|
||||||
if (query.id) {
|
if (query.id && !query.tools) {
|
||||||
homeMainData.openType = 'history'
|
homeMainData.openType = 'history'
|
||||||
homeMainData.openTypeChild = query.id
|
homeMainData.openTypeChild = query.id
|
||||||
} else {
|
} else {
|
||||||
@@ -1030,7 +1030,7 @@ export default defineComponent({
|
|||||||
if (currentProjectActive.value) return
|
if (currentProjectActive.value) return
|
||||||
if (currentProjectPath.value) {
|
if (currentProjectPath.value) {
|
||||||
router.push(currentProjectPath.value)
|
router.push(currentProjectPath.value)
|
||||||
// router.back()
|
// router.back()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -466,6 +466,8 @@ export default defineComponent({
|
|||||||
// this.$router.push({ name: 'homePage', params: { id: record.id, type: 'History' } })
|
// this.$router.push({ name: 'homePage', params: { id: record.id, type: 'History' } })
|
||||||
// this.store.commit('setChooseIsDesign', num)
|
// this.store.commit('setChooseIsDesign', num)
|
||||||
// router.push(`/home/tools?tools=toProduct&id=${childItem.id}`)
|
// router.push(`/home/tools?tools=toProduct&id=${childItem.id}`)
|
||||||
|
|
||||||
|
this.store.state.Workspace.cachedRoutes = [];
|
||||||
this.store.commit('setProjectPath','')
|
this.store.commit('setProjectPath','')
|
||||||
if (record.process == 'SERIES_DESIGN' || record.process == 'SINGLE_DESIGN') {
|
if (record.process == 'SERIES_DESIGN' || record.process == 'SINGLE_DESIGN') {
|
||||||
this.$router.push(`/home/history/${record?.id}`)
|
this.$router.push(`/home/history/${record?.id}`)
|
||||||
|
|||||||
Reference in New Issue
Block a user