调整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

@@ -640,11 +640,17 @@ export default defineComponent({
let num = -1
// let zIndex = 10
designItemDetail.clothes.forEach((item:any,index:number) => {
if(item?.printObject?.prints[0]?.minIOPath){
item?.printObject?.prints?.forEach((element:any) => {
item.designType = "Library"
});
}
let clothesItem = {
color: `${item.color.r} ${item.color.g} ${item.color.b}`,
id:item.id,
path:item.minIOPath,
changed:item.changed?item.changed:false,
designType:item.designType?item.designType:"Library",
offset:item.layersObject?.[1]?.offset == null?[0,0]:item.layersObject[1].offset,
scale:item.layersObject?.[1]?.scale?item.layersObject[1].scale:1,
printObject:{
@@ -666,9 +672,11 @@ export default defineComponent({
this.store.commit("setDesignItemDetail", designItemDetail);
}
this.currentIndex = 0
let workspace = this.store.state.Workspace.workspace
let data = {
designItemId:designItemDetail.designItemId,
// designItemId:designItemDetail.designItemId,
gender:workspace?.sex,
designSingleItemDTOList:clothes,
isPreview:false,
ifSubmit:designItemDetail.isPreview,
@@ -681,7 +689,6 @@ export default defineComponent({
data.isPreview = false
delete data.ifSubmit
}
// this.store.commit('setDesignPreviewData',data)
return data
},
async setSubmit(str:any){
@@ -941,6 +948,8 @@ export default defineComponent({
data.designSingleItemDTOList[this.currentIndex] = {
color:`${this.current.color.r} ${this.current.color.g} ${this.current.color.b}`,
id:this.current.id?this.current.id:'',
changed:this.current.changed?this.current.changed:false,
path:this.current.minIOPath?this.current.minIOPath:'',
offset:this.current.layersObject?.[1]?.offset?this.current.layersObject[1].offset:[0,0],
priority:this.current.priority,
@@ -987,7 +996,7 @@ export default defineComponent({
(rv: any) => {
this.parentData.design.designItemUrl = rv.designItemUrl
this.$emit('finishRedesign',this.parentData)
this.closeModal('')
this.closefModal('')
this.loadingShow = false
}
).catch(res=>{

View File

@@ -610,10 +610,12 @@ export default defineComponent({
}else{
this.current.printObject.path = imgData?.url
this.current.printObject.id = imgData?.id
this.current.printObject.designType = imgData?.designType
this.current.printObject.minIOPath = imgData.minIOPath
this.current.printObject.prints = [{
minIOPath:imgData.minIOPath,
path:imgData?.url
path:imgData?.url,
designType: imgData?.designType
}]
if(this.driver__.driver){
nextTick().then(()=>{

View File

@@ -177,6 +177,7 @@ export default defineComponent({
this.sketchImg.path = v.url
this.sketchImg.minIOPath = v.minIOPath
this.sketchImg.type = v.level2Type
this.sketchImg.designType = v.designType
},
//印花
systemDesigner(num) {
@@ -255,6 +256,7 @@ export default defineComponent({
if(this.sketchImg.id){
if(this.sketchImg.id == this.sketchImg.id_){
arr[index].id = Number(this.sketchImg.id_+(randomNum+""))
arr[index].changed = true
if(this.hasDuplicateId(arr)){
this.sketchImg.id_ = this.sketchImg.id
this.soleId(arr,index)
@@ -288,7 +290,6 @@ export default defineComponent({
})
if(!this.current.id){
data.designSingleItemDTOList[index].priority = zIndex+=1
}
if(this.type_ == 1){
if(data.designSingleItemDTOList[index].path != this.sketchImg.minIOPath && this.sketchImg.id_){
@@ -310,6 +311,7 @@ export default defineComponent({
let color = `${this.$parent.selectColor.rgba.r} ${this.$parent.selectColor.rgba.g} ${this.$parent.selectColor.rgba.b}`
data.designSingleItemDTOList[index].color = color
}
data.designSingleItemDTOList[index].designType = this.sketchImg.designType?this.sketchImg.designType:"Library"
data.timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone
this.loadingShow = true
Https.axiosPost(Https.httpUrls.designSingle, data).then(
@@ -323,6 +325,7 @@ export default defineComponent({
designItemDetail.clothes[index].minIOPath = item.minIOPath
designItemDetail.clothes[index].path = item.path
designItemDetail.clothes[index].id = item.id
designItemDetail.clothes[index].changed = item.changed?item.changed:false
designItemDetail.clothes[index].type = item.type
designItemDetail.clothes[index].printObject = item.printObject
bor = true

View File

@@ -620,6 +620,7 @@ export default defineComponent({
location : location,
priority:arr[index].style.zIndex,
scale: scale,
designType:this.designOpenrtionList[index].designType,
path:this.designOpenrtionList[index].path,
minIOPath:this.designOpenrtionList[index].minIOPath,
}

View File

@@ -622,6 +622,7 @@ export default defineComponent({
location : location,
priority:arr[index].style.zIndex,
scale: scale,
designType:this.designOpenrtionList[index].designType,
path:this.designOpenrtionList[index].path,
minIOPath:this.designOpenrtionList[index].minIOPath,
}

View File

@@ -56,10 +56,14 @@
<!-- <div class="generage_btn started_btn" @click.stop="getgenerate">{{ $t('Generate.Generate') }}</div> -->
<div v-show="!isGenerate" class="generage_btn started_btn" @click.stop="getgenerate">
{{ $t('Generate.Generate') }}
<!-- <div v-show="isGenerate"><a-spin size="large" /></div> -->
</div>
<div v-show="isGenerate" class="generage_btn started_btn" @click.stop="getgenerate">
<div v-show="isGenerate && !remGenerate" class="generage_btn started_btn" @click.stop="getgenerate">
<i class="fi fi-br-loading"></i>
</div>
<div v-show="remGenerate" @click="removeGenerate" class="generage_btn started_btn">
{{$t('Generate.Close')}}
</div>
<span ref="inputShowText"></span>
</div>
@@ -130,8 +134,8 @@
@click="generageAdd(item)"
:class="[item.status != 'Success'?'hideEvents':'',item?.checked?'active':'']"
>
<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)">
<!-- <img v-show="item.status != 'Success'" src="@/assets/images/homePage/loading.gif" alt=""> -->
<img v-lazy="item.imgUrl" @click.stop="generageAdd(item)">
<div
class="delete_like_file_block"
:class="[driver__.driver?'hideEvents':'']"
@@ -230,6 +234,7 @@ export default defineComponent({
let userInfo:any = {}
let generateId:any = ref([])
let generateTime:any = ref()
let generateProceedList = ref([])
let remGenerate:any = ref(false)
let remGenerateTime:any = ref()
return {
@@ -267,6 +272,7 @@ export default defineComponent({
userInfo,
generateId,
generateTime,
generateProceedList,
remGenerate,
remGenerateTime,
};
@@ -532,16 +538,14 @@ export default defineComponent({
return
}
}
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
},10000)
// rv.uniqueId.forEach((item:any) => {
// let arr:any = {}
// arr.taskId = item
// arr.status = 'execution'
// this.fileList.unshift(arr)
// });
this.setGenerate(rv.uniqueId)
}
).catch(res=>{
this.isGenerate = false
@@ -572,29 +576,28 @@ export default defineComponent({
// this.loadingShow = false
// });
},
setGenerate(){
setGenerate(dataList:any){
this.remGenerateTime = setTimeout(()=>{
this.remGenerate = true
},10000)
let data = dataList
this.generateTime = setInterval(()=>{
let data = this.fileList.filter((item:any)=>item.status != 'Success').map((obj:any) => obj.taskId);
Https.axiosPost(Https.httpUrls.generateResult, data).then(
(rv) => {
if(this.isGenerate){//防止取消后有正在执行的获取状态
let arr:any = []
arr = rv.filter((item:any)=>item.status != 'Success' && item.status != 'Fail' && item.status != 'Invalid')
this.generateProceedList = rv.filter((item:any)=>item.status != 'Success' && item.status != 'Fail' && item.status != 'Invalid')
rv.forEach((element:any) => {
this.fileList.forEach((item:any,index:any) => {
if(item.taskId == element.taskId && element.status == 'Success'){
element.imgUrl = element.url
element.id_ = GO.id++
this.fileList[index] = element
}
});
if(element.status == 'Success'){
element.imgUrl = element.url
element.id_ = GO.id++
this.fileList.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'));
message.info(this.t('Generate.effectPoor'));
}
if(arr.length == 0){
if(rv.filter((item:any)=>item.status == 'Waiting').length == 0 && rv.filter((item:any)=>item.status == 'Executing').length == 0){
nextTick().then(()=>{
if(this.driver__.driver){
driverObj__.moveNext()
@@ -609,7 +612,6 @@ export default defineComponent({
}
}
).catch(res=>{
this.fileList = this.fileList.filter((item:any)=>item.status == 'Success')
clearInterval(this.generateTime)
clearInterval(this.remGenerateTime)
this.isGenerate = false
@@ -617,17 +619,16 @@ export default defineComponent({
},1000)
},
removeGenerate(){
let arr = this.fileList.filter((item:any)=>item.status != 'Success')
//取消操作
this.fileList = this.fileList.filter((item:any)=>item.status == 'Success')
this.isGenerate = false
this.remGenerate = false
clearInterval(this.generateTime)
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?.userId,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}
Https.axiosGet(Https.httpUrls.generateStopWaiting, {params:data}).then(
(rv) => {
this.generateProceedList = []
}
).catch(res=>{
});

View File

@@ -107,12 +107,19 @@
<div class="Guide_1_2_8 input_box" :class="[inputShow?'active':'',driver__.driver?'showEvents':'']">
<input class="search_input" @input="ifMaximumLength" @keydown.enter="getgenerate" :maxlength='inputShow?0:9999' :class="{forbidden:generateCheckbox}" :readonly="generateCheckbox" :placeholder="$t('PrintboardUpload.inputContent1')" v-model="captionGeneration">
<!-- <div class="generage_btn started_btn" @click.stop="getgenerate">{{ $t('PrintboardUpload.Generate') }}</div> -->
<!-- <div v-show="!isGenerate" class="generage_btn started_btn" @click.stop="getgenerate">
{{ $t('PrintboardUpload.Generate') }}
</div> -->
<div v-show="!isGenerate" class="generage_btn started_btn" @click.stop="getgenerate">
{{ $t('PrintboardUpload.Generate') }}
<!-- <div v-show="isGenerate"><a-spin size="large" /></div> -->
</div>
<div v-show="isGenerate" class="generage_btn started_btn" @click.stop="getgenerate">
<div v-show="isGenerate && !remGenerate" class="generage_btn started_btn" @click.stop="getgenerate">
<i class="fi fi-br-loading"></i>
</div>
<div v-show="remGenerate" @click="removeGenerate" class="generage_btn started_btn">
{{$t('Generate.Close')}}
</div>
<span ref="inputShowText"></span>
</div>
<!-- <div>
@@ -121,9 +128,9 @@
</div> -->
</div>
<div class="modal_img" :style="[loadingShow?'overflow:hidden':'']">
<div v-for="item,index in generateList" class="modal_imgItem Guide_1_2_9" :class="[item.status != 'Success'?'hideEvents':'',item?.checked?'active':'',driver__.driver?'showEvents':'']" >
<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 v-for="item,index in generateList" :key="item" class="modal_imgItem Guide_1_2_9" :class="[item.status != 'Success'?'hideEvents':'',item?.checked?'active':'',driver__.driver?'showEvents':'']" >
<!-- <img v-show="item.status != 'Success'" src="@/assets/images/homePage/loading.gif" alt=""> -->
<img v-lazy="item.imgUrl" @click.stop="generageAdd(item)">
<div
class="delete_like_file_block"
:class="[driver__.driver?'hideEvents':'']"
@@ -199,6 +206,7 @@ export default defineComponent({
let isTest = ref()
let userInfo:any = {}
let generateTime:any = ref()
let generateProceedList = ref([])
let remGenerate:any = ref(false)
let remGenerateTime:any = ref()
let isUseGenerate = ref(false)
@@ -225,6 +233,7 @@ export default defineComponent({
t,
isTest,
userInfo,
generateProceedList,
generateTime,
remGenerate,
remGenerateTime,
@@ -746,51 +755,46 @@ export default defineComponent({
return
}
}
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)
// rv.uniqueId.forEach((item:any) => {
// let arr:any = {}
// arr.taskId = item
// arr.status = 'execution'
// this.generateList.unshift(arr)
// });
this.setGenerate(rv.uniqueId)
}
).catch(res=>{
this.isGenerate = false
});
},
setGenerate(){
setGenerate(dataList:any){
this.remGenerateTime = setTimeout(()=>{
this.remGenerate = true
},10000)
let data = dataList
this.generateTime = setInterval(()=>{
let data = this.generateList.filter((item:any)=>item.status != 'Success').map((obj:any) => obj.taskId);
Https.axiosPost(Https.httpUrls.generateResult, data).then(
(rv) => {
if(this.isGenerate){//防止取消后有正在执行的获取状态
let arr:any = []
arr = rv.filter((item:any)=>item.status != 'Success' && item.status != 'Fail')
this.generateProceedList = rv.filter((item:any)=>item.status != 'Success' && item.status != 'Fail' && item.status != 'Invalid')
rv.forEach((element:any) => {
this.generateList.forEach((item:any,index:any) => {
if(item.taskId == element.taskId && element.status == 'Success'){
element.imgUrl = element.url
element.id_ = GO.id++
this.generateList[index] = element
}
});
if(element.status == 'Success'){
element.imgUrl = element.url
element.id_ = GO.id++
this.generateList.unshift(element)
data = data.filter((item:any) => item !== element.taskId);
}
});
// this.generateList = rv;
if(rv.length == 4 && rv.filter((item:any)=>item.status == 'Invalid').length == 4) {
if(rv.filter((item:any)=>item.status == 'Invalid').length == 4) {
message.info(this.t('Generate.effectPoor'));
// (this.$refs.inputShowText as any).innerHTML = this.t('Generate.effectPoor')
}
if(arr.length == 0){
if(rv.filter((item:any)=>item.status == 'Waiting').length == 0 && rv.filter((item:any)=>item.status == 'Executing').length == 0){
nextTick().then(()=>{
if(this.driver__.driver){
driverObj__.moveNext()
}
})
this.fileList = this.fileList.filter((item:any)=>item.status == 'Success')
clearInterval(this.generateTime)
clearInterval(this.remGenerateTime)
this.isGenerate = false
@@ -800,7 +804,6 @@ export default defineComponent({
}
).catch(res=>{
this.fileList = this.fileList.filter((item:any)=>item.status == 'Success')
clearInterval(this.generateTime)
clearInterval(this.remGenerateTime)
this.isGenerate = false
@@ -808,17 +811,16 @@ export default defineComponent({
},1000)
},
removeGenerate(){
let arr = this.generateList.filter((item:any)=>item.status != 'Success')
//取消操作
this.generateList = this.generateList.filter((item:any)=>item.status == 'Success')
this.isGenerate = false
this.remGenerate = false
clearInterval(this.generateTime)
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?.userId,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}
Https.axiosGet(Https.httpUrls.generateStopWaiting, {params:data}).then(
(rv) => {
this.generateProceedList = []
}
).catch(res=>{
});

View File

@@ -140,7 +140,16 @@
<div class="input_border">
<div class="Guide_1_9_2 input_box" :class="[inputShow?'active':'',driver__.driver?'showEvents':'']">
<input class="search_input" @input="ifMaximumLength" @keydown.enter="getgenerate" :maxlength='inputShow?0:9999' :class="{forbidden:generateCheckbox}" :readonly="generateCheckbox" :placeholder="$t('PrintboardUpload.inputContent1')" v-model="captionGeneration">
<div class="generage_btn started_btn" @click.stop="getgenerate">{{ $t('PrintboardUpload.Generate') }}</div>
<!-- <div class="generage_btn started_btn" @click.stop="getgenerate">{{ $t('PrintboardUpload.Generate') }}</div> -->
<div v-show="!isGenerate" class="generage_btn started_btn" @click.stop="getgenerate">
{{ $t('LibraryPage.Generate') }}
</div>
<div v-show="isGenerate && !remGenerate" class="generage_btn started_btn" @click.stop="getgenerate">
<i class="fi fi-br-loading"></i>
</div>
<div v-show="remGenerate" @click="removeGenerate" class="generage_btn started_btn">
{{$t('Generate.Close')}}
</div>
<span ref="inputShowText"></span>
</div>
<!-- <div>
@@ -149,9 +158,9 @@
</div> -->
</div>
<div class="modal_img" :style="[loadingShow?'overflow:hidden':'']">
<div v-for="item,index in generateList" class="modal_imgItem Guide_1_13_2" :class="[item.status != 'Success'?'hideEvents':'',driver__.driver?'showEvents':'',item?.checked?'active':'']">
<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 v-for="item,index in generateList" class="modal_imgItem Guide_1_13_2" :class="[item.status != 'Success'?'hideEvents':'',driver__.driver?'showEvents':'',item?.checked?'active':'']" :key="item">
<!-- <img v-show="item.status != 'Success'" src="@/assets/images/homePage/loading.gif" alt=""> -->
<img v-lazy="item.imgUrl" @click.stop="generageAdd(item)">
<sketchCategory :disignTypeList="sketchCatecoryList" :generateList="generateList" :item="item" :driver__="driver__.driver" :driverClass="{class1: 'Guide_1_13',class2:'Guide_1_13_1'}"></sketchCategory>
<div
class="delete_like_file_block"
@@ -227,6 +236,7 @@ export default defineComponent({
let isTest = ref()
let userInfo:any = {}
let generateTime:any = ref()
let generateProceedList = ref([])
let remGenerate:any = ref(false)
let remGenerateTime:any = ref()
let isUseGenerate = ref(false)
@@ -256,6 +266,7 @@ export default defineComponent({
userInfo,
generateTime,
remGenerate,
generateProceedList,
remGenerateTime,
useGenerate,
isUseGenerate,
@@ -705,58 +716,58 @@ export default defineComponent({
return
}
}
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)
// rv.uniqueId.forEach((item:any) => {
// let arr:any = {}
// arr.taskId = item
// arr.status = 'execution'
// this.generateList.unshift(arr)
// });
this.setGenerate(rv.uniqueId)
}
).catch(res=>{
this.isGenerate = false
});
},
setGenerate(){
setGenerate(dataList:any){
let generage:any = this.$refs.Generate
let sketchCatecoryList = this.sketchCatecoryList
let categoryValue:any
let data = dataList
this.remGenerateTime = setTimeout(()=>{
this.remGenerate = true
},10000)
generage.sketchboardList.forEach((item:any) => {
if(item.checked){
categoryValue = item.categoryValue
}
});
this.generateTime = setInterval(()=>{
let data = this.generateList.filter((item:any)=>item.status != 'Success').map((obj:any) => obj.taskId);
// let data = this.generateList.filter((item:any)=>item.status != 'Success').map((obj:any) => obj.taskId);
Https.axiosPost(Https.httpUrls.generateResult, data).then(
(rv) => {
if(this.isGenerate){//防止取消后有正在执行的获取状态
let arr:any = []
arr = rv.filter((item:any)=>item.status != 'Success' && item.status != 'Fail' && item.status != 'Invalid')
this.generateProceedList = rv.filter((item:any)=>item.status != 'Success' && item.status != 'Fail' && item.status != 'Invalid')
rv.forEach((element:any) => {
this.generateList.forEach((item:any,index:any) => {
if(item.taskId == element.taskId && element.status == 'Success'){
this.generateList[index] = element
element.imgUrl = element.url
element.id_ = GO.id++
this.sketchCatecoryList.forEach((itemCategory:any) => {
if(itemCategory.value == element.category){
element.categoryValue = itemCategory?.name
element.category = itemCategory?.value
}
});
}
});
if(element.status === 'Success'){
element.imgUrl = element.url
element.id_ = GO.id++
this.sketchCatecoryList.forEach((itemCategory:any) => {
if(itemCategory.value == element.category){
element.categoryValue = itemCategory?.name
element.category = itemCategory?.value
}
});
this.generateList.unshift(element)
data = data.filter((item:any) => item !== element.taskId);
}
});
// this.generateList = rv;
if(rv.length == 4 && rv.filter((item:any)=>item.status == 'Invalid').length == 4) {
if(rv.filter((item:any)=>item.status == 'Invalid').length == 4) {
message.info(this.t('Generate.effectPoor'));
// (this.$refs.inputShowText as any).innerHTML = this.t('Generate.effectPoor')
}
if(arr.length == 0){
if(rv.filter((item:any)=>item.status == 'Waiting').length == 0 && rv.filter((item:any)=>item.status == 'Executing').length == 0){
nextTick().then(()=>{
if(this.driver__.driver){
driverObj__.moveNext()
@@ -771,7 +782,6 @@ export default defineComponent({
}
}
).catch(res=>{
this.generateList = this.generateList.filter((item:any)=>item.status == 'Success')
clearInterval(this.generateTime)
clearInterval(this.remGenerateTime)
this.isGenerate = false
@@ -779,17 +789,16 @@ export default defineComponent({
},1000)
},
removeGenerate(){
let arr = this.generateList.filter((item:any)=>item.status != 'Success')
//取消操作
this.generateList = this.generateList.filter((item:any)=>item.status == 'Success')
this.isGenerate = false
this.remGenerate = false
clearInterval(this.generateTime)
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?.userId,timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}
Https.axiosGet(Https.httpUrls.generateStopWaiting, {params:data}).then(
(rv) => {
this.generateProceedList = []
}
).catch(res=>{
});