部分bug修复和对话中的图片过期处理

This commit is contained in:
X1627315083
2025-06-20 11:36:44 +08:00
parent c054dca2e8
commit 318fcc634f
21 changed files with 477 additions and 133 deletions

View File

@@ -23,7 +23,7 @@
<div class="" v-if="item.status == 'uploading'" style="display: flex;align-items: center;">
<a-spin size="large" />
</div>
<img v-show="item.status != 'uploading'" :src="item.imgUrl || item.url" alt="">
<img v-show="item.status != 'uploading'" :src="item.designOutfitUrl || item.imgUrl || item.url" alt="">
<div v-show="item.status != 'uploading'" class="btnBox">
<div :class="{active:item.isChecked}">
<i class="fi fi-br-check"></i>
@@ -34,7 +34,7 @@
</div>
<!-- <a-checkbox v-model:checked="item.isChecked"></a-checkbox> -->
</div>
<div class="upload_item item">
<div class="upload_item item" v-show="!isDesignPage">
<div class="upload_file_item">
<a-upload
:action="uploadUrl + '/api/history/toProductImageElementUpload'"
@@ -147,7 +147,7 @@
</span>
</div>
<div class="content">
<generalDrag ref="generalDragLeft" :type="productimgMenu.value" @setBtn="selectSetBtn" :isDelete="false" :isLike="true" :list="likeList[productimgMenu.value]"></generalDrag>
<generalDrag ref="generalDragLeft" :type="productimgMenu.value" :isCopy="!isDesignPage" @setBtn="selectSetBtn" :isDelete="false" :isLike="true" :list="likeList[productimgMenu.value]"></generalDrag>
</div>
<!-- </div> -->
@@ -167,7 +167,7 @@
</span>
</div>
<div class="content">
<generalDrag ref="generalDragRight" :type="productimgMenu.value" @setBtn="generateSetBtn" :list="generateList" :showMark="isShowMark"></generalDrag>
<generalDrag ref="generalDragRight" :type="productimgMenu.value" :isCopy="!isDesignPage" @setBtn="generateSetBtn" :list="generateList" :showMark="isShowMark"></generalDrag>
</div>
</div>
</div>
@@ -210,7 +210,24 @@ export default defineComponent({
scaleImage,
generalMenu,UpgradePlan,generalDrag
},
props: ['setTask','productimgMenu'],
props:{
setTask:{
type:Object,
default:()=>{
return {}
}
},
productimgMenu:{
type:Object,
default:()=>{
return {}
}
},
isDesignPage:{
type:Boolean,
default:false,
},
},
setup(props,{emit}) {
const store = useStore();
let userDetail:any= computed(()=>{
@@ -224,7 +241,7 @@ export default defineComponent({
return store.state.Guide.guide
})
const route = useRoute()
const createProbject:any = inject('createProbject')
const createProbject:any = inject('createProbject',()=>{})
let productImgData:any = reactive({
isShowMark:false,
fileList:{},
@@ -283,6 +300,7 @@ export default defineComponent({
},
);
watch(()=>store.state.HomeStoreModule.uploadElement.length,(newVal,oldVal)=>{
if(props.isDesignPage)return
productImgData.fileList[props.productimgMenu.value] = store.state.HomeStoreModule.uploadElement
})
const productImgDom = reactive({
@@ -315,7 +333,6 @@ export default defineComponent({
}
])
let RelightDirection:any = ref(RelightDirectionList.value[0].value)
let selectList:any = ref({})
// let likeDesignCollectionList: any = computed(() => {
// return store.state.HomeStoreModule.likeDesignCollectionList;
// });
@@ -323,14 +340,17 @@ export default defineComponent({
return store.state.UploadFilesModule.modularData;
});
let userlikeGroupId = 0
const openSetData = ()=>{
const openSetData = (designList:any)=>{
// cleardata()
if(props.productimgMenu.value == 'ToProductImage'){
selectList.value['ToProductImage'] = JSON.parse(JSON.stringify(selectDesignList.value.design.likeData))
}else if(props.productimgMenu.value == 'Relight'){
selectList.value['Relight'] = JSON.parse(JSON.stringify(selectDesignList.value.toProduct))
// if(props.productimgMenu.value == 'ToProductImage'){
// selectList.value['ToProductImage'] = JSON.parse(JSON.stringify(selectDesignList.value.design.likeData))
// }else if(props.productimgMenu.value == 'Relight'){
// selectList.value['Relight'] = JSON.parse(JSON.stringify(selectDesignList.value.toProduct))
// }
if(props.isDesignPage){
productImgData.fileList[props.productimgMenu.value] = designList
return
}
userlikeGroupId = selectDesignList.value.userlikeGroupId
// getLikeProductImage(selectDesignList.value.userlikeGroupId)
productImgDom.generalDragLeft.setItemPosition()
@@ -378,7 +398,6 @@ export default defineComponent({
}
let cleardata = ()=>{
productImgData.generateList = []
selectList.value = {}
// props.productimgMenu = productimgMenuList.value[0]
}
@@ -404,6 +423,7 @@ export default defineComponent({
bor = false
}
}
let isSelectObject = false
let beforeUpload = async (file: any)=>{
const isJpgOrPng =
file.type === "image/jpeg" ||
@@ -417,10 +437,12 @@ export default defineComponent({
if (!isLt2M) {
message.info(useI18n().t('MoodboardUpload.jsContent4'));
}
if(!productImgData.selectObject.id){
if(!productImgData.selectObject.id && !isSelectObject){
isSelectObject = true
productImgData.selectObject.id = await createProbject()
upload.value = {
projectId:productImgData.selectObject.id
projectId:productImgData.selectObject.id,
CollectionType:props.productimgMenu.value,
}
}
return (isJpgOrPng && isLt2M) || Upload.LIST_IGNORE;
@@ -446,7 +468,9 @@ export default defineComponent({
let likeFile = (item:any,str:any,index:any) =>{
let url
let data = {
toProductImageResultId:[item.id]
toProductImageResultId:[item.id],
projectId: store.state.Workspace.probjects.id,
collectionSortParentId:props.isDesignPage?item.parentId:'',
}
if(str == 'like'){
url = Https.httpUrls.productImageLike
@@ -504,26 +528,17 @@ export default defineComponent({
if(productImgData.fileList[props.productimgMenu.value]){
productImgData.fileList[props.productimgMenu.value].forEach((item:any)=>{
if(item.isChecked){
obj.elementId = item.id
obj.elementType = item.type || 'ProductElement'
selectArr.push(JSON.parse(JSON.stringify(obj)))
}
})
}
if(selectList.value[props.productimgMenu.value]){
selectList.value[props.productimgMenu.value].forEach((item:any)=>{
if(item.isChecked){
obj.elementId = item.designOutfitId
obj.elementType = 'DesignOutfit'
if(props.productimgMenu.value == 'Relight'){
if(item.resultType == 'Design'){
obj.elementId = item.designOutfitId
obj.elementType = 'DesignOutfit'
}else{
obj.elementId = item.id
obj.elementType = 'ToProductImage'
obj.elementType = item.type || 'ProductElement'
}
selectArr.push(JSON.parse(JSON.stringify(obj)))
}
})
}
if(selectArr.length == 0) {
message.info(t('ProductImg.jsContent2'))
return
@@ -612,11 +627,12 @@ export default defineComponent({
let index = productImgData.generateList.findIndex((obj:any) => obj.taskId === element.taskId);
productImgData.generateList[index] = element
// productImgData.generateList[props.productimgMenu.value].unshift(element)
data = data.filter((item:any) => item !== element.taskId);
}else if(element.status == 'Fail'){
let index = productImgData.generateList.findIndex((obj:any) => obj.taskId === element.taskId);
productImgData.generateList.splice(index,1)
data = data.filter((item:any) => item !== element.taskId);
}
data = data.filter((item:any) => item !== element.taskId);
});
generateProceedList = data
if((data.length == 0)|| (rv.filter((item:any)=>item.status == 'Invalid').length ==data.length)){
@@ -796,7 +812,6 @@ export default defineComponent({
RelightDirectionList,
RelightDirection,
selectList,
setproduct,
fileUploadChange,
beforeUpload,