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

View File

@@ -666,6 +666,7 @@ export default defineComponent({
display: flex;
flex: 1;
flex-direction: column;
overflow-x: hidden;
.modal_text{
padding-top: 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> -->
</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':'']" >
<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
class="delete_like_file_block"
:class="[driver__.driver?'hideEvents':'']"
@@ -135,9 +136,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>
</div>
@@ -164,6 +162,7 @@ import { useI18n } from 'vue-i18n';
import { openGuide,driverObj__ } from "@/tool/guide";
import scaleImage from "@/component/HomePage/scaleImage.vue";
import axios from 'axios'
import { overflow } from 'html2canvas/dist/types/css/property-descriptors/overflow';
export default defineComponent({
components:{
@@ -192,9 +191,7 @@ export default defineComponent({
let {t} = useI18n()
let isTest = ref()
let userInfo:any = {}
let generateId:any = ref()
let generateTime:any = ref()
let generateLineUp:any = ref(-1)
let remGenerate:any = ref(false)
let remGenerateTime:any = ref()
let isUseGenerate = ref(false)
@@ -220,9 +217,7 @@ export default defineComponent({
t,
isTest,
userInfo,
generateId,
generateTime,
generateLineUp,
remGenerate,
remGenerateTime,
useGenerate,
@@ -742,7 +737,12 @@ 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
@@ -754,50 +754,52 @@ 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
this.generateList = []
let arr
rv.generatedCollectionItems.forEach((v:any,index:number)=>{
arr = {
id:v.generateItemId,
imgUrl:v.generateItemUrl,
id_:GO.id++,
like:rv.generatedCollectionItems[index].isLiked
}
this.generateList.push(arr)
this.loadingShow = false
})
nextTick().then(()=>{
if(this.driver__.driver){
driverObj__.moveNext()
}
})
clearInterval(this.generateTime)
clearInterval(this.remGenerateTime)
this.remGenerate = false
}else{
this.generateLineUp = rv.rankPosition
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.generateList.forEach((item:any,index:any) => {
if(item.taskId == element.taskId && element.status == 'Success'){
this.generateList[index] = element
}
});
});
// this.generateList = rv;
if(arr.length == 0){
nextTick().then(()=>{
if(this.driver__.driver){
driverObj__.moveNext()
}
})
clearInterval(this.generateTime)
clearInterval(this.remGenerateTime)
this.loadingShow = false
this.remGenerate = false
}
}
}
).catch(res=>{
clearInterval(this.generateTime)
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.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(
(rv) => {
this.generateId = ''
this.generateList = this.generateList.filter((item:any)=>item.status == 'Success')
this.loadingShow = false
this.generateLineUp = -1
clearInterval(this.generateTime)
}
).catch(res=>{
@@ -1178,6 +1180,7 @@ export default defineComponent({
}
.modal_accomplish{
// margin-top: 2rem*1.2);
overflow-x: hidden;
height: calc(30rem*1.2);
display: flex;
flex-direction: column;

View File

@@ -192,9 +192,10 @@
<div v-show="isUseGenerate" @click="setUseGenerate">Generate</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':'']">
<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="select_img_type">
<div
@@ -259,9 +260,7 @@
</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="mark_loading_btn" :class="[driver__.driver?'hideEvents':'']" @click="removeGenerate">{{$t('Generate.Close')}}</div>
</div>
</div>
@@ -314,9 +313,7 @@ export default defineComponent({
let driver__:any = inject('driver__')
let isTest = ref()
let userInfo:any = {}
let generateId:any = ref()
let generateTime:any = ref()
let generateLineUp:any = ref(-1)
let remGenerate:any = ref(false)
let remGenerateTime:any = ref()
let isUseGenerate = ref(false)
@@ -343,9 +340,7 @@ export default defineComponent({
driver__,
isTest,
userInfo,
generateId,
generateTime,
generateLineUp,
remGenerate,
remGenerateTime,
useGenerate,
@@ -839,14 +834,19 @@ export default defineComponent({
(rv) => {
if(data.isTestUser){
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){
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
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
@@ -866,36 +866,35 @@ export default defineComponent({
}
});
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)
this.generateList = []
let arr
rv.generatedCollectionItems.forEach((v:any,index:number)=>{
arr = {
id:v.generateItemId,
imgUrl:v.generateItemUrl,
category:generage.level2Type?generage.level2Type:sketchCatecoryList[0].name,
categoryValue:categoryValue?categoryValue:sketchCatecoryList[0].value,
id_:GO.id++,
like:v.isLiked
}
this.generateList.push(arr)
this.loadingShow = false
})
nextTick().then(()=>{
if(this.driver__.driver){
driverObj__.moveNext()
}
})
clearInterval(this.remGenerateTime)
this.remGenerate = false
}else{
this.generateLineUp = rv.rankPosition
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++
element.category = generage.level2Type?generage.level2Type:sketchCatecoryList[0].name,
element.categoryValue = categoryValue?categoryValue:sketchCatecoryList[0].value,
this.generateList.forEach((item:any,index:any) => {
if(item.taskId == element.taskId && element.status == 'Success'){
this.generateList[index] = element
}
});
});
// this.generateList = rv;
if(arr.length == 0){
nextTick().then(()=>{
if(this.driver__.driver){
driverObj__.moveNext()
}
})
clearInterval(this.generateTime)
clearInterval(this.remGenerateTime)
this.loadingShow = false
this.remGenerate = false
}
}
}
).catch(res=>{
@@ -903,16 +902,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.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(
(rv) => {
this.generateId = ''
this.generateList = this.generateList.filter((item:any)=>item.status == 'Success')
this.loadingShow = false
this.generateLineUp = -1
clearInterval(this.generateTime)
}
).catch(res=>{
@@ -1191,6 +1192,7 @@ export default defineComponent({
}
.modal_accomplish{
// margin-top: 2rem*1.2);
overflow-x: hidden;
height: calc(30rem*1.2);
display: flex;
flex-direction: column;