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

@@ -1142,6 +1142,7 @@ i {
.collection_modal_body .input_border, .collection_modal_body .input_border,
.design_detail_modal_component .input_border, .design_detail_modal_component .input_border,
.library_page .input_border { .library_page .input_border {
z-index: 2;
display: flex; display: flex;
align-items: center; align-items: center;
position: sticky; position: sticky;

View File

@@ -1248,6 +1248,7 @@ i{
//设计input和上传按钮样式 //设计input和上传按钮样式
.collection_modal_body,.design_detail_modal_component,.library_page{ .collection_modal_body,.design_detail_modal_component,.library_page{
.input_border{ .input_border{
z-index: 2;
display: flex; display: flex;
align-items: center; align-items: center;
position: sticky; position: sticky;

View File

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

View File

@@ -666,6 +666,7 @@ export default defineComponent({
display: flex; display: flex;
flex: 1; flex: 1;
flex-direction: column; flex-direction: column;
overflow-x: hidden;
.modal_text{ .modal_text{
padding-top: calc(2rem*1.2); padding-top: calc(2rem*1.2);
padding-block: calc(2rem*1.2); padding-block: calc(2rem*1.2);

View File

@@ -114,9 +114,10 @@
<div v-show="isUseGenerate" @click="setUseGenerate">Generate</div> <div v-show="isUseGenerate" @click="setUseGenerate">Generate</div>
</div> --> </div> -->
</div> </div>
<div class="modal_img"> <div class="modal_img" :style="[loadingShow?'overflow:hidden':'']">
<div v-for="item,index in generateList" class="modal_imgItem Guide_1_2_9" :class="[item?.checked?'active':'',driver__.driver?'showEvents':'']" > <div v-for="item,index in generateList" class="modal_imgItem Guide_1_2_9" :class="[item?.checked?'active':'',driver__.driver?'showEvents':'']" >
<img :src="item.imgUrl" @click.stop="generageAdd(item)"> <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 <div
class="delete_like_file_block" class="delete_like_file_block"
:class="[driver__.driver?'hideEvents':'']" :class="[driver__.driver?'hideEvents':'']"
@@ -135,9 +136,6 @@
</div> </div>
<div class="mark_loading" v-show="loadingShow"> <div class="mark_loading" v-show="loadingShow">
<a-spin size="large" /> <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 v-show="remGenerate" :class="[driver__.driver?'hideEvents':'']" class="mark_loading_btn" @click="removeGenerate">{{$t('Generate.Close')}}</div>
</div> </div>
</div> </div>
@@ -164,6 +162,7 @@ import { useI18n } from 'vue-i18n';
import { openGuide,driverObj__ } from "@/tool/guide"; import { openGuide,driverObj__ } from "@/tool/guide";
import scaleImage from "@/component/HomePage/scaleImage.vue"; import scaleImage from "@/component/HomePage/scaleImage.vue";
import axios from 'axios' import axios from 'axios'
import { overflow } from 'html2canvas/dist/types/css/property-descriptors/overflow';
export default defineComponent({ export default defineComponent({
components:{ components:{
@@ -192,9 +191,7 @@ export default defineComponent({
let {t} = useI18n() let {t} = useI18n()
let isTest = ref() let isTest = ref()
let userInfo:any = {} let userInfo:any = {}
let generateId:any = ref()
let generateTime:any = ref() let generateTime:any = ref()
let generateLineUp:any = ref(-1)
let remGenerate:any = ref(false) let remGenerate:any = ref(false)
let remGenerateTime:any = ref() let remGenerateTime:any = ref()
let isUseGenerate = ref(false) let isUseGenerate = ref(false)
@@ -220,9 +217,7 @@ export default defineComponent({
t, t,
isTest, isTest,
userInfo, userInfo,
generateId,
generateTime, generateTime,
generateLineUp,
remGenerate, remGenerate,
remGenerateTime, remGenerateTime,
useGenerate, useGenerate,
@@ -742,7 +737,12 @@ export default defineComponent({
return 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.setGenerate()
this.remGenerateTime = setTimeout(()=>{ this.remGenerateTime = setTimeout(()=>{
this.remGenerate = true this.remGenerate = true
@@ -754,50 +754,52 @@ export default defineComponent({
}, },
setGenerate(){ setGenerate(){
this.generateTime = setInterval(()=>{ this.generateTime = setInterval(()=>{
let data = {uniqueId:this.generateId} let data = this.generateList.filter((item:any)=>item.status != 'Success').map((obj:any) => obj.taskId);
Https.axiosGet(Https.httpUrls.generateResult, {params:data}).then( Https.axiosPost(Https.httpUrls.generateResult, data).then(
(rv) => { (rv) => {
if(rv.generateId){ if(this.loadingShow){//防止取消后有正在执行的获取状态
this.generateLineUp = -1 let arr:any = []
this.generateList = [] arr = rv.filter((item:any)=>item.status != 'Success')
let arr rv.forEach((element:any) => {
rv.generatedCollectionItems.forEach((v:any,index:number)=>{ element.imgUrl = element.url
arr = { element.id_ = GO.id++
id:v.generateItemId, this.generateList.forEach((item:any,index:any) => {
imgUrl:v.generateItemUrl, if(item.taskId == element.taskId && element.status == 'Success'){
id_:GO.id++, this.generateList[index] = element
like:rv.generatedCollectionItems[index].isLiked }
} });
this.generateList.push(arr) });
this.loadingShow = false // this.generateList = rv;
}) if(arr.length == 0){
nextTick().then(()=>{ nextTick().then(()=>{
if(this.driver__.driver){ if(this.driver__.driver){
driverObj__.moveNext() driverObj__.moveNext()
} }
}) })
clearInterval(this.generateTime) clearInterval(this.generateTime)
clearInterval(this.remGenerateTime) clearInterval(this.remGenerateTime)
this.remGenerate = false this.loadingShow = false
}else{ this.remGenerate = false
this.generateLineUp = rv.rankPosition }
} }
} }
).catch(res=>{ ).catch(res=>{
clearInterval(this.generateTime) clearInterval(this.generateTime)
clearInterval(this.remGenerateTime) clearInterval(this.remGenerateTime)
this.loadingShow = false this.loadingShow = false
}); });
},5000) },1000)
}, },
removeGenerate(){ removeGenerate(){
if(this.generateId){ let arr = this.generateList.filter((item:any)=>item.status != 'Success')
let data = {uniqueId:this.generateId,userId:this?.userInfo?.userId,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone} 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( Https.axiosGet(Https.httpUrls.generateStopWaiting, {params:data}).then(
(rv) => { (rv) => {
this.generateId = '' this.generateList = this.generateList.filter((item:any)=>item.status == 'Success')
this.loadingShow = false this.loadingShow = false
this.generateLineUp = -1
clearInterval(this.generateTime) clearInterval(this.generateTime)
} }
).catch(res=>{ ).catch(res=>{
@@ -1178,6 +1180,7 @@ export default defineComponent({
} }
.modal_accomplish{ .modal_accomplish{
// margin-top: 2rem*1.2); // margin-top: 2rem*1.2);
overflow-x: hidden;
height: calc(30rem*1.2); height: calc(30rem*1.2);
display: flex; display: flex;
flex-direction: column; flex-direction: column;

View File

@@ -192,9 +192,10 @@
<div v-show="isUseGenerate" @click="setUseGenerate">Generate</div> <div v-show="isUseGenerate" @click="setUseGenerate">Generate</div>
</div> --> </div> -->
</div> </div>
<div class="modal_img"> <div class="modal_img" :style="[loadingShow?'overflow:hidden':'']">
<div v-for="item,index in generateList" class="modal_imgItem Guide_1_13_2" :class="[driver__.driver?'showEvents':'',item?.checked?'active':'']"> <div v-for="item,index in generateList" class="modal_imgItem Guide_1_13_2" :class="[driver__.driver?'showEvents':'',item?.checked?'active':'']">
<img :src="item.imgUrl" @click="generageAdd(item)"> <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="operate_file_block" :class="[driver__.driver?'hideEvents':'']"> <div class="operate_file_block" :class="[driver__.driver?'hideEvents':'']">
<div class="select_img_type"> <div class="select_img_type">
<div <div
@@ -259,9 +260,7 @@
</div> </div>
<div class="mark_loading" v-show="loadingShow"> <div class="mark_loading" v-show="loadingShow">
<a-spin size="large" /> <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" :class="[driver__.driver?'hideEvents':'']" @click="removeGenerate">{{$t('Generate.Close')}}</div> <div v-show="remGenerate" class="mark_loading_btn" :class="[driver__.driver?'hideEvents':'']" @click="removeGenerate">{{$t('Generate.Close')}}</div>
</div> </div>
</div> </div>
@@ -314,9 +313,7 @@ export default defineComponent({
let driver__:any = inject('driver__') let driver__:any = inject('driver__')
let isTest = ref() let isTest = ref()
let userInfo:any = {} let userInfo:any = {}
let generateId:any = ref()
let generateTime:any = ref() let generateTime:any = ref()
let generateLineUp:any = ref(-1)
let remGenerate:any = ref(false) let remGenerate:any = ref(false)
let remGenerateTime:any = ref() let remGenerateTime:any = ref()
let isUseGenerate = ref(false) let isUseGenerate = ref(false)
@@ -343,9 +340,7 @@ export default defineComponent({
driver__, driver__,
isTest, isTest,
userInfo, userInfo,
generateId,
generateTime, generateTime,
generateLineUp,
remGenerate, remGenerate,
remGenerateTime, remGenerateTime,
useGenerate, useGenerate,
@@ -839,14 +834,19 @@ export default defineComponent({
(rv) => { (rv) => {
if(data.isTestUser){ if(data.isTestUser){
if(rv.leftUsageCount >= 1){ if(rv.leftUsageCount >= 1){
message.warning(this.t('Generate.jsContent8',{num:rv.leftUsageCount,str:this.t('collectionModal.Sketchboard')})); message.warning(this.t('Generate.jsContent8',{num:rv.leftUsageCount,str:this.t('collectionModal.Printboard')}));
}else if(rv.leftUsageCount == 0){ }else if(rv.leftUsageCount == 0){
message.warning(this.t('Generate.jsContent9',{str:this.t('collectionModal.Sketchboard')})); message.warning(this.t('Generate.jsContent9',{str:this.t('collectionModal.Printboard')}));
this.loadingShow = false this.loadingShow = false
return 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.setGenerate()
this.remGenerateTime = setTimeout(()=>{ this.remGenerateTime = setTimeout(()=>{
this.remGenerate = true this.remGenerate = true
@@ -866,36 +866,35 @@ export default defineComponent({
} }
}); });
this.generateTime = setInterval(()=>{ this.generateTime = setInterval(()=>{
let data = {uniqueId:this.generateId} let data = this.generateList.filter((item:any)=>item.status != 'Success').map((obj:any) => obj.taskId);
Https.axiosGet(Https.httpUrls.generateResult, {params:data}).then( Https.axiosPost(Https.httpUrls.generateResult, data).then(
(rv) => { (rv) => {
if(rv.generateId){ if(this.loadingShow){//防止取消后有正在执行的获取状态
this.generateLineUp = -1 let arr:any = []
clearInterval(this.generateTime) arr = rv.filter((item:any)=>item.status != 'Success')
this.generateList = [] rv.forEach((element:any) => {
let arr element.imgUrl = element.url
rv.generatedCollectionItems.forEach((v:any,index:number)=>{ element.id_ = GO.id++
element.category = generage.level2Type?generage.level2Type:sketchCatecoryList[0].name,
arr = { element.categoryValue = categoryValue?categoryValue:sketchCatecoryList[0].value,
id:v.generateItemId, this.generateList.forEach((item:any,index:any) => {
imgUrl:v.generateItemUrl, if(item.taskId == element.taskId && element.status == 'Success'){
category:generage.level2Type?generage.level2Type:sketchCatecoryList[0].name, this.generateList[index] = element
categoryValue:categoryValue?categoryValue:sketchCatecoryList[0].value, }
id_:GO.id++, });
like:v.isLiked });
} // this.generateList = rv;
this.generateList.push(arr) if(arr.length == 0){
this.loadingShow = false nextTick().then(()=>{
}) if(this.driver__.driver){
nextTick().then(()=>{ driverObj__.moveNext()
if(this.driver__.driver){ }
driverObj__.moveNext() })
} clearInterval(this.generateTime)
}) clearInterval(this.remGenerateTime)
clearInterval(this.remGenerateTime) this.loadingShow = false
this.remGenerate = false this.remGenerate = false
}else{ }
this.generateLineUp = rv.rankPosition
} }
} }
).catch(res=>{ ).catch(res=>{
@@ -903,16 +902,18 @@ export default defineComponent({
clearInterval(this.remGenerateTime) clearInterval(this.remGenerateTime)
this.loadingShow = false this.loadingShow = false
}); });
},5000) },1000)
}, },
removeGenerate(){ removeGenerate(){
if(this.generateId){
let data = {uniqueId:this.generateId,userId:this?.userInfo?.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?.userId,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}
Https.axiosGet(Https.httpUrls.generateStopWaiting, {params:data}).then( Https.axiosGet(Https.httpUrls.generateStopWaiting, {params:data}).then(
(rv) => { (rv) => {
this.generateId = '' this.generateList = this.generateList.filter((item:any)=>item.status == 'Success')
this.loadingShow = false this.loadingShow = false
this.generateLineUp = -1
clearInterval(this.generateTime) clearInterval(this.generateTime)
} }
).catch(res=>{ ).catch(res=>{
@@ -1191,6 +1192,7 @@ export default defineComponent({
} }
.modal_accomplish{ .modal_accomplish{
// margin-top: 2rem*1.2); // margin-top: 2rem*1.2);
overflow-x: hidden;
height: calc(30rem*1.2); height: calc(30rem*1.2);
display: flex; display: flex;
flex-direction: column; flex-direction: column;

View File

@@ -175,7 +175,6 @@ router.beforeEach((to, from, next) => {
// 如果页面存在,正常跳转 // 如果页面存在,正常跳转
} }
} else { } else {
return
// 如果页面不存在可以跳转到404页面或者其他页面 // 如果页面不存在可以跳转到404页面或者其他页面
next('/404'); next('/404');
} }

View File

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