修改generate功能

This commit is contained in:
X1627315083
2024-04-19 10:49:05 +08:00
parent 6d7a597876
commit d560c5ab09
8 changed files with 178 additions and 165 deletions

View File

@@ -156,7 +156,7 @@
</div>
</div>
</div>
<div v-else class="generage_img Guide_1_6">
<div v-else class="generage_img Guide_1_6" :style="[loadingShow?'overflow:hidden':'']">
<div
class="generage_img_item"
v-for="(item, index) in fileList"
@@ -164,7 +164,8 @@
@click="generageAdd(item)"
:class="[item?.checked?'active':'']"
>
<img v-lazy="item.imgUrl" alt="" />
<img v-show="item.status != 'Success'" src="@/assets/images/homePage/loading.gif" alt="">
<img v-show="item.status == 'Success'" :src="item.imgUrl" @click.stop="generageAdd(item)">
<div
class="delete_like_file_block"
:class="[driver__.driver?'hideEvents':'']"
@@ -181,9 +182,6 @@
</div>
<div class="mark_loading" v-show="loadingShow">
<a-spin size="large" />
<!-- <div class="mark_loading_text" v-show="generateLineUp >= 0">
<div>{{$t('Generate.Sequence')}}: {{ generateLineUp }}</div>
</div> -->
<div v-show="remGenerate" :class="[driver__.driver?'hideEvents':'']" class="mark_loading_btn" @click="removeGenerate">{{$t('Generate.Close')}}</div>
</div>
<scaleImage ref="scaleImage"></scaleImage>
@@ -263,9 +261,8 @@ export default defineComponent({
let isTest = ref()
let userInfo:any = {}
let generateId:any = ref()
let generateId:any = ref([])
let generateTime:any = ref()
let generateLineUp:any = ref(-1)
let remGenerate:any = ref(false)
let remGenerateTime:any = ref()
return {
@@ -302,7 +299,6 @@ export default defineComponent({
userInfo,
generateId,
generateTime,
generateLineUp,
remGenerate,
remGenerateTime,
};
@@ -568,7 +564,12 @@ export default defineComponent({
return
}
}
this.generateId = rv.uniqueId
rv.uniqueId.forEach((item:any) => {
let arr:any = {}
arr.taskId = item
arr.status = 'execution'
this.fileList.unshift(arr)
});
this.setGenerate()
this.remGenerateTime = setTimeout(()=>{
this.remGenerate = true
@@ -605,34 +606,33 @@ export default defineComponent({
},
setGenerate(){
this.generateTime = setInterval(()=>{
let data = {uniqueId:this.generateId}
Https.axiosGet(Https.httpUrls.generateResult, {params:data}).then(
let data = this.fileList.filter((item:any)=>item.status != 'Success').map((obj:any) => obj.taskId);
Https.axiosPost(Https.httpUrls.generateResult, data).then(
(rv) => {
if(rv.generateId){
this.generateLineUp = -1
this.fileList = []
let arr
rv.generatedCollectionItems.forEach((v:any,index:number)=>{
arr = {
id:rv.generatedCollectionItems[index].generateItemId,
imgUrl:rv.generatedCollectionItems[index].generateItemUrl,
like:rv.generatedCollectionItems[index].isLiked
}
this.fileList.push(arr)
if(this.loadingShow){//防止取消后有正在执行的获取状态
let arr:any = []
arr = rv.filter((item:any)=>item.status != 'Success')
rv.forEach((element:any) => {
element.imgUrl = element.url
element.id_ = GO.id++
this.fileList.forEach((item:any,index:any) => {
if(item.taskId == element.taskId && element.status == 'Success'){
this.fileList[index] = element
}
});
});
if(arr.length == 0){
nextTick().then(()=>{
if(this.driver__.driver){
driverObj__.moveNext()
}
})
clearInterval(this.generateTime)
clearInterval(this.remGenerateTime)
this.loadingShow = false
})
this.generateId = ''
nextTick().then(()=>{
if(this.driver__.driver){
driverObj__.moveNext()
}
})
clearInterval(this.generateTime)
clearInterval(this.remGenerateTime)
this.remGenerate = false
}else{
this.generateLineUp = rv.rankPosition
this.remGenerate = false
}
}
}
).catch(res=>{
@@ -640,16 +640,18 @@ export default defineComponent({
clearInterval(this.remGenerateTime)
this.loadingShow = false
});
},5000)
},1000)
},
removeGenerate(){
if(this.generateId){
let data = {uniqueId:this.generateId,userId:this?.userInfo?.userId,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}
let arr = this.fileList.filter((item:any)=>item.status != 'Success')
if(arr){
let str = arr.map((obj:any) => obj.taskId).join(',');
let data = {uniqueId:str,userId:this?.userInfo?.userId,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}
Https.axiosGet(Https.httpUrls.generateStopWaiting, {params:data}).then(
(rv) => {
this.generateId = ''
this.fileList = this.fileList.filter((item:any)=>item.status == 'Success')
this.loadingShow = false
this.generateLineUp = -1
clearInterval(this.generateTime)
}
).catch(res=>{