调整bug

This commit is contained in:
X1627315083
2024-06-24 16:45:20 +08:00
parent bbfb1538f3
commit 15077d37ea
10 changed files with 170 additions and 80 deletions

View File

@@ -51,7 +51,7 @@
<div class="productImg_content_item_title">{{$t('ProductImg.SelectCollection')}}</div>
<div class="productImg_content_item_imgBox generalScroll" v-mousewheel>
<div class="content_item_imgBox_itemImg" v-for="item in selectList[productimgMenu.value]" :key="item.id" >
<img @click="setGenerate(item)" v-lazy="item.designOutfitUrl" alt="" :class="{active:item.isChecked}">
<img @click="setGenerate(item)" v-lazy="item.designOutfitUrl?item.designOutfitUrl:item.url" alt="" :class="{active:item.isChecked}">
</div>
</div>
<div class="productImg_content_item_title">{{$t('ProductImg.Upload')}}</div>
@@ -91,7 +91,6 @@
accept=".jpg,.png,.jpeg,.bmp"
@change="(file) => fileUploadChange(file)"
>
<div
class="upload_tip_block"
>
@@ -119,13 +118,16 @@
<div class="productImg_right">
<div class="productImg_content_item_title">{{$t('ProductImg.GenerateProduct')}}</div>
<div class="productImg_right_item_box generalScroll" v-mousewheel>
<div class="productImg_right_item" v-for="item,index in generateList" :key="item">
<div class="productImg_right_item" v-for="item,index in generateList[productimgMenu.value]" :key="item">
<img :src="item.url" alt="">
<div class="productImg_right_item_like">
<i class="fi fi-rr-heart" @click.stop="likeFile(item,'like',index)"></i>
</div>
<div class="productImg_right_item_scale">
<i class="fi fi-bs-expand-arrows-alt" @click.stop="setScaleImage(generateList,index)"></i>
<i class="fi fi-bs-expand-arrows-alt" @click.stop="setScaleImage(generateList[productimgMenu.value],index)"></i>
</div>
<div class="productImg_right_item_menu iconLeft">
<i class="fi fi-rr-circle-ellipsis" @click.stop="setScaleImage(generateList[productimgMenu.value],index)"></i>
</div>
</div>
</div>
@@ -134,13 +136,19 @@
<div class="button_second" @click="setExport">{{$t('ProductImg.Export')}}</div>
</div>
<div class="productImg_right_item_box generalScroll" v-mousewheel>
<div class="productImg_right_item" v-for="item,index in likeList" :key="item">
<div class="productImg_right_item" v-for="item,index in likeList[productimgMenu.value]" :key="item">
<img :src="item.url" alt="">
<div class="productImg_right_item_like">
<div class="productImg_right_item_like iconLeft">
<i class="fi fi-sr-heart" @click.stop="likeFile(item,'noLike',index)"></i>
</div>
<div class="productImg_right_item_scale">
<i class="fi fi-bs-expand-arrows-alt" @click.stop="setScaleImage(likeList,index)"></i>
<div class="productImg_right_item_scale iconLeft">
<i class="fi fi-bs-expand-arrows-alt" @click.stop="setScaleImage(likeList[productimgMenu.value],index)"></i>
</div>
<div class="productImg_right_item_menu">
<i class="fi fi-rr-circle-ellipsis" @click.stop="setMenuShow(item)"></i>
<ul v-show="item.menuShow">
<li v-for="menuItem,index in productimgMenuList" v-show="index != 0" @click.stop="setMenu(menuItem,item)" :key="menuItem.value">{{ menuItem.label }}</li>
</ul>
</div>
</div>
</div>
@@ -193,12 +201,8 @@ export default defineComponent({
remProductimg:false,//是否出现取消按钮
isProductimg:false,//开始生成
selectProductimgList:[],
generateList:[
],
likeList:[
],
generateList:{},
likeList:{},
})
let productimgMenuList = ref([
{
@@ -238,7 +242,7 @@ export default defineComponent({
rv.forEach((item:any) => {
item.imgUrl = item.url
});
productImgData.likeList.push(...rv)
productImgData.likeList[productimgMenu.value.value] = rv
}
).catch(res=>{
});
@@ -259,7 +263,9 @@ export default defineComponent({
let cleardata = ()=>{
productImg.value = false
productImgData.isShowMark = false
productImgData.likeList = []
productImgData.likeList = {}
productImgData.generateList = {}
productimgMenu.value = productimgMenuList.value[0]
}
let fileUploadChange = (data: any)=> {
@@ -316,11 +322,17 @@ export default defineComponent({
Https.axiosPost(url, data).then(
(rv) => {
if(str == 'like'){
productImgData.likeList.push(item)
productImgData.generateList.splice(index,1)
if(!productImgData.likeList[productimgMenu.value.value]){
productImgData.likeList[productimgMenu.value.value] = []
}
productImgData.likeList[productimgMenu.value.value].push(item)
productImgData.generateList[productimgMenu.value.value].splice(index,1)
}else{
productImgData.generateList.push(item)
productImgData.likeList.splice(index,1)
if(!productImgData.generateList[productimgMenu.value.value]){
productImgData.generateList[productimgMenu.value.value] = []
}
productImgData.generateList[productimgMenu.value.value].push(item)
productImgData.likeList[productimgMenu.value.value].splice(index,1)
}
}
@@ -328,13 +340,20 @@ export default defineComponent({
});
}
let setExport = ()=>{
let imgList:any = []
productimgMenuList.value.forEach((item:any)=>{
if(productImgData.likeList[item.value]){
imgList.push(...productImgData.likeList[item.value])
}
})
let data = {
key:'likePorductImg',
imgList:productImgData.likeList,
key:'FinalizeImage',
imgList:imgList,
userlikeGroupId,
beenPublished:productImgData.beenPublished
}
let exportModel:any = ExportModel.value
exportModel.init(data)
}
let remPrductimgTime:any = null
@@ -353,20 +372,25 @@ export default defineComponent({
"toProductImageRecordId": 0,
"url": ""
}
productImgData.fileList[productimgMenu.value.value].forEach((item:any)=>{
if(item.isChecked){
obj.elementId = item.id
obj.elementType = item.type
selectArr.push(JSON.parse(JSON.stringify(obj)))
}
})
selectList.value[productimgMenu.value.value].forEach((item:any)=>{
if(item.isChecked){
obj.elementId = item.designOutfitId
obj.elementType = 'DesignOutfit'
selectArr.push(JSON.parse(JSON.stringify(obj)))
}
})
if(productImgData.fileList[productimgMenu.value.value]){
productImgData.fileList[productimgMenu.value.value].forEach((item:any)=>{
if(item.isChecked){
obj.elementId = item.id
obj.elementType = item.type
selectArr.push(JSON.parse(JSON.stringify(obj)))
}
})
}
if(selectList.value[productimgMenu.value.value]){
selectList.value[productimgMenu.value.value].forEach((item:any)=>{
if(item.isChecked){
obj.elementId = item.designOutfitId
obj.elementType = 'DesignOutfit'
selectArr.push(JSON.parse(JSON.stringify(obj)))
}
})
}
if(selectArr.length == 0) {
message.info(t('ProductImg.jsContent2'))
return
@@ -411,7 +435,10 @@ export default defineComponent({
rv.forEach((element:any) => {
if(element.status == 'Success'){
element.imgUrl = element.url
productImgData.generateList.unshift(element)
if(!productImgData.generateList[productimgMenu.value.value]){
productImgData.generateList[productimgMenu.value.value] = []
}
productImgData.generateList[productimgMenu.value.value].unshift(element)
}
data = data.filter((item:any) => item !== element.taskId);
});
@@ -458,6 +485,28 @@ export default defineComponent({
})
scaleImage.value.init(arr,index)
scaleImage.value.isLike = false
scaleImage.value.isComparison = true
}
let generalIsMenuShow:any = {}
let setMenuShow = (item:any)=>{
item.menuShow = true
generalIsMenuShow = item
document.addEventListener('click',removeMenuShow)
}
let setMenu=(menuItem:any,item:any)=>{
productimgMenu.value = menuItem
if(!selectList.value[productimgMenu.value.value]){
selectList.value[productimgMenu.value.value] = []
}
if(selectList.value[menuItem.value].indexOf(item) == -1){
selectList.value[menuItem.value].push(item)
}
generalIsMenuShow.menuShow = false
}
let removeMenuShow = ()=>{
generalIsMenuShow.menuShow = false
generalIsMenuShow = {}
document.removeEventListener('click',removeMenuShow)
}
//超分
let setTask = (data:any)=>{
@@ -487,6 +536,8 @@ export default defineComponent({
removeProductimg,
scaleImage,
setScaleImage,
setMenu,
setMenuShow,
setTask,
};
},
@@ -674,9 +725,12 @@ export default defineComponent({
justify-content: space-around;
.input_box{
flex: 0;
.generage_btn{
margin: 0;
}
}
.started_btn{
// width: 13rem;
// text-align: center;
margin: 0;
}
}
}
@@ -692,17 +746,18 @@ export default defineComponent({
background: #f6f6fa;
border-radius: 2rem;
margin-bottom: 2%;
padding: 0 1.5rem;
padding: 1rem 1.5rem;
.productImg_right_item{
height: 100%;
padding: 1rem 0;
margin-right: 1rem;
position: relative;
background: #fff;
img{
height: 100%;
}
.productImg_right_item_like,.productImg_right_item_scale{
.productImg_right_item_like,.productImg_right_item_scale,.productImg_right_item_menu{
display: none;
position: absolute;
top: 1rem;
@@ -712,12 +767,34 @@ export default defineComponent({
color: red;
}
}
.productImg_right_item_menu{
ul{
top: 100%;
position: absolute;
width: 10rem;
text-align: center;
border-radius: calc(1rem*1.2);
overflow: hidden;
li{
background: #cccccc;
}
li:hover{
// background: rgba(0,0,0,.4);
background: #999999;
color: #000;
}
}
}
.iconLeft{
left: 2rem;
right: auto;
}
.productImg_right_item_scale{
top: 4rem;
}
}
.productImg_right_item:hover{
.productImg_right_item_like,.productImg_right_item_scale{
.productImg_right_item_like,.productImg_right_item_scale,.productImg_right_item_menu{
display: block;
}
}