修改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

@@ -279,7 +279,9 @@
<div class="content_body_table scroll_style">
<div class="content_img_item" v-for="(img,index) in generateList" :key="img.id">
<div :class="['content_img_item_block', selectImgList.indexOf(img.id) > -1 ? 'select_item_img' :'']">
<img v-lazy="img.imgUrl" :key="img.imgUrl" :class="['content_img', ['Moodboard','Printboard'].indexOf(selectCode) > -1 ? 'board_content_img' :'']"/>
<img v-show="img.status != 'Success'" :class="['content_img', ['Moodboard','Printboard'].indexOf(selectCode) > -1 ? 'board_content_img' :'']" src="@/assets/images/homePage/loading.gif" alt="">
<img v-show="img.status == 'Success'" :class="['content_img', ['Moodboard','Printboard'].indexOf(selectCode) > -1 ? 'board_content_img' :'']" :src="img.imgUrl">
<div class="img_item_hover">
<div class="img_operate_content">
<div class="img_operate_block">
@@ -318,9 +320,7 @@
<!-- 蒙层 start-->
<div class="mark_loading" v-show="isShowMark">
<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="mark_loading_btn" @click="removeGenerate">{{$t('Generate.Close')}}</div>
</div>
@@ -435,9 +435,7 @@ export default defineComponent({
let driver__:any = computed(()=>{
return store.state.Guide.guide
})
let generateId:any = ref()
let generateTime:any = ref()
let generateLineUp:any = ref(-1)
let isGenerate:any = ref(false)
let remGenerate:any = ref(false)
let remGenerateTime:any = ref()
@@ -484,9 +482,7 @@ export default defineComponent({
intersection,
isTest,
driver__,
generateId,
generateTime,
generateLineUp,
isGenerate,
remGenerate,
remGenerateTime,
@@ -1148,11 +1144,16 @@ export default defineComponent({
return
}
}
this.generateId = rv.uniqueId
rv.uniqueId.forEach((item:any) => {
let arr:any = {}
arr.taskId = item
arr.status = 'execution'
this.generateList.unshift(arr)
});
this.setGenerate()
this.remGenerateTime = setTimeout(()=>{
this.remGenerate = true
},10000)
},1000)
}
).catch(res=>{
this.isShowMark = false
@@ -1161,30 +1162,30 @@ export default defineComponent({
},
setGenerate(){
this.generateTime = setInterval(()=>{
let data = {uniqueId:this.generateId}
Https.axiosGet(Https.httpUrls.generateResult, {params:data}).then(
let data = this.generateList.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
clearInterval(this.generateTime)
let arr
rv.generatedCollectionItems.forEach((v:any,index:number)=>{
arr = {
id:v.generateItemId,
imgUrl:v.generateItemUrl,
like:v.isLiked
}
// this.generateList.push(arr)
this.generateList.unshift(arr)
if(this.isShowMark){//防止取消后有正在执行的获取状态
let arr:any = []
arr = rv.filter((item:any)=>item.status != 'Success')
rv.forEach((element:any) => {
element.imgUrl = element.url
this.generateList.forEach((item:any,index:any) => {
if(item.taskId == element.taskId && element.status == 'Success'){
this.generateList[index] = element
}
});
});
})
// this.isShowMark = false
this.isGenerate = false
this.isShowMark = false
clearInterval(this.remGenerateTime)
this.remGenerate = false
}else{
this.generateLineUp = rv.rankPosition
if(arr.length == 0){
clearInterval(this.generateTime)
clearInterval(this.remGenerateTime)
this.isShowMark = false
this.remGenerate = false
this.isGenerate = false
}
}
}
).catch(res=>{
@@ -1193,17 +1194,20 @@ export default defineComponent({
this.isShowMark = false
this.isGenerate = false
});
},5000)
},1000)
},
removeGenerate(){
if(this.generateId){
let data = {uniqueId:this.generateId,userId:(this?.userInfo as any).userId,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}
let arr = this.generateList.filter((item:any)=>item.status != 'Success')
if(arr){
let str = arr.map((obj:any) => obj.taskId).join(',');
let data = {uniqueId:str,userId:(this?.userInfo as any)?.userId,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}
Https.axiosGet(Https.httpUrls.generateStopWaiting, {params:data}).then(
(rv) => {
this.generateId = ''
this.generateList = this.generateList.filter((item:any)=>item.status == 'Success')
this.isShowMark = false
this.isGenerate = false
this.generateLineUp = -1
this.remGenerate = false
clearInterval(this.generateTime)
}
).catch(res=>{