调整generate交互 调整details页面参数

This commit is contained in:
X1627315083
2024-04-29 15:12:27 +08:00
parent ad63a1611c
commit b5b13751b8
9 changed files with 206 additions and 182 deletions

View File

@@ -287,12 +287,12 @@
</div>
<div class="content_body_table scroll_style">
<div class="content_img_item" v-for="(img,index) in generateList[selectCode]" :key="img.id" :class="[img.status != 'Success'?'hideEvents':'']">
<div class="content_img_item" v-for="(img,index) in generateList[selectCode]" :key="img.id" :class="[img.status != 'Success'?'hideEvents':'']" v-show="img.status == 'Success'">
<div :class="['content_img_item_block', selectImgList.indexOf(img.id) > -1 ? 'select_item_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">
<!-- <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 :class="['content_img', ['Moodboard','Printboard'].indexOf(selectCode) > -1 ? 'board_content_img' :'']" v-lazy="img.imgUrl">
<div v-show="img.status == 'Success'" class="img_item_hover">
<div class="img_item_hover">
<div class="img_operate_content">
<div class="img_operate_block">
<i v-if="!img.like" class="fi fi-rr-heart operate_icon" @click.stop="likeFile(img,'like')"></i>
@@ -455,6 +455,7 @@ export default defineComponent({
Printboard:'',
Models:''
})
let generateProceedList = ref([])
let isGenerate:any = ref({
Sketchboard:false,
Moodboard:false,
@@ -462,12 +463,17 @@ export default defineComponent({
Models:false
})
let remGenerate:any = ref({
Sketchboard:false,
Moodboard:false,
Printboard:false,
Models:false
})
let remGenerateTime:any = ref({
Sketchboard:'',
Moodboard:'',
Printboard:'',
Models:''
})
let remGenerateTime:any = ref()
let getLibraryListInputTime:any = ref()
const options:any = ref([
]);
@@ -512,6 +518,7 @@ export default defineComponent({
isTest,
driver__,
generateTime,
generateProceedList,
isGenerate,
remGenerate,
remGenerateTime,
@@ -1076,20 +1083,15 @@ export default defineComponent({
}
},
getgenerate(){
clearInterval(this.remGenerateTime)
this.remGenerate[this.selectCode] = false
// if(this.isTest){//试用用户禁止使用
// message.info(
// this.t('isTest.available')
// );
// return
// }
if(this.isGenerate[this.selectCode]){
let selectCodeStr = JSON.parse(JSON.stringify(this.selectCode))
clearInterval(this.remGenerateTime[selectCodeStr])
this.remGenerate[selectCodeStr] = false
if(this.isGenerate[selectCodeStr]){
return
}
let arr = ["Painting Style","Illustration Style","Real Style"]
let generateType = this.checkbox.filter((v:any)=>v.type)[0].name
if(this.selectCode == 'Moodboard'){
if(selectCodeStr == 'Moodboard'){
generateType = this.checkbox[1].name
}
let generageImg = this.selectGenerateList.filter((v:any)=>v.checked)[0]
@@ -1097,14 +1099,14 @@ export default defineComponent({
generateType:generateType,
designType:'collection',
collectionElementId:generageImg?.id,
level1Type:this.selectCode,
level2Type:this.selectCode == 'Sketchboard'?this.designType.value:'',
level1Type:selectCodeStr,
level2Type:selectCodeStr == 'Sketchboard'?this.designType.value:'',
userId:(this?.userInfo as any).userId,
isTestUser:this.driver__.driver?false:this.isTest,
text:this.selectCode == 'Printboard'?`${arr[this.printModel.num-1]},${this.captionGeneration}`:this.captionGeneration,
text:selectCodeStr == 'Printboard'?`${arr[this.printModel.num-1]},${this.captionGeneration}`:this.captionGeneration,
timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
version:1,//为1就是Print
gender:this.selectCode == 'Sketchboard'?this.sex.value:'',
gender:selectCodeStr == 'Sketchboard'?this.sex.value:'',
}
if(generateType == 'image'){
if(generageImg?.id){
@@ -1160,104 +1162,98 @@ export default defineComponent({
}
}
// this.isShowMark = true
this.isGenerate[this.selectCode] = true
this.isGenerate[selectCodeStr] = true
Https.axiosPost(Https.httpUrls.generatePrepare, data).then(
(rv) => {
if(data.isTestUser){
let str:any
if(this.selectCode == 'Moodboard'){
if(selectCodeStr == 'Moodboard'){
str = this.t('collectionModal.Moodboard')
}else if(this.selectCode == 'Printboard'){
}else if(selectCodeStr == 'Printboard'){
str = this.t('collectionModal.Printboard')
}else if(this.selectCode == 'Sketchboard'){
}else if(selectCodeStr == 'Sketchboard'){
str = this.t('collectionModal.Sketchboard')
}
if(rv.leftUsageCount >= 1){
message.warning(this.t('Generate.jsContent8',{num:rv.leftUsageCount,str:str}));
}else if(rv.leftUsageCount == 0){
message.warning(this.t('Generate.jsContent9',{str:str}));
this.isGenerate[this.selectCode] = false
this.isGenerate[selectCodeStr] = false
// this.isShowMark = false
return
}
}
rv.uniqueId.forEach((item:any) => {
let arr:any = {}
arr.taskId = item
arr.status = 'execution'
this.generateList[this.selectCode].unshift(arr)
});
this.setGenerate(this.selectCode)
this.remGenerateTime = setTimeout(()=>{
this.remGenerate[this.selectCode] = true
},10000)
// rv.uniqueId.forEach((item:any) => {
// let arr:any = {}
// arr.taskId = item
// arr.status = 'execution'
// this.generateList[selectCodeStr].unshift(arr)
// });
this.setGenerate(selectCodeStr,rv.uniqueId)
}
).catch(res=>{
// this.isShowMark = false
this.isGenerate[this.selectCode] = false
this.isGenerate[selectCodeStr] = false
});
},
setGenerate(str:any){
setGenerate(str:any,dataList:any){
this.remGenerateTime[str] = setTimeout(()=>{
this.remGenerate[str] = true
},10000)
let data = dataList
this.generateTime[str] = setInterval(()=>{
let data = this.generateList[str].filter((item:any)=>item.status != 'Success').map((obj:any) => obj.taskId);
// let data = this.generateList[str].filter((item:any)=>item.status != 'Success').map((obj:any) => obj.taskId);
Https.axiosPost(Https.httpUrls.generateResult, data).then(
(rv) => {
if(this.isGenerate[this.selectCode]){//防止取消后有正在执行的获取状态
let arr:any = []
arr = rv.filter((item:any)=>item.status != 'Success' && item.status != 'Fail' && item.status != 'Invalid')
if(this.isGenerate[str]){//防止取消后有正在执行的获取状态
this.generateProceedList = rv.filter((item:any)=>item.status != 'Success' && item.status != 'Fail' && item.status != 'Invalid')
rv.forEach((element:any) => {
this.generateList[str].forEach((item:any,index:any) => {
if(item.taskId == element.taskId && element.status == 'Success'){
element.imgUrl = element.url
this.generateList[str][index] = element
this.disignTypeList.forEach((itemCategory:any) => {
if(itemCategory.value == element.category){
element.categoryValue = itemCategory?.label
element.category = itemCategory?.value
}
});
}
});
if(element.status === 'Success'){
element.imgUrl = element.url
this.disignTypeList.forEach((itemCategory:any) => {
if(itemCategory.value == element.category){
element.categoryValue = itemCategory?.label
element.category = itemCategory?.value
}
});
this.generateList[str].unshift(element)
data = data.filter((item:any) => item !== element.taskId);
}
});
if(rv.length == 4 && rv.filter((item:any)=>item.status == 'Invalid').length == 4) {
// (this.$refs.inputShowText as any).innerHTML = this.t('Generate.effectPoor')
message.info(this.t('Generate.effectPoor'));
}
if(arr.length == 0){
if(data.length == 0){
this.generateList[str] = this.generateList[str].filter((item:any)=>item.status == 'Success')
clearInterval(this.generateTime[str])
clearInterval(this.remGenerateTime)
// this.isShowMark = false
this.remGenerate[this.selectCode] = false
this.isGenerate[this.selectCode] = false
clearInterval(this.remGenerateTime[str])
this.remGenerate[str] = false
this.isGenerate[str] = false
}else{
}
}
}
).catch(res=>{
this.generateList[str] = this.generateList[str].filter((item:any)=>item.status == 'Success')
clearInterval(this.generateTime[str])
clearInterval(this.remGenerateTime)
clearInterval(this.remGenerateTime[str])
// this.isShowMark = false
this.isGenerate[this.selectCode] = false
this.isGenerate[str] = false
});
},1000)
},
removeGenerate(){
let arr = this.generateList[this.selectCode].filter((item:any)=>item.status != 'Success')
this.generateList[this.selectCode] = this.generateList[this.selectCode].filter((item:any)=>item.status == 'Success')
// this.isShowMark = false
this.isGenerate[this.selectCode] = false
this.remGenerate[this.selectCode] = false
clearInterval(this.generateTime[this.selectCode])
if(arr){
let str = arr.map((obj:any) => obj.taskId).join(',');
if(this.generateProceedList){
let str = this.generateProceedList.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.generateProceedList = []
}
).catch(res=>{
});